From 356125b143545a76bf51fbe44022b64c8ae43125 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Tue, 17 May 2022 18:49:39 +0800 Subject: [PATCH 001/229] add infoNCE --- ding/utils/mi_estimator.py | 99 +++++++++++++++++++++++++++ ding/utils/tests/test_mi_estimator.py | 46 +++++++++++++ 2 files changed, 145 insertions(+) create mode 100644 ding/utils/mi_estimator.py create mode 100644 ding/utils/tests/test_mi_estimator.py diff --git a/ding/utils/mi_estimator.py b/ding/utils/mi_estimator.py new file mode 100644 index 0000000000..6191c77445 --- /dev/null +++ b/ding/utils/mi_estimator.py @@ -0,0 +1,99 @@ +from typing import Union +from ding.utils import SequenceType +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.model import ConvEncoder, FCEncoder + + +class ContrastiveLoss(nn.Module): + """ + The class for contrastive learning losses. + Only InfoNCE loss supported currently. + """ + + def __init__( + self, + x_dim: Union[int, SequenceType], + y_dim: Union[int, SequenceType], + heads: SequenceType = [1, 1], + embed_dim: int = 64, + loss_type: str = "infonce", + temperature: float = 1.0, + ) -> None: + """ + Args: + x_dim: input dimensions for x, both obs shape and encoding shape are supported. + y_dim: input dimensions for y, both obs shape and encoding shape are supported. + heads: a list of 2 int elems, heads[0] for x and head[1] for y. + Used in multi-head, global-local, local-local MI maximization process. + loss_type: only InfoNCE loss supported currently. + temperature: the parameter to adjust the log_softmax. + """ + super(ContrastiveLoss, self).__init__() + assert len(heads) == 2 + assert loss_type.lower() in ["infonce"] + + self._type = loss_type.lower() + self._embed_dim = embed_dim + self._heads = heads + self._x_encoder = self._get_encoder(x_dim, heads[0]) + self._y_encoder = self._get_encoder(y_dim, heads[1]) + self._temperature = temperature + + def _get_encoder(self, obs: Union[int, SequenceType], heads: int): + if isinstance(obs, int): + obs = [obs] + assert len(obs) in [1, 3] + + if len(obs) == 1: + hidden_size_list = [128, 128, self._embed_dim * heads] + encoder = FCEncoder(obs[0], hidden_size_list) + else: + hidden_size_list = [32, 64, 64, self._embed_dim * heads] + encoder = ConvEncoder(obs, hidden_size_list) + return encoder + + def forward(self, x: torch.Tensor, y: torch.Tensor): + ''' + Computes the noise contrastive estimation-based loss, a.k.a. infoNCE. + Args: + x: the input x, both raw obs and encoding are supported. + y: the input y, both raw obs and encoding are supported. + Returns: + torch.Tensor: loss value. + ''' + + N = x.size(0) + x_heads, y_heads = self._heads + x = self._x_encoder.forward(x).reshape(N, x_heads, self._embed_dim) + y = self._y_encoder.forward(y).reshape(N, y_heads, self._embed_dim) + + x_n = x.reshape(-1, self._embed_dim) + y_n = y.reshape(-1, self._embed_dim) + + # Inner product for positive samples. Outer product for negative. We need to do it this way + # for the multiclass loss. For the outer product, we want a N x N x n_local x n_multi tensor. + u_pos = torch.matmul(x, y.permute(0, 2, 1)).unsqueeze(2) + u_all = torch.mm(y_n, x_n.t()).reshape(N, y_heads, N, x_heads).permute(0, 2, 3, 1) + + # We need to mask the diagonal part of the negative tensor. + mask = torch.eye(N)[:, :, None, None].to(x.device) + n_mask = 1 - mask + + # Masking is done by shifting the diagonal before exp. + u_neg = (n_mask * u_all) - (10. * (1 - n_mask)) # mask out "self" examples, all diagonals are set to -10. + u_neg = u_neg.reshape(N, N * x_heads, y_heads).unsqueeze(dim=1).expand(-1, x_heads, -1, -1) + + # Since this is multiclass, we concat the positive along the class dimension before performing log softmax. + pred_lgt = torch.cat([u_pos, u_neg], dim=2) + pred_log = F.log_softmax(pred_lgt * self._temperature, dim=2) + + # The positive score is the first element of the log softmax. + loss = -pred_log[:, :, 0].mean() + return loss + + def __call__(self, x: torch.Tensor, y: torch.Tensor): + with torch.no_grad(): + out = self.forward(x, y) + return out diff --git a/ding/utils/tests/test_mi_estimator.py b/ding/utils/tests/test_mi_estimator.py new file mode 100644 index 0000000000..1eb56ecdc4 --- /dev/null +++ b/ding/utils/tests/test_mi_estimator.py @@ -0,0 +1,46 @@ +import pytest +import numpy as np +import torch +from ding.utils.mi_estimator import ContrastiveLoss +from torch.utils.data import TensorDataset, DataLoader +# from torch.utils.tensorboard import SummaryWriter + + +@pytest.mark.benchmark +@pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) +def test_infonce_loss(noise): + batch_size = 64 + N_batch = 100 + x_dim = [batch_size * N_batch, 16] + + embed_dim = 16 + x = np.random.normal(0, 1, size=x_dim) + y = x ** 2 + noise * np.random.normal(0, 1, size=x_dim) + + estimator = ContrastiveLoss(x.shape[1:], y.shape[1:], embed_dim=embed_dim) + dataset = TensorDataset(torch.Tensor(x), torch.Tensor(y)) + dataloader = DataLoader(dataset, batch_size=batch_size) + optimizer = torch.optim.Adam(estimator.parameters(), lr=3e-4) + # writer = SummaryWriter() + for epoch in range(10): + train_loss = 0. + test_loss = 0. + for inputs in dataloader: + x, y = inputs + optimizer.zero_grad() + loss = estimator.forward(x, y) + loss.backward() + optimizer.step() + train_loss += loss.item() + + with torch.no_grad(): + for inputs in dataloader: + x, y = inputs + outputs = estimator.forward(x, y) + test_loss += outputs + + # writer.add_scalar('Loss/train', train_loss / N_batch, epoch) + # writer.add_scalar('Loss/train', test_loss / N_batch, epoch) + # print('epoch {}: train loss {:.4f}, test_loss {:.4f}'.format(epoch, \ + # train_loss / N_batch, test_loss / N_batch)) + # writer.close() From dab8d4bd1294de2849125d1b186fc429396a2a68 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 19 May 2022 18:22:07 +0800 Subject: [PATCH 002/229] refine infonce test --- ding/utils/mi_estimator.py | 11 ++++++++--- ding/utils/tests/test_mi_estimator.py | 24 +++++++++--------------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/ding/utils/mi_estimator.py b/ding/utils/mi_estimator.py index 6191c77445..6eb5c2ed86 100644 --- a/ding/utils/mi_estimator.py +++ b/ding/utils/mi_estimator.py @@ -10,6 +10,8 @@ class ContrastiveLoss(nn.Module): """ The class for contrastive learning losses. Only InfoNCE loss supported currently. + Code Reference: https://github.com/rdevon/DIM. + paper: https://arxiv.org/abs/1808.06670. """ def __init__( @@ -23,8 +25,8 @@ def __init__( ) -> None: """ Args: - x_dim: input dimensions for x, both obs shape and encoding shape are supported. - y_dim: input dimensions for y, both obs shape and encoding shape are supported. + x_dim: input dimensions for x, both the obs shape and the encoding shape are supported. + y_dim: input dimensions for y, both the obs shape and the encoding shape are supported. heads: a list of 2 int elems, heads[0] for x and head[1] for y. Used in multi-head, global-local, local-local MI maximization process. loss_type: only InfoNCE loss supported currently. @@ -51,7 +53,10 @@ def _get_encoder(self, obs: Union[int, SequenceType], heads: int): encoder = FCEncoder(obs[0], hidden_size_list) else: hidden_size_list = [32, 64, 64, self._embed_dim * heads] - encoder = ConvEncoder(obs, hidden_size_list) + if obs[-1] >= 36: + encoder = ConvEncoder(obs, hidden_size_list) + else: + encoder = ConvEncoder(obs, hidden_size_list, kernel_size=[4, 3, 2], stride=[2, 1, 1]) return encoder def forward(self, x: torch.Tensor, y: torch.Tensor): diff --git a/ding/utils/tests/test_mi_estimator.py b/ding/utils/tests/test_mi_estimator.py index 1eb56ecdc4..97bc423f12 100644 --- a/ding/utils/tests/test_mi_estimator.py +++ b/ding/utils/tests/test_mi_estimator.py @@ -3,15 +3,15 @@ import torch from ding.utils.mi_estimator import ContrastiveLoss from torch.utils.data import TensorDataset, DataLoader -# from torch.utils.tensorboard import SummaryWriter -@pytest.mark.benchmark +@pytest.mark.unittest @pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) -def test_infonce_loss(noise): - batch_size = 64 - N_batch = 100 - x_dim = [batch_size * N_batch, 16] +@pytest.mark.parametrize('dims', [[16], [1, 16, 16]]) +def test_infonce_loss(noise, dims): + batch_size = 128 + N_batch = 10 + x_dim = [batch_size * N_batch] + dims embed_dim = 16 x = np.random.normal(0, 1, size=x_dim) @@ -21,8 +21,8 @@ def test_infonce_loss(noise): dataset = TensorDataset(torch.Tensor(x), torch.Tensor(y)) dataloader = DataLoader(dataset, batch_size=batch_size) optimizer = torch.optim.Adam(estimator.parameters(), lr=3e-4) - # writer = SummaryWriter() - for epoch in range(10): + + for epoch in range(3): train_loss = 0. test_loss = 0. for inputs in dataloader: @@ -37,10 +37,4 @@ def test_infonce_loss(noise): for inputs in dataloader: x, y = inputs outputs = estimator.forward(x, y) - test_loss += outputs - - # writer.add_scalar('Loss/train', train_loss / N_batch, epoch) - # writer.add_scalar('Loss/train', test_loss / N_batch, epoch) - # print('epoch {}: train loss {:.4f}, test_loss {:.4f}'.format(epoch, \ - # train_loss / N_batch, test_loss / N_batch)) - # writer.close() + test_loss += outputs.item() From b7bbc59a3cbe36b673bebddba8b31883fde1e40a Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 12:11:22 +0800 Subject: [PATCH 003/229] add dim --- ding/policy/__init__.py | 2 +- ding/policy/dqn.py | 228 +++++++++++++++++++++++++++++++++++++ ding/utils/mi_estimator.py | 16 +-- 3 files changed, 237 insertions(+), 9 deletions(-) diff --git a/ding/policy/__init__.py b/ding/policy/__init__.py index 67a2eae4dd..8348c1cdcb 100644 --- a/ding/policy/__init__.py +++ b/ding/policy/__init__.py @@ -1,5 +1,5 @@ from .base_policy import Policy, CommandModePolicy, create_policy, get_policy_cls -from .dqn import DQNPolicy +from .dqn import DQNAuxPolicy, DQNPolicy from .iqn import IQNPolicy from .qrdqn import QRDQNPolicy from .c51 import C51Policy diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index 58122bcaf1..ac48a85acd 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -10,6 +10,7 @@ from ding.utils.data import default_collate, default_decollate from .base_policy import Policy from .common_utils import default_preprocess_learn +from ding.utils.mi_estimator import ContrastiveLoss @POLICY_REGISTRY.register('dqn') @@ -381,3 +382,230 @@ def default_model(self) -> Tuple[str, List[str]]: by import_names path. For DQN, ``ding.model.template.q_learning.DQN`` """ return 'dqn', ['ding.model.template.q_learning'] + + +@POLICY_REGISTRY.register('dqn_aux') +class DQNAuxPolicy(DQNPolicy): + """ + Overview: + Policy class of DQN algorithm, extended by auxiliary objectives. + Config: + == ==================== ======== ============== ======================================== ======================= + ID Symbol Type Default Value Description Other(Shape) + == ==================== ======== ============== ======================================== ======================= + 1 ``type`` str dqn | RL policy register name, refer to | This arg is optional, + | registry ``POLICY_REGISTRY`` | a placeholder + 2 ``cuda`` bool False | Whether to use cuda for network | This arg can be diff- + | erent from modes + 3 ``on_policy`` bool False | Whether the RL algorithm is on-policy + | or off-policy + 4 ``priority`` bool False | Whether use priority(PER) | Priority sample, + | update priority + 5 | ``priority_IS`` bool False | Whether use Importance Sampling Weight + | ``_weight`` | to correct biased update. If True, + | priority must be True. + 6 | ``discount_`` float 0.97, | Reward's future discount factor, aka. | May be 1 when sparse + | ``factor`` [0.95, 0.999] | gamma | reward env + 7 ``nstep`` int 1, | N-step reward discount sum for target + [3, 5] | q_value estimation + 8 | ``learn.update`` int 3 | How many updates(iterations) to train | This args can be vary + | ``per_collect`` | after collector's one collection. Only | from envs. Bigger val + | valid in serial training | means more off-policy + 9 | ``learn.multi`` bool False | whether to use multi gpu during + | ``_gpu`` + 10 | ``learn.batch_`` int 64 | The number of samples of an iteration + | ``size`` + 11 | ``learn.learning`` float 0.001 | Gradient step length of an iteration. + | ``_rate`` + 12 | ``learn.target_`` int 100 | Frequence of target network update. | Hard(assign) update + | ``update_freq`` + 13 | ``learn.ignore_`` bool False | Whether ignore done for target value | Enable it for some + | ``done`` | calculation. | fake termination env + 14 ``collect.n_sample`` int [8, 128] | The number of training samples of a | It varies from + | call of collector. | different envs + 15 | ``collect.unroll`` int 1 | unroll length of an iteration | In RNN, unroll_len>1 + | ``_len`` + 16 | ``other.eps.type`` str exp | exploration rate decay type | Support ['exp', + | 'linear']. + 17 | ``other.eps.`` float 0.95 | start value of exploration rate | [0,1] + | ``start`` + 18 | ``other.eps.`` float 0.1 | end value of exploration rate | [0,1] + | ``end`` + 19 | ``other.eps.`` int 10000 | decay length of exploration | greater than 0. set + | ``decay`` | decay=10000 means + | the exploration rate + | decay from start + | value to end value + | during decay length. + 20 | ``loss_ratio`` float 0.01 | the ratio of auxiliary loss to main | any real value, + | loss | typically [-0.1, 0.1]. + == ==================== ======== ============== ======================================== ======================= + """ + + config = dict( + type='dqn', + # (bool) Whether use cuda in policy + cuda=False, + # (bool) Whether learning policy is the same as collecting data policy(on-policy) + on_policy=False, + # (bool) Whether enable priority experience sample + priority=False, + # (bool) Whether use Importance Sampling Weight to correct biased update. If True, priority must be True. + priority_IS_weight=False, + # (float) Discount factor(gamma) for returns + discount_factor=0.97, + # (int) The number of step for calculating target q_value + nstep=1, + learn=dict( + # (bool) Whether to use multi gpu + multi_gpu=False, + # How many updates(iterations) to train after collector's one collection. + # Bigger "update_per_collect" means bigger off-policy. + # collect data -> update policy-> collect data -> ... + update_per_collect=3, + # (int) How many samples in a training batch + batch_size=64, + # (float) The step size of gradient descent + learning_rate=0.001, + # ============================================================== + # The following configs are algorithm-specific + # ============================================================== + # (int) Frequence of target network update. + target_update_freq=100, + # (bool) Whether ignore done(usually for max step termination env) + ignore_done=False, + ), + # collect_mode config + collect=dict( + # (int) Only one of [n_sample, n_episode] shoule be set + # n_sample=8, + # (int) Cut trajectories into pieces with length "unroll_len". + unroll_len=1, + ), + eval=dict(), + # other config + other=dict( + # Epsilon greedy with decay. + eps=dict( + # (str) Decay type. Support ['exp', 'linear']. + type='exp', + # (float) Epsilon start value + start=0.95, + # (float) Epsilon end value + end=0.1, + # (int) Decay length(env step) + decay=10000, + ), + replay_buffer=dict(replay_buffer_size=10000, ), + ), + loss_ratio=0.01, + ) + + def _init_learn(self) -> None: + super()._init_learn() + self._main_encoder = self._model.encoder + x_size, y_size = self._get_encoding_size() + self._aux_model = ContrastiveLoss(x_size, y_size, **self._cfg.aux_model) + if self._cuda: + self._aux_model.cuda() + self._aux_optimizer = Adam(self._aux_model.parameters(), lr=self._cfg.learn.learning_rate) + self._aux_ratio = self._cfg.loss_ratio + + def _get_encoding_size(self): + test_data = { + "obs": torch.randn(1, *self._cfg.model.obs_shape), + "next_obs": torch.randn(1, *self._cfg.model.obs_shape), + } + with torch.no_grad(): + x, y = self._aux_encode(test_data) + return x.size()[1:], y.size()[1:] + + def _aux_encode(self, data): + x = data["obs"] + y = self._main_encoder(data["obs"]) + return x, y + + def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: + """ + Overview: + Forward computation graph of learn mode(updating policy). + Arguments: + - data (:obj:`Dict[str, Any]`): Dict type data, a batch of data for training, values are torch.Tensor or \ + np.ndarray or dict/list combinations. + Returns: + - info_dict (:obj:`Dict[str, Any]`): Dict type data, a info dict indicated training result, which will be \ + recorded in text log and tensorboard, values are python scalar or a list of scalars. + ArgumentsKeys: + - necessary: ``obs``, ``action``, ``reward``, ``next_obs``, ``done`` + - optional: ``value_gamma``, ``IS`` + ReturnsKeys: + - necessary: ``cur_lr``, ``total_loss``, ``priority`` + - optional: ``action_distribution`` + """ + data = default_preprocess_learn( + data, + use_priority=self._priority, + use_priority_IS_weight=self._cfg.priority_IS_weight, + ignore_done=self._cfg.learn.ignore_done, + use_nstep=True + ) + if self._cuda: + data = to_device(data, self._device) + + # ==================== + # Q-learning forward + # ==================== + self._learn_model.train() + self._target_model.train() + # Current q value (main model) + q_value = self._learn_model.forward(data['obs'])['logit'] + # Target q value + with torch.no_grad(): + target_q_value = self._target_model.forward(data['next_obs'])['logit'] + # Max q value action (main model) + target_q_action = self._learn_model.forward(data['next_obs'])['action'] + + # ====================== + # Auxiliary model update + # ====================== + with torch.no_grad(): + x, y = self._aux_encode(data) + aux_loss_learn = self._aux_model.forward(x, y) + self._aux_optimizer.zero_grad() + aux_loss_learn.backward() + self._aux_optimizer.step() + + data_n = q_nstep_td_data( + q_value, target_q_value, data['action'], target_q_action, data['reward'], data['done'], data['weight'] + ) + value_gamma = data.get('value_gamma') + loss, td_error_per_sample = q_nstep_td_error(data_n, self._gamma, nstep=self._nstep, value_gamma=value_gamma) + + # ====================== + # Compute auxiliary loss + # ====================== + aux_loss_eval = self._aux_model.forward(x, y) * self._aux_ratio + loss += aux_loss_eval + + # ==================== + # Q-learning update + # ==================== + self._optimizer.zero_grad() + loss.backward() + if self._cfg.learn.multi_gpu: + self.sync_gradients(self._learn_model) + self._optimizer.step() + + # ============= + # after update + # ============= + self._target_model.update(self._learn_model.state_dict()) + return { + 'cur_lr': self._optimizer.defaults['lr'], + 'total_loss': loss.item(), + 'aux_loss': aux_loss_eval.item(), + 'q_value': q_value.mean().item(), + 'priority': td_error_per_sample.abs().tolist(), + # Only discrete action satisfying len(data['action'])==1 can return this and draw histogram on tensorboard. + # '[histogram]action_distribution': data['action'], + } diff --git a/ding/utils/mi_estimator.py b/ding/utils/mi_estimator.py index 6eb5c2ed86..c99fa7b0cb 100644 --- a/ding/utils/mi_estimator.py +++ b/ding/utils/mi_estimator.py @@ -19,7 +19,7 @@ def __init__( x_dim: Union[int, SequenceType], y_dim: Union[int, SequenceType], heads: SequenceType = [1, 1], - embed_dim: int = 64, + encode_shape: int = 64, loss_type: str = "infonce", temperature: float = 1.0, ) -> None: @@ -37,7 +37,7 @@ def __init__( assert loss_type.lower() in ["infonce"] self._type = loss_type.lower() - self._embed_dim = embed_dim + self._encode_shape = encode_shape self._heads = heads self._x_encoder = self._get_encoder(x_dim, heads[0]) self._y_encoder = self._get_encoder(y_dim, heads[1]) @@ -49,10 +49,10 @@ def _get_encoder(self, obs: Union[int, SequenceType], heads: int): assert len(obs) in [1, 3] if len(obs) == 1: - hidden_size_list = [128, 128, self._embed_dim * heads] + hidden_size_list = [128, 128, self._encode_shape * heads] encoder = FCEncoder(obs[0], hidden_size_list) else: - hidden_size_list = [32, 64, 64, self._embed_dim * heads] + hidden_size_list = [32, 64, 64, self._encode_shape * heads] if obs[-1] >= 36: encoder = ConvEncoder(obs, hidden_size_list) else: @@ -71,11 +71,11 @@ def forward(self, x: torch.Tensor, y: torch.Tensor): N = x.size(0) x_heads, y_heads = self._heads - x = self._x_encoder.forward(x).reshape(N, x_heads, self._embed_dim) - y = self._y_encoder.forward(y).reshape(N, y_heads, self._embed_dim) + x = self._x_encoder.forward(x).reshape(N, x_heads, self._encode_shape) + y = self._y_encoder.forward(y).reshape(N, y_heads, self._encode_shape) - x_n = x.reshape(-1, self._embed_dim) - y_n = y.reshape(-1, self._embed_dim) + x_n = x.reshape(-1, self._encode_shape) + y_n = y.reshape(-1, self._encode_shape) # Inner product for positive samples. Outer product for negative. We need to do it this way # for the multiclass loss. For the outer product, we want a N x N x n_local x n_multi tensor. From 4516c04ea79be2e5d99c83560e008a294e71f47a Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 14:02:57 +0800 Subject: [PATCH 004/229] fix style and pytest --- ding/policy/dqn.py | 3 ++- ding/utils/tests/test_mi_estimator.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index ac48a85acd..6b5028d225 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -438,7 +438,8 @@ class DQNAuxPolicy(DQNPolicy): | value to end value | during decay length. 20 | ``loss_ratio`` float 0.01 | the ratio of auxiliary loss to main | any real value, - | loss | typically [-0.1, 0.1]. + | loss | typically in + | [-0.1, 0.1]. == ==================== ======== ============== ======================================== ======================= """ diff --git a/ding/utils/tests/test_mi_estimator.py b/ding/utils/tests/test_mi_estimator.py index 97bc423f12..f840cd2ebb 100644 --- a/ding/utils/tests/test_mi_estimator.py +++ b/ding/utils/tests/test_mi_estimator.py @@ -5,7 +5,7 @@ from torch.utils.data import TensorDataset, DataLoader -@pytest.mark.unittest +@pytest.mark.lxl @pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) @pytest.mark.parametrize('dims', [[16], [1, 16, 16]]) def test_infonce_loss(noise, dims): @@ -13,11 +13,11 @@ def test_infonce_loss(noise, dims): N_batch = 10 x_dim = [batch_size * N_batch] + dims - embed_dim = 16 + encode_shape = 16 x = np.random.normal(0, 1, size=x_dim) y = x ** 2 + noise * np.random.normal(0, 1, size=x_dim) - estimator = ContrastiveLoss(x.shape[1:], y.shape[1:], embed_dim=embed_dim) + estimator = ContrastiveLoss(x.shape[1:], y.shape[1:], encode_shape=encode_shape) dataset = TensorDataset(torch.Tensor(x), torch.Tensor(y)) dataloader = DataLoader(dataset, batch_size=batch_size) optimizer = torch.optim.Adam(estimator.parameters(), lr=3e-4) From c966469035c51e76eba5eec4112f94d115f30d13 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 14:17:02 +0800 Subject: [PATCH 005/229] fix style and pytest --- ding/policy/dqn.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index 6b5028d225..c4c5e16500 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -438,7 +438,7 @@ class DQNAuxPolicy(DQNPolicy): | value to end value | during decay length. 20 | ``loss_ratio`` float 0.01 | the ratio of auxiliary loss to main | any real value, - | loss | typically in + | loss | typically in | [-0.1, 0.1]. == ==================== ======== ============== ======================================== ======================= """ From b27c3dbea0715eb4f2f85ab7765e86600327499e Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 15:22:29 +0800 Subject: [PATCH 006/229] add dqn_dim test --- ding/entry/tests/test_serial_entry.py | 14 ++++ ding/policy/dqn.py | 7 +- ding/utils/tests/test_mi_estimator.py | 2 +- .../config/serial/pong/pong_dqn_aux_config.py | 65 ++++++++++++++++++ .../config/cartpole_dqn_aux_config.py | 67 +++++++++++++++++++ 5 files changed, 152 insertions(+), 3 deletions(-) create mode 100644 dizoo/atari/config/serial/pong/pong_dqn_aux_config.py create mode 100644 dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py diff --git a/ding/entry/tests/test_serial_entry.py b/ding/entry/tests/test_serial_entry.py index f68edb4a15..7d5bc4bbc7 100644 --- a/ding/entry/tests/test_serial_entry.py +++ b/ding/entry/tests/test_serial_entry.py @@ -6,6 +6,7 @@ from ding.entry import serial_pipeline, collect_demo_data, serial_pipeline_offline from dizoo.classic_control.cartpole.config.cartpole_dqn_config import cartpole_dqn_config, cartpole_dqn_create_config +from dizoo.classic_control.cartpole.config.cartpole_dqn_aux_config import cartpole_dqn_aux_config, cartpole_dqn_aux_create_config from dizoo.classic_control.cartpole.config.cartpole_ppo_config import cartpole_ppo_config, cartpole_ppo_create_config from dizoo.classic_control.cartpole.config.cartpole_offppo_config import cartpole_offppo_config, \ cartpole_offppo_create_config @@ -101,6 +102,19 @@ def test_hybrid_mpdqn(): assert False, "pipeline fail" +@pytest.mark.unittest +def test_dqn_aux(): + config = [deepcopy(cartpole_dqn_aux_config), deepcopy(cartpole_dqn_aux_create_config)] + config[0].policy.learn.update_per_collect = 1 + config[0].exp_name = 'cartpole_dqn_aux_unittest' + try: + serial_pipeline(config, seed=0, max_train_iter=1) + except Exception: + assert False, "pipeline fail" + finally: + os.popen('rm -rf cartpole_dqn_aux_unittest') + + @pytest.mark.unittest def test_td3(): config = [deepcopy(pendulum_td3_config), deepcopy(pendulum_td3_create_config)] diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index c4c5e16500..915f6d6286 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -513,9 +513,12 @@ def _init_learn(self) -> None: self._aux_ratio = self._cfg.loss_ratio def _get_encoding_size(self): + obs = self._cfg.model.obs_shape + if isinstance(obs, int): + obs = [obs] test_data = { - "obs": torch.randn(1, *self._cfg.model.obs_shape), - "next_obs": torch.randn(1, *self._cfg.model.obs_shape), + "obs": torch.randn(1, *obs), + "next_obs": torch.randn(1, *obs), } with torch.no_grad(): x, y = self._aux_encode(test_data) diff --git a/ding/utils/tests/test_mi_estimator.py b/ding/utils/tests/test_mi_estimator.py index f840cd2ebb..dcb7d516d0 100644 --- a/ding/utils/tests/test_mi_estimator.py +++ b/ding/utils/tests/test_mi_estimator.py @@ -5,7 +5,7 @@ from torch.utils.data import TensorDataset, DataLoader -@pytest.mark.lxl +@pytest.mark.unittest @pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) @pytest.mark.parametrize('dims', [[16], [1, 16, 16]]) def test_infonce_loss(noise, dims): diff --git a/dizoo/atari/config/serial/pong/pong_dqn_aux_config.py b/dizoo/atari/config/serial/pong/pong_dqn_aux_config.py new file mode 100644 index 0000000000..86256b2b5c --- /dev/null +++ b/dizoo/atari/config/serial/pong/pong_dqn_aux_config.py @@ -0,0 +1,65 @@ +from easydict import EasyDict + +pong_dqn_aux_config = dict( + exp_name='pong_dqn_seed0', + env=dict( + collector_env_num=8, + evaluator_env_num=8, + n_evaluator_episode=8, + stop_value=20, + env_id='PongNoFrameskip-v4', + frame_stack=4, + ), + policy=dict( + cuda=True, + priority=False, + model=dict( + obs_shape=[4, 84, 84], + action_shape=6, + encoder_hidden_size_list=[128, 128, 512], + ), + aux_model=dict( + encode_shape=64, + heads = [1, 1], + loss_type = 'infonce', + temperature = 1.0, + ), + loss_ratio = 0.05, + nstep=3, + discount_factor=0.99, + learn=dict( + update_per_collect=10, + batch_size=128, + learning_rate=0.0001, + target_update_freq=500, + ), + collect=dict(n_sample=96, ), + eval=dict(evaluator=dict(eval_freq=4000, )), + other=dict( + eps=dict( + type='exp', + start=1., + end=0.05, + decay=250000, + ), + replay_buffer=dict(replay_buffer_size=100000, ), + ), + ), +) +pong_dqn_aux_config = EasyDict(pong_dqn_aux_config) +main_config = pong_dqn_aux_config +pong_dqn_aux_create_config = dict( + env=dict( + type='atari', + import_names=['dizoo.atari.envs.atari_env'], + ), + env_manager=dict(type='subprocess'), + policy=dict(type='dqn'), +) +pong_dqn_aux_create_config = EasyDict(pong_dqn_aux_create_config) +create_config = pong_dqn_aux_create_config + +if __name__ == '__main__': + # or you can enter `ding -m serial -c pong_dqn_config.py -s 0` + from ding.entry import serial_pipeline + serial_pipeline((main_config, create_config), seed=0) diff --git a/dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py b/dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py new file mode 100644 index 0000000000..8a40ee3aa1 --- /dev/null +++ b/dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py @@ -0,0 +1,67 @@ +from easydict import EasyDict + +cartpole_dqn_aux_config = dict( + exp_name='cartpole_dqn_seed0', + env=dict( + collector_env_num=8, + evaluator_env_num=5, + n_evaluator_episode=5, + stop_value=195, + replay_path='cartpole_dqn_seed0/video', + ), + policy=dict( + cuda=False, + load_path='cartpole_dqn_seed0/ckpt/ckpt_best.pth.tar', # necessary for eval + model=dict( + obs_shape=4, + action_shape=2, + encoder_hidden_size_list=[128, 128, 64], + dueling=True, + ), + aux_model=dict( + encode_shape=64, + heads = [1, 1], + loss_type = 'infonce', + temperature = 1.0, + ), + loss_ratio = 0.05, + nstep=1, + discount_factor=0.97, + learn=dict( + batch_size=64, + learning_rate=0.001, + ), + collect=dict(n_sample=8), + eval=dict(evaluator=dict(eval_freq=40, )), + other=dict( + eps=dict( + type='exp', + start=0.95, + end=0.1, + decay=10000, + ), + replay_buffer=dict(replay_buffer_size=20000, ), + ), + ), +) +cartpole_dqn_aux_config = EasyDict(cartpole_dqn_aux_config) +main_config = cartpole_dqn_aux_config +cartpole_dqn_aux_create_config = dict( + env=dict( + type='cartpole', + import_names=['dizoo.classic_control.cartpole.envs.cartpole_env'], + ), + env_manager=dict(type='base'), + policy=dict(type='dqn'), + replay_buffer=dict( + type='deque', + import_names=['ding.data.buffer.deque_buffer_wrapper'] + ), +) +cartpole_dqn_aux_create_config = EasyDict(cartpole_dqn_aux_create_config) +create_config = cartpole_dqn_aux_create_config + +if __name__ == "__main__": + # or you can enter `ding -m serial -c cartpole_dqn_config.py -s 0` + from ding.entry import serial_pipeline + serial_pipeline((main_config, create_config), seed=0) From 4bc5a7719af4d1ef382946f6863ead1cd73e98e2 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 16:24:06 +0800 Subject: [PATCH 007/229] fix style --- ding/entry/tests/test_serial_entry.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ding/entry/tests/test_serial_entry.py b/ding/entry/tests/test_serial_entry.py index 7d5bc4bbc7..db0f494004 100644 --- a/ding/entry/tests/test_serial_entry.py +++ b/ding/entry/tests/test_serial_entry.py @@ -6,7 +6,8 @@ from ding.entry import serial_pipeline, collect_demo_data, serial_pipeline_offline from dizoo.classic_control.cartpole.config.cartpole_dqn_config import cartpole_dqn_config, cartpole_dqn_create_config -from dizoo.classic_control.cartpole.config.cartpole_dqn_aux_config import cartpole_dqn_aux_config, cartpole_dqn_aux_create_config +from dizoo.classic_control.cartpole.config.cartpole_dqn_aux_config import cartpole_dqn_aux_config, \ + cartpole_dqn_aux_create_config from dizoo.classic_control.cartpole.config.cartpole_ppo_config import cartpole_ppo_config, cartpole_ppo_create_config from dizoo.classic_control.cartpole.config.cartpole_offppo_config import cartpole_offppo_config, \ cartpole_offppo_create_config From a027f6151c14c9c992d3df2d2db7abc2a1f3612f Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 20 May 2022 17:48:17 +0800 Subject: [PATCH 008/229] refine descriptions --- ding/utils/mi_estimator.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ding/utils/mi_estimator.py b/ding/utils/mi_estimator.py index c99fa7b0cb..1507757074 100644 --- a/ding/utils/mi_estimator.py +++ b/ding/utils/mi_estimator.py @@ -77,20 +77,20 @@ def forward(self, x: torch.Tensor, y: torch.Tensor): x_n = x.reshape(-1, self._encode_shape) y_n = y.reshape(-1, self._encode_shape) - # Inner product for positive samples. Outer product for negative. We need to do it this way - # for the multiclass loss. For the outer product, we want a N x N x n_local x n_multi tensor. + # Use inner product to obtain postive samples. + # [N, x_heads, encode_dim] * [N, encode_dim, y_heads] -> [N, x_heads, y_heads] u_pos = torch.matmul(x, y.permute(0, 2, 1)).unsqueeze(2) + # Use outer product to obtain all sample permutations. + # [N * x_heads, encode_dim] X [encode_dim, N * y_heads] -> [N * x_heads, N * y_heads] u_all = torch.mm(y_n, x_n.t()).reshape(N, y_heads, N, x_heads).permute(0, 2, 3, 1) - # We need to mask the diagonal part of the negative tensor. + # Mask the diagonal part to obtain the negative samples, with all diagonals setting to -10. mask = torch.eye(N)[:, :, None, None].to(x.device) n_mask = 1 - mask - - # Masking is done by shifting the diagonal before exp. - u_neg = (n_mask * u_all) - (10. * (1 - n_mask)) # mask out "self" examples, all diagonals are set to -10. + u_neg = (n_mask * u_all) - (10. * (1 - n_mask)) u_neg = u_neg.reshape(N, N * x_heads, y_heads).unsqueeze(dim=1).expand(-1, x_heads, -1, -1) - # Since this is multiclass, we concat the positive along the class dimension before performing log softmax. + # Concatenate postive and negative samples and apply log softmax. pred_lgt = torch.cat([u_pos, u_neg], dim=2) pred_log = F.log_softmax(pred_lgt * self._temperature, dim=2) From df87665b6c54fb625d50b682f06ce7ffe0f1e1a8 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 24 May 2022 14:44:17 +0800 Subject: [PATCH 009/229] initial commit of envs --- dizoo/distar/__init__.py | 0 dizoo/distar/envs/__init__.py | 1 + dizoo/distar/envs/distar_env.py | 113 ++++++ dizoo/distar/envs/test_distar_config.yaml | 16 + dizoo/distar/envs/test_distar_env.py | 63 ++++ dizoo/distar/envs/test_distar_env2.py | 333 ++++++++++++++++++ .../distar/envs/test_distar_env_time_space.py | 88 +++++ 7 files changed, 614 insertions(+) create mode 100644 dizoo/distar/__init__.py create mode 100644 dizoo/distar/envs/__init__.py create mode 100644 dizoo/distar/envs/distar_env.py create mode 100644 dizoo/distar/envs/test_distar_config.yaml create mode 100644 dizoo/distar/envs/test_distar_env.py create mode 100644 dizoo/distar/envs/test_distar_env2.py create mode 100644 dizoo/distar/envs/test_distar_env_time_space.py diff --git a/dizoo/distar/__init__.py b/dizoo/distar/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py new file mode 100644 index 0000000000..10f49bdbca --- /dev/null +++ b/dizoo/distar/envs/__init__.py @@ -0,0 +1 @@ +from .distar_env import DIStarEnv \ No newline at end of file diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py new file mode 100644 index 0000000000..4b5c2fa394 --- /dev/null +++ b/dizoo/distar/envs/distar_env.py @@ -0,0 +1,113 @@ +from distar.envs.env import SC2Env + +from ding.envs import BaseEnv +from distar.agent.default.lib.actions import ACTIONS, NUM_ACTIONS +from distar.agent.default.lib.features import MAX_DELAY, SPATIAL_SIZE, MAX_SELECTED_UNITS_NUM +from distar.pysc2.lib.action_dict import ACTIONS_STAT +import torch +import random + +class DIStarEnv(SC2Env,BaseEnv): + + def __init__(self,cfg): + super(DIStarEnv, self).__init__(cfg) + + def reset(self): + return super(DIStarEnv,self).reset() + + def close(self): + super(DIStarEnv,self).close() + + def step(self,actions): + # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') + # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) + return super(DIStarEnv,self).step(actions) + + def seed(self, seed, dynamic_seed=False): + self._random_seed = seed + + @property + def observation_space(self): + #TODO + pass + + @property + def action_space(self): + #TODO + pass + + def random_action(self, obs): + raw = obs[0]['raw_obs'].observation.raw_data + + all_unit_types = set() + self_unit_types = set() + + for u in raw.units: + # Here we select the units except “buildings that are in building progress” for simplification + if u.build_progress == 1: + all_unit_types.add(u.unit_type) + if u.alliance == 1: + self_unit_types.add(u.unit_type) + + avail_actions = [ + {0: {'exist_selected_types':[], 'exist_target_types':[]}}, + {168:{'exist_selected_types':[], 'exist_target_types':[]}} + ] # no_op and raw_move_camera don't have seleted_units + + for action_id, action in ACTIONS_STAT.items(): + exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) + exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) + + # if an action should have target, but we don't have valid target in this observation, then discard this action + if len(action['target_type']) != 0 and len(exist_target_types) == 0: + continue + + if len(exist_selected_types) > 0: + avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) + + current_action = random.choice(avail_actions) + func_id, exist_types = current_action.popitem() + + if func_id not in [0, 168]: + correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] + correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] + + num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) + + unit_tags = random.sample(correspond_selected_units, num_selected_unit) + target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None + + else: + unit_tags = [] + target_unit_tag = None + + data = { + 'func_id': func_id, + 'skip_steps': random.randint(0, MAX_DELAY - 1), + # 'skip_steps': 8, + 'queued': random.randint(0, 1), + 'unit_tags': unit_tags, + 'target_unit_tag': target_unit_tag, + 'location': ( + random.randint(0, SPATIAL_SIZE[0] - 1), + random.randint(0, SPATIAL_SIZE[1] - 1) + ) + } + return {0:[data]} + + + @property + def reward_space(self): + + #TODO + pass + + def __repr__(self): + return "DI-engine DI-star Env" + +# if __name__ == '__main__': +# no_target_unit_actions = sorted([action['func_id'] for action in ACTIONS if action['target_unit'] == False]) +# no_target_unit_actions_dict = sorted([action_id for action_id, action in ACTIONS_STAT.items() if len(action['target_type']) == 0]) +# print(no_target_unit_actions) +# print(no_target_unit_actions_dict) +# assert no_target_unit_actions == no_target_unit_actions_dict diff --git a/dizoo/distar/envs/test_distar_config.yaml b/dizoo/distar/envs/test_distar_config.yaml new file mode 100644 index 0000000000..a3322baa54 --- /dev/null +++ b/dizoo/distar/envs/test_distar_config.yaml @@ -0,0 +1,16 @@ +actor: + job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] +env: + map_name: 'KingsCove' + player_ids: ['agent1', 'bot10'] + races: ['zerg', 'zerg'] + map_size_resolutions: [True, True] # if True, ignore minimap_resolutions + minimap_resolutions: [[160, 152], [160, 152]] + realtime: False + replay_dir: '.' + random_seed: 'none' + game_steps_per_episode: 100000 + update_bot_obs: False + save_replay_episodes: 1 + update_both_obs: False + version: '4.10.0' \ No newline at end of file diff --git a/dizoo/distar/envs/test_distar_env.py b/dizoo/distar/envs/test_distar_env.py new file mode 100644 index 0000000000..6e25788431 --- /dev/null +++ b/dizoo/distar/envs/test_distar_env.py @@ -0,0 +1,63 @@ +import os +import shutil +import argparse + +from distar.ctools.utils import read_config, deep_merge_dicts +from distar.actor import Actor +import torch +import random +import time + +class TestDIstarEnv: + def __init__(self): + + cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + self._whole_cfg = cfg + self._whole_cfg.env.map_name = 'KingsCove' + + def _inference_loop(self, job={}): + from dizoo.distar.envs import DIStarEnv + import traceback + + torch.set_num_threads(1) + + self._env = DIStarEnv(self._whole_cfg) + + with torch.no_grad(): + for _ in range(5): + try: + observations, game_info, map_name = self._env.reset() + + for iter in range(1000): # one episode loop + # agent step + actions = self._env.random_action(observations) + # env step + next_observations, reward, done = self._env.step(actions) + if not done: + observations = next_observations + else: + break + + except Exception as e: + print('[EPISODE LOOP ERROR]', e, flush=True) + print(''.join(traceback.format_tb(e.__traceback__)), flush=True) + self._env.close() + self._env.close() + +if __name__ == '__main__': + + ## main + if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): + sc2path = r'C:\Program Files (x86)\StarCraft II' + elif os.path.exists('/Applications/StarCraft II'): + sc2path = '/Applications/StarCraft II' + else: + assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' + sc2path = os.environ['SC2PATH'] + assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) + if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): + shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + + ## actor_run + actor = TestDIstarEnv() + actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/test_distar_env2.py b/dizoo/distar/envs/test_distar_env2.py new file mode 100644 index 0000000000..5bc284ab3b --- /dev/null +++ b/dizoo/distar/envs/test_distar_env2.py @@ -0,0 +1,333 @@ +import os +import shutil +import argparse + +import os +import time +import traceback +import uuid +from collections import defaultdict +import torch +import torch.multiprocessing as mp +import random +import json +import platform + +from distar.agent.import_helper import import_module +from distar.ctools.utils import read_config, deep_merge_dicts +from distar.ctools.utils.log_helper import TextLogger, VariableRecord +from distar.ctools.worker.actor.actor_comm import ActorComm +from distar.actor import Actor +import torch +import random +import time + +from distar.ctools.worker.league.player import FRAC_ID +from distar_env import DIStarEnv +import traceback + +default_config = read_config('C:/Users/hjs/DI-star/distar/actor/actor_default_config.yaml') + +class TestDIstarEnv: + def __init__(self,cfg): + cfg = deep_merge_dicts(default_config, cfg) + self._whole_cfg = cfg + self._cfg = cfg.actor + self._job_type = cfg.actor.job_type + self._league_job_type = cfg.actor.get('league_job_type','test') + self._actor_uid = str(uuid.uuid1()) + self._gpu_batch_inference = self._cfg.get('gpu_batch_inference', False) + self._logger = TextLogger( + path=os.path.join(os.getcwd(), 'experiments', self._whole_cfg.common.experiment_name, 'actor_log'), + name=self._actor_uid) + if self._job_type == 'train': + self._comm = ActorComm(self._whole_cfg, self._actor_uid, self._logger) + self.max_job_duration = self._whole_cfg.communication.actor_ask_for_job_interval * random.uniform(0.7 , 1.3) + self._setup_agents() + + self._whole_cfg.env.map_name = 'KingsCove' + + def _setup_agents(self): + self.agents = [] + if self._job_type == 'train': + # comm setup agents + self._comm.ask_for_job(self) + else: + self.models = {} + map_names = [] + for idx, player_id in enumerate(self._cfg.player_ids): + if 'bot' in player_id: + continue + Agent = import_module(self._cfg.agents.get(player_id, 'default'), 'Agent') + agent = Agent(self._whole_cfg) + agent.player_id = player_id + agent.side_id = idx + self.agents.append(agent) + agent.side_id = idx + if agent.HAS_MODEL: + if player_id not in self.models.keys(): + if self._cfg.use_cuda: + assert 'test' in self._job_type, 'only test mode support gpu' + agent.model = agent.model.cuda() + else: + agent.model = agent.model.eval().share_memory() + if not self._cfg.fake_model: + state_dict = torch.load(self._cfg.model_paths[player_id], map_location='cpu') + if 'map_name' in state_dict: + map_names.append(state_dict['map_name']) + agent._fake_reward_prob = state_dict['fake_reward_prob'] + agent._z_path = state_dict['z_path'] + agent.z_idx = state_dict['z_idx'] + model_state_dict = {k: v for k, v in state_dict['model'].items() if + 'value_networks' not in k} + agent.model.load_state_dict(model_state_dict, strict=False) + self.models[player_id] = agent.model + else: + agent.model = self.models[player_id] + if len(map_names) == 1: + self._whole_cfg.env.map_name = map_names[0] + if len(map_names) == 2: + if not(map_names[0] == 'random' and map_names[1] != 'random'): + self._whole_cfg.env.map_name = 'NewRepugnancy' + if self._job_type == 'train_test': + teacher_models = {} + for idx, teacher_player_id in enumerate(self._cfg.teacher_player_ids): + if 'bot' in self._cfg.player_ids[idx]: + continue + agent = self.agents[idx] + agent.teacher_player_id = teacher_player_id + if agent.HAS_TEACHER_MODEL: + if teacher_player_id not in teacher_models.keys(): + if self._cfg.use_cuda: + agent.teacher_model = agent.teacher_model.cuda() + else: + agent.teacher_model = agent.teacher_model.eval() + if not self._cfg.fake_model: + state_dict = torch.load(self._cfg.teacher_model_paths[teacher_player_id], + map_location='cpu') + model_state_dict = {k: v for k, v in state_dict['model'].items() if + 'value_networks' not in k} + agent.teacher_model.load_state_dict(model_state_dict) + teacher_models[teacher_player_id] = agent.teacher_model + else: + agent.teacher_model = teacher_models[teacher_player_id] + + def _inference_loop(self, env_id=0, job={}, result_queue=None, pipe_c=None): + torch.set_num_threads(1) + frac_ids = job.get('frac_ids',[]) + env_info = job.get('env_info', {}) + races = [] + for frac_id in frac_ids: + races.append(random.choice(FRAC_ID[frac_id])) + if len(races) >0: + env_info['races']=races + mergerd_whole_cfg = deep_merge_dicts(self._whole_cfg, {'env': env_info}) + self._env = DIStarEnv(mergerd_whole_cfg) + + iter_count = 0 + if env_id == 0: + variable_record = VariableRecord(self._cfg.print_freq) + variable_record.register_var('agent_time') + variable_record.register_var('agent_time_per_agent') + variable_record.register_var('env_time') + if 'train' in self._job_type: + variable_record.register_var('post_process_time') + variable_record.register_var('post_process_per_agent') + variable_record.register_var('send_data_time') + variable_record.register_var('send_data_per_agent') + variable_record.register_var('send_data_per_agent') + variable_record.register_var('update_model_time') + + with torch.no_grad(): + episode_count = 0 + while episode_count < self._cfg.episode_num: + try: + game_start = time.time() + game_iters = 0 + observations, game_info, map_name = self._env.reset() + for idx in observations.keys(): + self.agents[idx].env_id = env_id + race = self._whole_cfg.env.races[idx] + self.agents[idx].reset(map_name, race, game_info[idx], observations[idx]) + + for iter in range(50): # one episode loop + # agent step + # if iter % 5 == 1: + # actions = {0: [{'func_id': 503, 'skip_steps': 0, 'queued': 0, 'unit_tags': [4350279681, 4350541825, 4350803969], + # 'target_unit_tag': 4309123073, 'location': (127, 17)}]} + # elif iter % 5 == 2: + # actions = {0: [{'func_id': 503, 'skip_steps': 9, 'queued': 0, + # 'unit_tags': [4346085377, 4346347521, 4346609665], 'target_unit_tag': 4345823233, 'location': (17, 121)}]} + # elif iter % 5 == 3: + # actions = {0: [{'func_id': 12, 'skip_steps': 8, 'queued': 0, + # 'unit_tags': [4350279681, 4350541825, 4350803969], 'target_unit_tag': 4309123073, 'location': (139, 16)}]} + # elif iter % 5 == 4: + # actions = {0: [{'func_id': 515, 'skip_steps': 3, 'queued': 0, + # 'unit_tags': [4350541825, 4350803969, 4358930433], 'target_unit_tag': 4309123073, 'location': (127, 15)}]} + # else: + # actions = {0: [{'func_id': 1, 'skip_steps': 10, 'queued': 0, + # 'unit_tags': [4354211841], 'target_unit_tag': 4350017537, 'location': (126, 27)}]} + + # agent step + agent_start_time = time.time() + agent_count = 0 + actions = {} + + players_obs = observations + for player_index, obs in players_obs.items(): + player_id = self.agents[player_index].player_id + if self._job_type == 'train': + self.agents[player_index]._model_last_iter = self._comm.model_last_iter_dict[player_id].item() + actions[player_index] = self.agents[player_index].step(obs) + agent_count += 1 + agent_time = time.time() - agent_start_time + + + # env step + env_start_time = time.time() + next_observations, reward, done = self._env.step(actions) + # print('reward: ', reward) + # print('next_observations', next_observations) + # print('done: ', done) + env_time = time.time() - env_start_time + next_players_obs = next_observations + time.sleep(1) + + # collect data + if 'train' in self._job_type: + post_process_time = 0 + post_process_count = 0 + send_data_time = 0 + send_data_count = 0 + for player_index, obs in next_players_obs.items(): + if self._job_type == 'train_test' or self.agents[player_index].player_id in self._comm.job[ + 'send_data_players']: + post_process_start_time = time.time() + traj_data = self.agents[player_index].collect_data(next_players_obs[player_index], + reward[player_index], done, player_index) + post_process_time += time.time() - post_process_start_time + post_process_count += 1 + if traj_data is not None and self._job_type == 'train': + send_data_start_time = time.time() + self._comm.send_data(traj_data, self.agents[player_index].player_id) + send_data_time += time.time() - send_data_start_time + send_data_count += 1 + else: + self.agents[player_index].update_fake_reward(next_players_obs[player_index]) + + # update log + iter_count += 1 + game_iters += 1 + if env_id == 0: + if 'train' in self._job_type: + variable_record.update_var( + {'agent_time': agent_time, + 'agent_time_per_agent': agent_time / (agent_count + 1e-6), + 'env_time': env_time, + }) + if post_process_count > 0: + variable_record.update_var( + {'post_process_time': post_process_time, + 'post_process_per_agent': post_process_time / post_process_count, + }) + if send_data_count > 0: + variable_record.update_var({ + 'send_data_time': send_data_time, + 'send_data_per_agent': send_data_time / send_data_count, + }) + + else: + variable_record.update_var({'agent_time': agent_time, + 'agent_time_per_agent': agent_time / (agent_count + 1e-6), + 'env_time': env_time, }) + self.iter_after_hook(iter_count, variable_record) + + if not done: + observations = next_observations + else: + players_obs = observations + if 'test' in self._whole_cfg and self._whole_cfg.test.get('tb_stat', False): + if not os.path.exists(self._env._result_dir): + os.makedirs(self._env._result_dir) + data = self.agents[0].get_stat_data() + path = os.path.join(self._env._result_dir, '{}_{}_{}_.json'.format(env_id, episode_count, player_index)) + with open(path, 'w') as f: + json.dump(data, f) + + if self._job_type == 'train': + player_idx = random.sample(players_obs.keys(), 1)[0] + game_steps = players_obs[player_idx]['raw_obs'].observation.game_loop + result_info = defaultdict(dict) + + for player_index in range(len(self.agents)): + player_id = self.agents[player_index].player_id + side_id = self.agents[player_index].side_id + race = self.agents[player_index].race + agent_iters = self.agents[player_index].iter_count + result_info[side_id]['race'] = race + result_info[side_id]['player_id'] = player_id + result_info[side_id]['opponent_id'] = self.agents[player_index].opponent_id + result_info[side_id]['winloss'] = reward[player_index] + result_info[side_id]['agent_iters'] = agent_iters + result_info[side_id].update(self.agents[player_index].get_unit_num_info()) + result_info[side_id].update(self.agents[player_index].get_stat_data()) + game_duration = time.time() - game_start + result_info['game_steps'] = game_steps + result_info['game_iters'] = game_iters + result_info['game_duration'] = game_duration + self._comm.send_result(result_info) + break + + except Exception as e: + print('[EPISODE LOOP ERROR]', e, flush=True) + print(''.join(traceback.format_tb(e.__traceback__)), flush=True) + self._env.close() + self._env.close() + if result_queue is not None: + print(os.getpid(), 'done') + result_queue.put('done') + time.sleep(1000000) + else: + return + def iter_after_hook(self, iter_count, variable_record): + if iter_count % self._cfg.print_freq == 0: + if hasattr(self,'_comm'): + variable_record.update_var({'update_model_time':self._comm._avg_update_model_time.item() }) + self._logger.info( + 'ACTOR({}):\n{}TimeStep{}{} {}'.format( + self._actor_uid, '=' * 35, iter_count, '=' * 35, + variable_record.get_vars_text() + ) + ) + +if __name__ == '__main__': + + ## main + if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): + sc2path = r'C:\Program Files (x86)\StarCraft II' + elif os.path.exists('/Applications/StarCraft II'): + sc2path = '/Applications/StarCraft II' + else: + assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' + sc2path = os.environ['SC2PATH'] + assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) + if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): + shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + + parser = argparse.ArgumentParser(description="rl_train") + parser.add_argument("--config", default='C:/Users/hjs/DI-star/distar/bin/user_config.yaml') + parser.add_argument("--type", default=None) + parser.add_argument("--task", default='bot') + parser.add_argument("--player_id", default='MP0') + parser.add_argument("--gpu_batch_inference", default='false') + parser.add_argument("--init_method", type=str, default=None) + parser.add_argument("--rank", type=int, default=0) + parser.add_argument("--world_size", type=int, default=1) + args = parser.parse_args() + config = read_config(args.config) + config.common.type = 'rl' + config.actor.traj_len = config.learner.data.trajectory_length + + ## actor_run + actor = TestDIstarEnv(config) + actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/test_distar_env_time_space.py b/dizoo/distar/envs/test_distar_env_time_space.py new file mode 100644 index 0000000000..d2f784a119 --- /dev/null +++ b/dizoo/distar/envs/test_distar_env_time_space.py @@ -0,0 +1,88 @@ +import os +import shutil +import argparse + +from distar.ctools.utils import read_config, deep_merge_dicts +from distar.actor import Actor +import torch +import random +import time +import sys + +class TestDIstarEnv: + def __init__(self): + + cfg = read_config('C:/Users/hjs/DI-star/ding-test/envs/test_distar_config.yaml') + self._whole_cfg = cfg + self._whole_cfg.env.map_name = 'KingsCove' + self._total_iters = 0 + self._total_time = 0 + self._total_space = 0 + + def _inference_loop(self, job={}): + from distar_env import DIStarEnv + import traceback + + torch.set_num_threads(1) + + self._env = DIStarEnv(self._whole_cfg) + + with torch.no_grad(): + for _ in range(5): + try: + observations, game_info, map_name = self._env.reset() + + for iter in range(1000): # one episode loop + # agent step + actions = self._env.random_action(observations) + # env step + before_step_time = time.time() + next_observations, reward, done = self._env.step(actions) + after_step_time = time.time() + + self._total_time += after_step_time - before_step_time + self._total_iters += 1 + self._total_space += sys.getsizeof((actions,observations,next_observations,reward,done)) + print('observations: ', sys.getsizeof(observations), ' Byte') + print('actions: ', sys.getsizeof(actions), ' Byte') + print('reward: ', sys.getsizeof(reward), ' Byte') + print('done: ', sys.getsizeof(done), ' Byte') + print('total: ', sys.getsizeof((actions,observations,next_observations,reward,done)),' Byte') + print(type(observations)) # dict + print(type(reward)) # list + print(type(done)) # bool + print(type(actions)) # dict + + + if not done: + observations = next_observations + else: + break + + except Exception as e: + print('[EPISODE LOOP ERROR]', e, flush=True) + print(''.join(traceback.format_tb(e.__traceback__)), flush=True) + self._env.close() + self._env.close() + + print('total iters:', self._total_iters) + print('average step time:', self._total_time/self._total_iters) + print('average step data space:', self._total_space/self._total_iters) + +if __name__ == '__main__': + + ## main + if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): + sc2path = r'C:\Program Files (x86)\StarCraft II' + elif os.path.exists('/Applications/StarCraft II'): + sc2path = '/Applications/StarCraft II' + else: + assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' + sc2path = os.environ['SC2PATH'] + assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) + if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): + shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + + ## actor_run + actor = TestDIstarEnv() + actor._inference_loop() \ No newline at end of file From 337684dbf81405144ca6355762d1440f3fbe448f Mon Sep 17 00:00:00 2001 From: lixuelin Date: Wed, 25 May 2022 15:53:38 +0800 Subject: [PATCH 010/229] polish infoNCE & ST-DIM --- ding/entry/tests/test_serial_entry.py | 12 +++---- ding/policy/__init__.py | 2 +- ding/policy/dqn.py | 11 +++--- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/loss/__init__.py | 1 + .../loss/contrastive_loss.py} | 36 +++++++++---------- .../loss/tests/test_contrastive_loss.py} | 14 ++++++-- ...aux_config.py => pong_dqn_stdim_config.py} | 14 ++++---- ...config.py => cartpole_dqn_stdim_config.py} | 14 ++++---- 9 files changed, 59 insertions(+), 47 deletions(-) rename ding/{utils/mi_estimator.py => torch_utils/loss/contrastive_loss.py} (73%) rename ding/{utils/tests/test_mi_estimator.py => torch_utils/loss/tests/test_contrastive_loss.py} (78%) rename dizoo/atari/config/serial/pong/{pong_dqn_aux_config.py => pong_dqn_stdim_config.py} (83%) rename dizoo/classic_control/cartpole/config/{cartpole_dqn_aux_config.py => cartpole_dqn_stdim_config.py} (82%) diff --git a/ding/entry/tests/test_serial_entry.py b/ding/entry/tests/test_serial_entry.py index db0f494004..d88d8f861b 100644 --- a/ding/entry/tests/test_serial_entry.py +++ b/ding/entry/tests/test_serial_entry.py @@ -6,8 +6,8 @@ from ding.entry import serial_pipeline, collect_demo_data, serial_pipeline_offline from dizoo.classic_control.cartpole.config.cartpole_dqn_config import cartpole_dqn_config, cartpole_dqn_create_config -from dizoo.classic_control.cartpole.config.cartpole_dqn_aux_config import cartpole_dqn_aux_config, \ - cartpole_dqn_aux_create_config +from dizoo.classic_control.cartpole.config.cartpole_dqn_stdim_config import cartpole_dqn_stdim_config, \ + cartpole_dqn_stdim_create_config from dizoo.classic_control.cartpole.config.cartpole_ppo_config import cartpole_ppo_config, cartpole_ppo_create_config from dizoo.classic_control.cartpole.config.cartpole_offppo_config import cartpole_offppo_config, \ cartpole_offppo_create_config @@ -104,16 +104,16 @@ def test_hybrid_mpdqn(): @pytest.mark.unittest -def test_dqn_aux(): - config = [deepcopy(cartpole_dqn_aux_config), deepcopy(cartpole_dqn_aux_create_config)] +def test_dqn_stdim(): + config = [deepcopy(cartpole_dqn_stdim_config), deepcopy(cartpole_dqn_stdim_create_config)] config[0].policy.learn.update_per_collect = 1 - config[0].exp_name = 'cartpole_dqn_aux_unittest' + config[0].exp_name = 'cartpole_dqn_stdim_unittest' try: serial_pipeline(config, seed=0, max_train_iter=1) except Exception: assert False, "pipeline fail" finally: - os.popen('rm -rf cartpole_dqn_aux_unittest') + os.popen('rm -rf cartpole_dqn_stdim_unittest') @pytest.mark.unittest diff --git a/ding/policy/__init__.py b/ding/policy/__init__.py index 8348c1cdcb..8fa3a10a2f 100644 --- a/ding/policy/__init__.py +++ b/ding/policy/__init__.py @@ -1,5 +1,5 @@ from .base_policy import Policy, CommandModePolicy, create_policy, get_policy_cls -from .dqn import DQNAuxPolicy, DQNPolicy +from .dqn import DQNSTDIMPolicy, DQNPolicy from .iqn import IQNPolicy from .qrdqn import QRDQNPolicy from .c51 import C51Policy diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index 915f6d6286..d3f28f440f 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -10,7 +10,7 @@ from ding.utils.data import default_collate, default_decollate from .base_policy import Policy from .common_utils import default_preprocess_learn -from ding.utils.mi_estimator import ContrastiveLoss +from ding.torch_utils import ContrastiveLoss @POLICY_REGISTRY.register('dqn') @@ -384,8 +384,8 @@ def default_model(self) -> Tuple[str, List[str]]: return 'dqn', ['ding.model.template.q_learning'] -@POLICY_REGISTRY.register('dqn_aux') -class DQNAuxPolicy(DQNPolicy): +@POLICY_REGISTRY.register('dqn_stdim') +class DQNSTDIMPolicy(DQNPolicy): """ Overview: Policy class of DQN algorithm, extended by auxiliary objectives. @@ -573,8 +573,8 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: # Auxiliary model update # ====================== with torch.no_grad(): - x, y = self._aux_encode(data) - aux_loss_learn = self._aux_model.forward(x, y) + x_no_grad, y_no_grad = self._aux_encode(data) + aux_loss_learn = self._aux_model.forward(x_no_grad, y_no_grad) self._aux_optimizer.zero_grad() aux_loss_learn.backward() self._aux_optimizer.step() @@ -588,6 +588,7 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: # ====================== # Compute auxiliary loss # ====================== + x, y = self._aux_encode(data) aux_loss_eval = self._aux_model.forward(x, y) * self._aux_ratio loss += aux_loss_eval diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index 250c468233..ca48761136 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -2,9 +2,9 @@ from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data from .distribution import CategoricalPd, CategoricalPdPytorch -from .loss import * from .metric import levenshtein_distance, hamming_distance from .network import * +from .loss import * from .optimizer_helper import Adam, RMSprop, calculate_grad_norm, calculate_grad_norm_without_bias_two_norm from .nn_test_helper import is_differentiable from .math_helper import cov diff --git a/ding/torch_utils/loss/__init__.py b/ding/torch_utils/loss/__init__.py index e2795e2747..8668e53b98 100644 --- a/ding/torch_utils/loss/__init__.py +++ b/ding/torch_utils/loss/__init__.py @@ -1,2 +1,3 @@ from .cross_entropy_loss import LabelSmoothCELoss, SoftFocalLoss, build_ce_criterion from .multi_logits_loss import MultiLogitsLoss +from .contrastive_loss import ContrastiveLoss diff --git a/ding/utils/mi_estimator.py b/ding/torch_utils/loss/contrastive_loss.py similarity index 73% rename from ding/utils/mi_estimator.py rename to ding/torch_utils/loss/contrastive_loss.py index 1507757074..0ef3eb073f 100644 --- a/ding/utils/mi_estimator.py +++ b/ding/torch_utils/loss/contrastive_loss.py @@ -16,31 +16,31 @@ class ContrastiveLoss(nn.Module): def __init__( self, - x_dim: Union[int, SequenceType], - y_dim: Union[int, SequenceType], + x_size: Union[int, SequenceType], + y_size: Union[int, SequenceType], heads: SequenceType = [1, 1], encode_shape: int = 64, - loss_type: str = "infonce", + loss_type: str = "infoNCE", # Only the InfoNCE loss is available now. temperature: float = 1.0, ) -> None: """ Args: - x_dim: input dimensions for x, both the obs shape and the encoding shape are supported. - y_dim: input dimensions for y, both the obs shape and the encoding shape are supported. + x_size: input shape for x, both the obs shape and the encoding shape are supported. + y_size: input shape for y, both the obs shape and the encoding shape are supported. heads: a list of 2 int elems, heads[0] for x and head[1] for y. Used in multi-head, global-local, local-local MI maximization process. - loss_type: only InfoNCE loss supported currently. + loss_type: only the InfoNCE loss is available now. temperature: the parameter to adjust the log_softmax. """ super(ContrastiveLoss, self).__init__() - assert len(heads) == 2 + assert len(heads) == 2, "Expected length of 2, but got: {}".format(len(heads)) assert loss_type.lower() in ["infonce"] self._type = loss_type.lower() self._encode_shape = encode_shape self._heads = heads - self._x_encoder = self._get_encoder(x_dim, heads[0]) - self._y_encoder = self._get_encoder(y_dim, heads[1]) + self._x_encoder = self._get_encoder(x_size, heads[0]) + self._y_encoder = self._get_encoder(y_size, heads[1]) self._temperature = temperature def _get_encoder(self, obs: Union[int, SequenceType], heads: int): @@ -60,42 +60,42 @@ def _get_encoder(self, obs: Union[int, SequenceType], heads: int): return encoder def forward(self, x: torch.Tensor, y: torch.Tensor): - ''' + """ Computes the noise contrastive estimation-based loss, a.k.a. infoNCE. Args: x: the input x, both raw obs and encoding are supported. y: the input y, both raw obs and encoding are supported. Returns: torch.Tensor: loss value. - ''' + """ N = x.size(0) x_heads, y_heads = self._heads - x = self._x_encoder.forward(x).reshape(N, x_heads, self._encode_shape) - y = self._y_encoder.forward(y).reshape(N, y_heads, self._encode_shape) + x = self._x_encoder.forward(x).view(N, x_heads, self._encode_shape) + y = self._y_encoder.forward(y).view(N, y_heads, self._encode_shape) - x_n = x.reshape(-1, self._encode_shape) - y_n = y.reshape(-1, self._encode_shape) + x_n = x.view(-1, self._encode_shape) + y_n = y.view(-1, self._encode_shape) # Use inner product to obtain postive samples. # [N, x_heads, encode_dim] * [N, encode_dim, y_heads] -> [N, x_heads, y_heads] u_pos = torch.matmul(x, y.permute(0, 2, 1)).unsqueeze(2) # Use outer product to obtain all sample permutations. # [N * x_heads, encode_dim] X [encode_dim, N * y_heads] -> [N * x_heads, N * y_heads] - u_all = torch.mm(y_n, x_n.t()).reshape(N, y_heads, N, x_heads).permute(0, 2, 3, 1) + u_all = torch.mm(y_n, x_n.t()).view(N, y_heads, N, x_heads).permute(0, 2, 3, 1) # Mask the diagonal part to obtain the negative samples, with all diagonals setting to -10. mask = torch.eye(N)[:, :, None, None].to(x.device) n_mask = 1 - mask u_neg = (n_mask * u_all) - (10. * (1 - n_mask)) - u_neg = u_neg.reshape(N, N * x_heads, y_heads).unsqueeze(dim=1).expand(-1, x_heads, -1, -1) + u_neg = u_neg.view(N, N * x_heads, y_heads).unsqueeze(dim=1).expand(-1, x_heads, -1, -1) # Concatenate postive and negative samples and apply log softmax. pred_lgt = torch.cat([u_pos, u_neg], dim=2) pred_log = F.log_softmax(pred_lgt * self._temperature, dim=2) # The positive score is the first element of the log softmax. - loss = -pred_log[:, :, 0].mean() + loss = -pred_log[:, :, 0, :].mean() return loss def __call__(self, x: torch.Tensor, y: torch.Tensor): diff --git a/ding/utils/tests/test_mi_estimator.py b/ding/torch_utils/loss/tests/test_contrastive_loss.py similarity index 78% rename from ding/utils/tests/test_mi_estimator.py rename to ding/torch_utils/loss/tests/test_contrastive_loss.py index dcb7d516d0..8cbdec8f03 100644 --- a/ding/utils/tests/test_mi_estimator.py +++ b/ding/torch_utils/loss/tests/test_contrastive_loss.py @@ -1,14 +1,17 @@ import pytest import numpy as np import torch -from ding.utils.mi_estimator import ContrastiveLoss from torch.utils.data import TensorDataset, DataLoader +from ding.torch_utils import ContrastiveLoss @pytest.mark.unittest @pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) -@pytest.mark.parametrize('dims', [[16], [1, 16, 16]]) +@pytest.mark.parametrize('dims', [ + [16], +]) def test_infonce_loss(noise, dims): + print_loss = False batch_size = 128 N_batch = 10 x_dim = [batch_size * N_batch] + dims @@ -38,3 +41,10 @@ def test_infonce_loss(noise, dims): x, y = inputs outputs = estimator.forward(x, y) test_loss += outputs.item() + + if print_loss: + print( + "epoch {}: test_loss: {:.4f}, \t test_loss: {:.4f}".format( + epoch, train_loss / N_batch, test_loss / N_batch + ) + ) diff --git a/dizoo/atari/config/serial/pong/pong_dqn_aux_config.py b/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py similarity index 83% rename from dizoo/atari/config/serial/pong/pong_dqn_aux_config.py rename to dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py index 86256b2b5c..2f91944bee 100644 --- a/dizoo/atari/config/serial/pong/pong_dqn_aux_config.py +++ b/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py @@ -1,7 +1,7 @@ from easydict import EasyDict -pong_dqn_aux_config = dict( - exp_name='pong_dqn_seed0', +pong_dqn_stdim_config = dict( + exp_name='pong_dqn_stdim_seed0', env=dict( collector_env_num=8, evaluator_env_num=8, @@ -46,9 +46,9 @@ ), ), ) -pong_dqn_aux_config = EasyDict(pong_dqn_aux_config) -main_config = pong_dqn_aux_config -pong_dqn_aux_create_config = dict( +pong_dqn_stdim_config = EasyDict(pong_dqn_stdim_config) +main_config = pong_dqn_stdim_config +pong_dqn_stdim_create_config = dict( env=dict( type='atari', import_names=['dizoo.atari.envs.atari_env'], @@ -56,8 +56,8 @@ env_manager=dict(type='subprocess'), policy=dict(type='dqn'), ) -pong_dqn_aux_create_config = EasyDict(pong_dqn_aux_create_config) -create_config = pong_dqn_aux_create_config +pong_dqn_stdim_create_config = EasyDict(pong_dqn_stdim_create_config) +create_config = pong_dqn_stdim_create_config if __name__ == '__main__': # or you can enter `ding -m serial -c pong_dqn_config.py -s 0` diff --git a/dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py similarity index 82% rename from dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py rename to dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py index 8a40ee3aa1..0695d91475 100644 --- a/dizoo/classic_control/cartpole/config/cartpole_dqn_aux_config.py +++ b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py @@ -1,7 +1,7 @@ from easydict import EasyDict -cartpole_dqn_aux_config = dict( - exp_name='cartpole_dqn_seed0', +cartpole_dqn_stdim_config = dict( + exp_name='cartpole_dqn_stdim_seed0', env=dict( collector_env_num=8, evaluator_env_num=5, @@ -44,9 +44,9 @@ ), ), ) -cartpole_dqn_aux_config = EasyDict(cartpole_dqn_aux_config) -main_config = cartpole_dqn_aux_config -cartpole_dqn_aux_create_config = dict( +cartpole_dqn_stdim_config = EasyDict(cartpole_dqn_stdim_config) +main_config = cartpole_dqn_stdim_config +cartpole_dqn_stdim_create_config = dict( env=dict( type='cartpole', import_names=['dizoo.classic_control.cartpole.envs.cartpole_env'], @@ -58,8 +58,8 @@ import_names=['ding.data.buffer.deque_buffer_wrapper'] ), ) -cartpole_dqn_aux_create_config = EasyDict(cartpole_dqn_aux_create_config) -create_config = cartpole_dqn_aux_create_config +cartpole_dqn_stdim_create_config = EasyDict(cartpole_dqn_stdim_create_config) +create_config = cartpole_dqn_stdim_create_config if __name__ == "__main__": # or you can enter `ding -m serial -c cartpole_dqn_config.py -s 0` From 49c481f6b4556fc7812c40894b74a042e1b157e0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 16:20:17 +0800 Subject: [PATCH 011/229] initial league actor --- .../middleware/functional/league_actor.py | 136 ++++++++++++++++++ 1 file changed, 136 insertions(+) create mode 100644 ding/framework/middleware/functional/league_actor.py diff --git a/ding/framework/middleware/functional/league_actor.py b/ding/framework/middleware/functional/league_actor.py new file mode 100644 index 0000000000..71d060b8cd --- /dev/null +++ b/ding/framework/middleware/functional/league_actor.py @@ -0,0 +1,136 @@ +from ding.framework import task +from time import sleep +import logging + +from typing import List, Any +from dataclasses import dataclass, field +from typing import TYPE_CHECKING +from abc import abstractmethod + +class Storage: + + def __init__(self, path: str) -> None: + self.path = path + + @abstractmethod + def save(self, data: Any) -> None: + raise NotImplementedError + + @abstractmethod + def load(self) -> Any: + raise NotImplementedError + +@dataclass +class PlayerMeta: + player_id: str + checkpoint: "Storage" + total_agent_step: int = 0 + +@dataclass +class Job: + launch_player: str + players: List["PlayerMeta"] + result: list = field(default_factory=list) + job_no: int = 0 # Serial number of job, not required + train_iter: int = None + is_eval: bool = False + +class Agent: + HAS_MODEL = False + HAS_TEACHER_MODEL = False + HAS_SUCCESSIVE_MODEL = False + def __init__(self, cfg=None, env_id=0): + pass + + def reset(self, map_name, race, game_info, obs): + pass + + def step(self, obs): + action = {'func_id': 0, 'skip_steps': 1, + 'queued': False, 'unit_tags': [0], + 'target_unit_tag': 0, 'location': [0, 0]} + return [action] + + +class LeagueActor: + + def __init__(self): + self._running = True + self._model_updated = True + task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) + task.on("learner_model", self._on_learner_model) + + # initialize agents + self._set_up_agents() + + def _set_up_agents(self): + """ + Initialize policy?. + """ + self.agents = [] + + def _on_learner_model(self): + """ + If get newest learner model, update this actor's model. + """ + self._model_updated = True + + # update policy model + + def _on_league_job(self, job: "Job"): + """ + Deal with job distributed by coordinator. Load historical model, generate traj and emit data. + """ + self._running = True + + # Wait new active model for 10 seconds + for _ in range(10): + if self._model_updated: + self._model_updated = False + break + logging.info( + "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + ) + sleep(1) + + # initialize env + self._envs.reset() + + # 参考StepCollector + + # model interaction with env + # collector + + # generate traj + # get traj from collector + + # emit traj data + # rolloutor 实现 + + def send_actor_job(): + """ + Q:When send actor job? + """ + raise NotImplementedError + + def send_actor_data(): + """ + Send actor traj for each iter. + """ + raise NotImplementedError + + task.emit("actor_greeting", task.router.node_id) + self._envs.close() + self._running = False + + def __call__(self): + if not self._running: + task.emit("actor_greeting", task.router.node_id) + sleep(3) + +# used for test +if __name__ == '__main__': + actor = LeagueActor() + + + From d7c86bdda16c3041a08e3f78c017cac74ed10c3c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 16:43:33 +0800 Subject: [PATCH 012/229] change position --- .../{functional => }/league_actor.py | 35 +++++++------------ 1 file changed, 13 insertions(+), 22 deletions(-) rename ding/framework/middleware/{functional => }/league_actor.py (78%) diff --git a/ding/framework/middleware/functional/league_actor.py b/ding/framework/middleware/league_actor.py similarity index 78% rename from ding/framework/middleware/functional/league_actor.py rename to ding/framework/middleware/league_actor.py index 71d060b8cd..a03fba94a6 100644 --- a/ding/framework/middleware/functional/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -35,21 +35,21 @@ class Job: train_iter: int = None is_eval: bool = False -class Agent: - HAS_MODEL = False - HAS_TEACHER_MODEL = False - HAS_SUCCESSIVE_MODEL = False - def __init__(self, cfg=None, env_id=0): - pass +# class Agent: +# HAS_MODEL = False +# HAS_TEACHER_MODEL = False +# HAS_SUCCESSIVE_MODEL = False +# def __init__(self, cfg=None, env_id=0): +# pass - def reset(self, map_name, race, game_info, obs): - pass +# def reset(self, map_name, race, game_info, obs): +# pass - def step(self, obs): - action = {'func_id': 0, 'skip_steps': 1, - 'queued': False, 'unit_tags': [0], - 'target_unit_tag': 0, 'location': [0, 0]} - return [action] +# def step(self, obs): +# action = {'func_id': 0, 'skip_steps': 1, +# 'queued': False, 'unit_tags': [0], +# 'target_unit_tag': 0, 'location': [0, 0]} +# return [action] class LeagueActor: @@ -60,15 +60,6 @@ def __init__(self): task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) - # initialize agents - self._set_up_agents() - - def _set_up_agents(self): - """ - Initialize policy?. - """ - self.agents = [] - def _on_learner_model(self): """ If get newest learner model, update this actor's model. From c3e1ad749c1c9762a514858f3b354be029918226 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 16:53:49 +0800 Subject: [PATCH 013/229] add initial test --- ding/framework/middleware/__init__.py | 1 + .../middleware/tests/test_league_actor.py | 35 +++++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 ding/framework/middleware/tests/test_league_actor.py diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index a2c428932c..5a8471d4ca 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -2,3 +2,4 @@ from .collector import StepCollector, EpisodeCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver +from .league_actor import LeagueActor \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py new file mode 100644 index 0000000000..0e717a3752 --- /dev/null +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -0,0 +1,35 @@ +from ding.model import DQN +from ding.policy import DQNPolicy +from ding.envs import DingEnvWrapper, BaseEnvManagerV2 +from ding.data import DequeBuffer +from ding.config import compile_config +from ding.framework import task +from ding.framework.context import OnlineRLContext +from ding.framework.middleware import LeagueActor +from ding.utils import set_pkg_seed +from dizoo.classic_control.cartpole.config.cartpole_dqn_config import main_config, create_config +from dizoo.distar.envs.distar_env import DIStarEnv +from distar.ctools.utils import read_config + + +def main(): + distar_cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + + cfg = compile_config(main_config, create_cfg=create_config, auto=True) + with task.start(async_mode=False, ctx=OnlineRLContext()): + collector_env = BaseEnvManagerV2( + env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], + cfg=cfg.env.manager + ) + + set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) + + model = DQN(**cfg.policy.model) + policy = DQNPolicy(cfg.policy, model=model) + + task.use(LeagueActor(cfg, policy.collect_mode, collector_env)) + task.run() + + +if __name__ == "__main__": + main() \ No newline at end of file From 79104f4e1f41098e66c8a66ab7e8fe65c4f69771 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 20:22:23 +0800 Subject: [PATCH 014/229] change a bit --- ding/framework/middleware/league_actor.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index a03fba94a6..d8a5f7267f 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -7,6 +7,9 @@ from typing import TYPE_CHECKING from abc import abstractmethod +from easydict import EasyDict +from ding.envs import BaseEnvManager + class Storage: def __init__(self, path: str) -> None: @@ -54,7 +57,7 @@ class Job: class LeagueActor: - def __init__(self): + def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager): self._running = True self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) From 9f6bdfb8c63b7bd1c245e509069e2a3c1540a26c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 20:26:57 +0800 Subject: [PATCH 015/229] change a bit --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/tests/test_league_actor.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 5a8471d4ca..31c9b73f0d 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -2,4 +2,4 @@ from .collector import StepCollector, EpisodeCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver -from .league_actor import LeagueActor \ No newline at end of file +from .league_actor import LeagueActor, Job \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 0e717a3752..8812e5fa6f 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -5,7 +5,7 @@ from ding.config import compile_config from ding.framework import task from ding.framework.context import OnlineRLContext -from ding.framework.middleware import LeagueActor +from ding.framework.middleware import LeagueActor, Job from ding.utils import set_pkg_seed from dizoo.classic_control.cartpole.config.cartpole_dqn_config import main_config, create_config from dizoo.distar.envs.distar_env import DIStarEnv From e9f32fb76f4d16da159a8f669c5057f8f9914bcb Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 21:23:23 +0800 Subject: [PATCH 016/229] change a bit --- ding/framework/middleware/league_actor.py | 57 +++++++++++++++++-- .../middleware/tests/test_league_actor.py | 25 ++++---- 2 files changed, 65 insertions(+), 17 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d8a5f7267f..be024a9ee3 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -4,12 +4,17 @@ from typing import List, Any from dataclasses import dataclass, field -from typing import TYPE_CHECKING from abc import abstractmethod from easydict import EasyDict from ding.envs import BaseEnvManager +from .functional import inferencer, rolloutor, TransitionList + +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from ding.framework import OnlineRLContext + class Storage: def __init__(self, path: str) -> None: @@ -60,13 +65,23 @@ class LeagueActor: def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager): self._running = True self._model_updated = True + + self.cfg = cfg + self.policy = policy + self._transitions = TransitionList(self.env.env_num) + self._inferencer = task.wrap(inferencer(cfg, policy, env)) + self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) + task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) - def _on_learner_model(self): + def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, update this actor's model. """ + player_meta = PlayerMeta(player_id=learner_model.player_id, checkpoint=None) + policy = self._get_policy(player_meta) + policy.load_state_dict(learner_model.state_dict) self._model_updated = True # update policy model @@ -86,14 +101,35 @@ def _on_league_job(self, job: "Job"): "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) ) sleep(1) + + policies = [] + main_player: "PlayerMeta" = None + for player in job.players: + policies.append(self._get_policy(player)) + if player.player_id == job.launch_player: + main_player = player + + assert main_player, "Can not find active player" # initialize env self._envs.reset() # 参考StepCollector - - # model interaction with env - # collector + ctx = OnlineRLContext() + old = ctx.env_step + + target_size = self.cfg.policy.collect.n_sample * self.cfg.policy.collect.unroll_len + current_inferencer = self._inferencer + + while True: + # model interaction with env + # collector + current_inferencer(ctx) + self._rolloutor(ctx) + if ctx.env_step - old >= target_size: + ctx.trajectories, ctx.trajectory_end_idx = self._transitions.to_trajectories() + self._transitions.clear() + break # generate traj # get traj from collector @@ -117,6 +153,17 @@ def send_actor_data(): self._envs.close() self._running = False + def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": + player_id = player.player_id + if self._policies.get(player_id): + return self._policies.get(player_id) + policy: "Policy.collect_function" = self.policy_fn().collect_mode + self._policies[player_id] = policy + if "historical" in player.player_id: + policy.load_state_dict(player.checkpoint.load()) + + return policy + def __call__(self): if not self._running: task.emit("actor_greeting", task.router.node_id) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 8812e5fa6f..5f6c1f00a0 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -3,7 +3,7 @@ from ding.envs import DingEnvWrapper, BaseEnvManagerV2 from ding.data import DequeBuffer from ding.config import compile_config -from ding.framework import task +from ding.framework import task, Parallel from ding.framework.context import OnlineRLContext from ding.framework.middleware import LeagueActor, Job from ding.utils import set_pkg_seed @@ -17,19 +17,20 @@ def main(): cfg = compile_config(main_config, create_cfg=create_config, auto=True) with task.start(async_mode=False, ctx=OnlineRLContext()): - collector_env = BaseEnvManagerV2( - env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], - cfg=cfg.env.manager - ) + if task.router.node_id == 0: + collector_env = BaseEnvManagerV2( + env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], + cfg=cfg.env.manager + ) - set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) + set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) - model = DQN(**cfg.policy.model) - policy = DQNPolicy(cfg.policy, model=model) - - task.use(LeagueActor(cfg, policy.collect_mode, collector_env)) - task.run() + model = DQN(**cfg.policy.model) + policy = DQNPolicy(cfg.policy, model=model) + task.use(LeagueActor(cfg, policy.collect_mode, collector_env)) + elif task.router.node_id == 1: + pass if __name__ == "__main__": - main() \ No newline at end of file + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(main) \ No newline at end of file From d1f8954027648d170e0d9cd790112494c358fc1c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 25 May 2022 22:40:51 +0800 Subject: [PATCH 017/229] change a bit --- ding/framework/middleware/league_actor.py | 8 +++-- .../middleware/tests/test_league_actor.py | 30 ++++++++++++++++--- 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index be024a9ee3..a8c285946b 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -2,7 +2,7 @@ from time import sleep import logging -from typing import List, Any +from typing import List, Any, Callable from dataclasses import dataclass, field from abc import abstractmethod @@ -14,6 +14,7 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: from ding.framework import OnlineRLContext + from ding.policy import Policy class Storage: @@ -62,12 +63,13 @@ class Job: class LeagueActor: - def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager): + def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self._running = True self._model_updated = True self.cfg = cfg - self.policy = policy + self.env_fn = env_fn + self.policy_fn = policy_fn self._transitions = TransitionList(self.env.env_num) self._inferencer = task.wrap(inferencer(cfg, policy, env)) self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 5f6c1f00a0..6818a25a7a 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -10,12 +10,34 @@ from dizoo.classic_control.cartpole.config.cartpole_dqn_config import main_config, create_config from dizoo.distar.envs.distar_env import DIStarEnv from distar.ctools.utils import read_config +from copy import deepcopy +distar_cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') +cfg = compile_config(main_config, create_cfg=create_config, auto=True) -def main(): - distar_cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') +def prepare_test(): + + global cfg + cfg = deepcopy(cfg) - cfg = compile_config(main_config, create_cfg=create_config, auto=True) + def env_fn(): + env = BaseEnvManagerV2( + env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], + cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + model = DQN(**cfg.policy.model) + policy = DQNPolicy(cfg.policy, model=model) + return policy + + return cfg, env_fn, policy_fn + +def main(): + cfg, env_fn, policy_fn = prepare_test() + with task.start(async_mode=False, ctx=OnlineRLContext()): if task.router.node_id == 0: collector_env = BaseEnvManagerV2( @@ -28,7 +50,7 @@ def main(): model = DQN(**cfg.policy.model) policy = DQNPolicy(cfg.policy, model=model) - task.use(LeagueActor(cfg, policy.collect_mode, collector_env)) + task.use(LeagueActor(cfg, env_fn, policy_fn)) elif task.router.node_id == 1: pass From 006478cd690a7d3d86ef2397d6915fab55228ea2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 26 May 2022 15:04:10 +0800 Subject: [PATCH 018/229] initial EpisodeCollector --- .../middleware/functional/collector.py | 21 ++++++++++ ding/framework/middleware/league_actor.py | 39 ++++++++++++++----- 2 files changed, 51 insertions(+), 9 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 0f6f7f6e7d..ff26fca1a9 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -6,6 +6,7 @@ from ding.envs import BaseEnvManager from ding.policy import Policy from ding.framework import task +from collections import namedtuple if TYPE_CHECKING: from ding.framework import OnlineRLContext @@ -82,6 +83,26 @@ def _inference(ctx: "OnlineRLContext"): return _inference +class BattleInferencer(): + def __init__(self, cfg: EasyDict, policy: List[namedtuple] = None, env: BaseEnvManager = None): + self._cfg = cfg + self._policy = policy + self._env = env + + + def __call__(self, ctx: "OnlineRLContext") -> None: + """ + Input of ctx: + - n_episode (:obj:`int`): the number of collecting data episode + - train_iter (:obj:`int`): the number of training iteration + - policy_kwargs (:obj:`dict`): the keyword args for policy forward + Output of ctx: + - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + the former is a list containing collected episodes if not get_train_sample, \ + otherwise, return train_samples split by unroll_len. + """ + raise NotImplementedError + def rolloutor(cfg: EasyDict, policy: Policy, env: BaseEnvManager, transitions: TransitionList) -> Callable: """ diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index a8c285946b..d6df07b0aa 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -2,7 +2,7 @@ from time import sleep import logging -from typing import List, Any, Callable +from typing import Dict, List, Any, Callable from dataclasses import dataclass, field from abc import abstractmethod @@ -15,6 +15,7 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext from ding.policy import Policy + from ding.framework.middleware.league_learner import LearnerModel class Storage: @@ -70,9 +71,12 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.cfg = cfg self.env_fn = env_fn self.policy_fn = policy_fn - self._transitions = TransitionList(self.env.env_num) - self._inferencer = task.wrap(inferencer(cfg, policy, env)) - self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) + self._policies: Dict[str, "Policy.collect_function"] = {} + self._inferencers: Dict[str, "inferencer"] = {} + self._rolloutors: Dict[str, "rolloutor"] = {} + # self._transitions = TransitionList(self.env.env_num) + # self._inferencer = task.wrap(inferencer(cfg, policy, env)) + # self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) @@ -110,24 +114,31 @@ def _on_league_job(self, job: "Job"): policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player + inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "Can not find active player" + for p in self._policies: + p.reset() # initialize env - self._envs.reset() + # self._envs.reset() # 参考StepCollector ctx = OnlineRLContext() + ctx.env_step = 0 + ctx.env_episode = 0 + ctx.train_iter = main_player.total_agent_step + #TODO: what is ctx.collect_kwargs + old = ctx.env_step target_size = self.cfg.policy.collect.n_sample * self.cfg.policy.collect.unroll_len - current_inferencer = self._inferencer while True: # model interaction with env # collector - current_inferencer(ctx) - self._rolloutor(ctx) + inferencer(ctx) + rolloutor(ctx) if ctx.env_step - old >= target_size: ctx.trajectories, ctx.trajectory_end_idx = self._transitions.to_trajectories() self._transitions.clear() @@ -152,8 +163,18 @@ def send_actor_data(): raise NotImplementedError task.emit("actor_greeting", task.router.node_id) - self._envs.close() self._running = False + + def _get_collector(self, player_id: str): + if self._inferencers.get(player_id) and self._rolloutors.get(player_id): + return self._inferencers[player_id], self._rolloutors[player_id] + cfg = self.cfg + env = self.env_fn() + policy = self._policies[player_id] + + self._inferencers[player_id] = task.wrap(inferencer(cfg, policy, env)) + self._rolloutors[player_id] = task.wrap(rolloutor(cfg, policy, env, self._transitions)) + return self._inferencers[player_id], self._rolloutors[player_id] def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": player_id = player.player_id From 7a2a634efffb9de374df56504a8f3d39b5f2844f Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 26 May 2022 15:45:30 +0800 Subject: [PATCH 019/229] transfer BattleEpisodeSerialCollector to middleware BattleInferencer --- .../middleware/functional/collector.py | 113 +++++++++++++++++- 1 file changed, 112 insertions(+), 1 deletion(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index ff26fca1a9..5af3bed275 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -7,6 +7,9 @@ from ding.policy import Policy from ding.framework import task from collections import namedtuple +from ding.utils import EasyTimer, dicts_to_lists +from ding.torch_utils import to_tensor, to_ndarray +from ding.worker.collector.base_serial_collector import to_tensor_transitions if TYPE_CHECKING: from ding.framework import OnlineRLContext @@ -86,6 +89,10 @@ def _inference(ctx: "OnlineRLContext"): class BattleInferencer(): def __init__(self, cfg: EasyDict, policy: List[namedtuple] = None, env: BaseEnvManager = None): self._cfg = cfg + self._transform_obs = cfg.transform_obs + self._timer = EasyTimer() + + # TODO(zms) call self.reset() to reset policy and env self._policy = policy self._env = env @@ -101,7 +108,111 @@ def __call__(self, ctx: "OnlineRLContext") -> None: the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ - raise NotImplementedError + + if ctx.n_episode is None: + ### TODO(zms): self._default_n_episode comes from self.reset_policy() + if self._default_n_episode is None: + raise RuntimeError("Please specify collect n_episode") + else: + ctx.n_episode = self._default_n_episode + assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" + + if ctx.policy_kwargs is None: + ctx.policy_kwargs = {} + + collected_episode = 0 + return_data = [[] for _ in range(2)] + return_info = [[] for _ in range(2)] + ready_env_id = set() + remain_episode = ctx.n_episode + + while True: + with self._timer: + # Get current env obs. + obs = self._env.ready_obs + new_available_env_id = set(obs.keys()).difference(ready_env_id) + ready_env_id = ready_env_id.union(set(list(new_available_env_id)[:remain_episode])) + remain_episode -= min(len(new_available_env_id), remain_episode) + obs = {env_id: obs[env_id] for env_id in ready_env_id} + + # Policy forward. + ### TODO(zms): self._obs_pool comes from self.reset + self._obs_pool.update(obs) + if self._transform_obs: + obs = to_tensor(obs, dtype=torch.float32) + obs = dicts_to_lists(obs) + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(self._policy)] + + ### TODO(zms): self._policy_output_pool comes from self.reset + self._policy_output_pool.update(policy_output) + # Interact with env. + actions = {} + for env_id in ready_env_id: + actions[env_id] = [] + for output in policy_output: + actions[env_id].append(output[env_id]['action']) + actions = to_ndarray(actions) + timesteps = self._env.step(actions) + + # TODO(nyz) this duration may be inaccurate in async env + interaction_duration = self._timer.value / len(timesteps) + + # TODO(nyz) vectorize this for loop + for env_id, timestep in timesteps.items(): + # TODO(zms): self._env_info comes from self.reset() + self._env_info[env_id]['step'] += 1 + # TODO(zms): self._env_info comes from self.reset() + self._total_envstep_count += 1 + with self._timer: + for policy_id, policy in enumerate(self._policy): + policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] + policy_timestep = type(timestep)(*policy_timestep_data) + transition = self._policy[policy_id].process_transition( + # TODO(zms): self._policy_output_pool comes from self.reset() + self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], + policy_timestep + ) + transition['collect_iter'] = ctx.cleartrain_iter + self._traj_buffer[env_id][policy_id].append(transition) + # prepare data + if timestep.done: + # TODO(zms): to get rid of collector, "to_tensor_transitions" function should be removed and must be somewhere else. + transitions = to_tensor_transitions(self._traj_buffer[env_id][policy_id]) + if self._cfg.get_train_sample: + train_sample = self._policy[policy_id].get_train_sample(transitions) + return_data[policy_id].extend(train_sample) + else: + return_data[policy_id].append(transitions) + self._traj_buffer[env_id][policy_id].clear() + + self._env_info[env_id]['time'] += self._timer.value + interaction_duration + + # If env is done, record episode info and reset + if timestep.done: + # TODO(zms): self._env_info comes from self.reset() + self._total_episode_count += 1 + info = { + 'reward0': timestep.info[0]['final_eval_reward'], + 'reward1': timestep.info[1]['final_eval_reward'], + 'time': self._env_info[env_id]['time'], + 'step': self._env_info[env_id]['step'], + } + collected_episode += 1 + self._episode_info.append(info) + for i, p in enumerate(self._policy): + p.reset([env_id]) + self._reset_stat(env_id) + ready_env_id.remove(env_id) + for policy_id in range(2): + return_info[policy_id].append(timestep.info[policy_id]) + if collected_episode >= ctx.n_episode: + break + # log + ### TODO: how to deal with log here? + # self._output_log(ctx.train_iter) + ctx.return_data = return_data + ctx.return_info = return_info + def rolloutor(cfg: EasyDict, policy: Policy, env: BaseEnvManager, transitions: TransitionList) -> Callable: From 41052118e890229704f2def580de59959d2fe9e7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 26 May 2022 15:55:14 +0800 Subject: [PATCH 020/229] change a bit comments --- ding/framework/middleware/functional/collector.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 5af3bed275..04c3846d80 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -115,6 +115,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: raise RuntimeError("Please specify collect n_episode") else: ctx.n_episode = self._default_n_episode + ### TODO(zms): self._env_num comes from self.reset_env() assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" if ctx.policy_kwargs is None: @@ -161,7 +162,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: for env_id, timestep in timesteps.items(): # TODO(zms): self._env_info comes from self.reset() self._env_info[env_id]['step'] += 1 - # TODO(zms): self._env_info comes from self.reset() + # TODO(zms): self._total_envstep_count comes from self.reset() self._total_envstep_count += 1 with self._timer: for policy_id, policy in enumerate(self._policy): @@ -173,6 +174,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: policy_timestep ) transition['collect_iter'] = ctx.cleartrain_iter + # TODO(zms): self._traj_buffer comes from self.reset() self._traj_buffer[env_id][policy_id].append(transition) # prepare data if timestep.done: @@ -189,7 +191,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: # If env is done, record episode info and reset if timestep.done: - # TODO(zms): self._env_info comes from self.reset() + # TODO(zms): self._total_episode_count comes from self.reset() self._total_episode_count += 1 info = { 'reward0': timestep.info[0]['final_eval_reward'], @@ -198,9 +200,11 @@ def __call__(self, ctx: "OnlineRLContext") -> None: 'step': self._env_info[env_id]['step'], } collected_episode += 1 + # TODO(zms): self._episode_info comes from self.reset() self._episode_info.append(info) for i, p in enumerate(self._policy): p.reset([env_id]) + # TODO(zms): define self._reset_stat self._reset_stat(env_id) ready_env_id.remove(env_id) for policy_id in range(2): From 2409b3cde3bcbec0d209b6a35a751e6f70a818ba Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 26 May 2022 15:58:28 +0800 Subject: [PATCH 021/229] fix error --- ding/framework/middleware/functional/collector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 04c3846d80..8f5312d5cf 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -173,7 +173,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], policy_timestep ) - transition['collect_iter'] = ctx.cleartrain_iter + transition['collect_iter'] = ctx.train_iter # TODO(zms): self._traj_buffer comes from self.reset() self._traj_buffer[env_id][policy_id].append(transition) # prepare data From 802118350240499bf2ae69b233ab0c971ac40389 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 26 May 2022 16:01:16 +0800 Subject: [PATCH 022/229] change class name --- ding/framework/middleware/functional/collector.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 8f5312d5cf..25aafabdf1 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -86,7 +86,7 @@ def _inference(ctx: "OnlineRLContext"): return _inference -class BattleInferencer(): +class BattleCollector(): def __init__(self, cfg: EasyDict, policy: List[namedtuple] = None, env: BaseEnvManager = None): self._cfg = cfg self._transform_obs = cfg.transform_obs From 3683a312478c36bed115946853c9a0d5e2a031fa Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 26 May 2022 16:29:26 +0800 Subject: [PATCH 023/229] add EventEnum & league coordinator --- ding/framework/__init__.py | 1 + ding/framework/event_enum.py | 18 +++++ ding/framework/middleware/__init__.py | 1 + .../middleware/league_coordinator.py | 55 +++++++++++++ .../tests/test_league_coordinator.py | 77 +++++++++++++++++++ 5 files changed, 152 insertions(+) create mode 100644 ding/framework/event_enum.py create mode 100644 ding/framework/middleware/league_coordinator.py create mode 100644 ding/framework/middleware/tests/test_league_coordinator.py diff --git a/ding/framework/__init__.py b/ding/framework/__init__.py index a1059a7ec4..990b258f6f 100644 --- a/ding/framework/__init__.py +++ b/ding/framework/__init__.py @@ -2,3 +2,4 @@ from .task import Task, task from .parallel import Parallel from .event_loop import EventLoop +from .event_enum import EventEnum \ No newline at end of file diff --git a/ding/framework/event_enum.py b/ding/framework/event_enum.py new file mode 100644 index 0000000000..bdc8c56462 --- /dev/null +++ b/ding/framework/event_enum.py @@ -0,0 +1,18 @@ +from enum import Enum, unique + + +@unique +class EventEnum(Enum): + COORDINATOR_DISPATCH_ACTOR_JOB = 1000 + + LEARNER_SEND_MODEL = 2000 + LEARNER_SEND_META = 2001 + + ACTOR_GREETING = 3000 + ACTOR_SEND_DATA = 3001 + ACTOR_FINISH_JOB = 3002 + + def __call__(self, node_id: int = None): + if not node_id: + return "event_{}".format(self.value) + return "event_{}_{}".format(self.value, node_id) \ No newline at end of file diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index a2c428932c..79071fc3a9 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -2,3 +2,4 @@ from .collector import StepCollector, EpisodeCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver +from .league_coordinator import LeagueCoordinator, Job \ No newline at end of file diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py new file mode 100644 index 0000000000..bb037cdcb8 --- /dev/null +++ b/ding/framework/middleware/league_coordinator.py @@ -0,0 +1,55 @@ +from time import sleep +from threading import Lock +from dataclasses import dataclass +from typing import TYPE_CHECKING +from ding.framework import task, EventEnum + +if TYPE_CHECKING: + from ding.framework import Task, Context + from ding.league import BaseLeague + + +@dataclass +class Job: + job_no: int = -1 + player_id: str = "" + is_eval: bool = False + + +class LeagueCoordinator: + + def __init__(self, league: "BaseLeague") -> None: + self.league = league + self._job_iter = self._job_dispatcher() + self._lock = Lock() + task.on(EventEnum.ACTOR_GREETING(), self._on_actor_greeting) + task.on(EventEnum.LEARNER_SEND_META(), self._on_learner_meta) + task.on(EventEnum.ACTOR_FINISH_JOB(), self._on_actor_job) + + def _on_actor_greeting(self, actor_id): + with self._lock: + job: "Job" = next(self._job_iter) + if job.job_no > 0 and job.job_no % 10 == 0: # 1/10 turn job into eval mode + job.is_eval = True + job.actor_id = actor_id + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), job) + + def _on_actor_job(self, job: "Job"): + self.league.update_payoff(job) + + def _on_learner_meta(self, player_meta: "PlayerMeta"): + self.league.update_active_player(player_meta) + self.league.create_historical_player(player_meta) + + def __call__(self, ctx: "Context") -> None: + sleep(0.1) + + def _job_dispatcher(self) -> "Job": + i = 0 + while True: + player_num = len(self.league.active_players_ids) + player_id = self.league.active_players_ids[i % player_num] + job = self.league.get_job_info(player_id) + job.job_no = i + i += 1 + yield job diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py new file mode 100644 index 0000000000..7cc832dbd6 --- /dev/null +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -0,0 +1,77 @@ +import pytest +import time +from unittest.mock import patch +from ding.framework import task, Parallel +from ding.framework.context import OnlineRLContext +from ding.framework.middleware import LeagueCoordinator, Job +from ding.league import BaseLeague +from ding.framework import EventEnum + + +class MockLeague: + + def __init__(self): + self.active_players_ids = ["player_0", "player_1", "player_2"] + self.update_payoff_cnt = 0 + self.update_active_player_cnt = 0 + self.create_historical_player_cnt = 0 + self.get_job_info_cnt = 0 + + def update_payoff(self, job): + self.update_payoff_cnt += 1 + + def update_active_player(self, meta): + self.update_active_player_cnt += 1 + + def create_historical_player(self, meta): + self.create_historical_player_cnt += 1 + + def get_job_info(self, player_id): + self.get_job_info_cnt += 1 + return Job(-1, player_id, False) + + +def _main(): + task.start() + if task.router.node_id == 0: + with patch("ding.league.BaseLeague", MockLeague): + league = MockLeague() + coordinator = LeagueCoordinator(league) + coordinator(None) + time.sleep(5) + assert league.update_payoff_cnt == 3 + assert league.update_active_player_cnt == 3 + assert league.create_historical_player_cnt == 3 + assert league.get_job_info_cnt == 3 + elif task.router.node_id == 1: + # test ACTOR_GREETING + res = [] + actor_id = "test_node_{}".format(task.router.node_id) + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), lambda job: res.append(job)) + time.sleep(1) + for _ in range(3): + task.emit(EventEnum.ACTOR_GREETING(), actor_id) + time.sleep(3) + assert actor_id == res[-1].actor_id + elif task.router.node_id == 2: + # test LEARNER_SEND_META + actor_id = "test_node_{}".format(task.router.node_id) + time.sleep(1) + for _ in range(3): + task.emit(EventEnum.LEARNER_SEND_META(), {"meta": actor_id}) + time.sleep(3) + elif task.router.node_id == 3: + # test ACTOR_FINISH_JOB + actor_id = "test_node_{}".format(task.router.node_id) + time.sleep(1) + job = Job(-1, actor_id, False) + for _ in range(3): + task.emit(EventEnum.ACTOR_FINISH_JOB(), job) + time.sleep(3) + else: + raise Exception("Invalid node id {}".format(task.router.is_active)) + + +@pytest.mark.unittest +def test_coordinator(): + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) From b38b45508421db12cb98700dbbfafeec794cebca Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 09:06:39 +0800 Subject: [PATCH 024/229] change league_actor --- .../middleware/functional/collector.py | 7 +- ding/framework/middleware/league_actor.py | 99 ++++++++----------- 2 files changed, 48 insertions(+), 58 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 25aafabdf1..7377b14f51 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -87,7 +87,12 @@ def _inference(ctx: "OnlineRLContext"): return _inference class BattleCollector(): - def __init__(self, cfg: EasyDict, policy: List[namedtuple] = None, env: BaseEnvManager = None): + def __init__( + self, + cfg: EasyDict, + env: BaseEnvManager = None, + policy: List[namedtuple] = None + ): self._cfg = cfg self._transform_obs = cfg.transform_obs self._timer = EasyTimer() diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d6df07b0aa..757752b88d 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -16,6 +16,12 @@ from ding.framework import OnlineRLContext from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel + from ding.framework.middleware.functional.collector import BattleCollector + +@dataclass +class ActorData: + train_data: Any + env_step: int = 0 class Storage: @@ -65,19 +71,15 @@ class Job: class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): - self._running = True - self._model_updated = True - self.cfg = cfg self.env_fn = env_fn self.policy_fn = policy_fn + # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.n_rollout_samples = 0 + self._running = False + self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} - self._inferencers: Dict[str, "inferencer"] = {} - self._rolloutors: Dict[str, "rolloutor"] = {} - # self._transitions = TransitionList(self.env.env_num) - # self._inferencer = task.wrap(inferencer(cfg, policy, env)) - # self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) - + self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) @@ -107,74 +109,57 @@ def _on_league_job(self, job: "Job"): "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) ) sleep(1) - + + collector = self._get_collector(job.launch_player) policies = [] main_player: "PlayerMeta" = None for player in job.players: policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player - inferencer,rolloutor = self._get_collector(player.player_id) + # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "Can not find active player" - for p in self._policies: - p.reset() - - # initialize env - # self._envs.reset() + collector.reset_policy(policies) - # 参考StepCollector - ctx = OnlineRLContext() - ctx.env_step = 0 - ctx.env_episode = 0 - ctx.train_iter = main_player.total_agent_step - #TODO: what is ctx.collect_kwargs + def send_actor_job(episode_info: List): + job.result = [e['result'] for e in episode_info] + task.emit("actor_job", job) - old = ctx.env_step - - target_size = self.cfg.policy.collect.n_sample * self.cfg.policy.collect.unroll_len - - while True: - # model interaction with env - # collector - inferencer(ctx) - rolloutor(ctx) - if ctx.env_step - old >= target_size: - ctx.trajectories, ctx.trajectory_end_idx = self._transitions.to_trajectories() - self._transitions.clear() - break + def send_actor_data(train_data: List): + # Don't send data in evaluation mode + if job.is_eval: + return + for d in train_data: + d["adv"] = d["reward"] - # generate traj - # get traj from collector + actor_data = ActorData(env_step=collector.envstep, train_data=train_data) + task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - # emit traj data - # rolloutor 实现 + ctx = OnlineRLContext() + ctx.n_episode = None + ctx.train_iter = main_player.total_agent_step + ctx.policy_kwargs = None - def send_actor_job(): - """ - Q:When send actor job? - """ - raise NotImplementedError + train_data, episode_info = collector.collect(ctx) + train_data, episode_info = train_data[0], episode_info[0] # only use main player data for training + send_actor_data(train_data) + send_actor_job(episode_info) - def send_actor_data(): - """ - Send actor traj for each iter. - """ - raise NotImplementedError - task.emit("actor_greeting", task.router.node_id) self._running = False def _get_collector(self, player_id: str): - if self._inferencers.get(player_id) and self._rolloutors.get(player_id): - return self._inferencers[player_id], self._rolloutors[player_id] + if self._collectors.get(player_id): + return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - policy = self._policies[player_id] - - self._inferencers[player_id] = task.wrap(inferencer(cfg, policy, env)) - self._rolloutors[player_id] = task.wrap(rolloutor(cfg, policy, env, self._transitions)) - return self._inferencers[player_id], self._rolloutors[player_id] + collector = BattleCollector( + cfg.policy.collect.collector, + env + ) + self._collectors[player_id] = collector + return collector def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": player_id = player.player_id From ac781533bf2f128203ef25295434a97d5ce06dea Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 15:03:45 +0800 Subject: [PATCH 025/229] change position --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/collector.py | 261 +++++++++++++++++- .../middleware/functional/collector.py | 143 +--------- ding/framework/middleware/league_actor.py | 22 +- 4 files changed, 263 insertions(+), 165 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 31c9b73f0d..ab45651c01 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -1,5 +1,5 @@ from .functional import * -from .collector import StepCollector, EpisodeCollector +from .collector import StepCollector, EpisodeCollector, BattleCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver from .league_actor import LeagueActor, Job \ No newline at end of file diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index a93aee6fb8..1b0258a7e4 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,6 +1,5 @@ -from typing import TYPE_CHECKING, Callable, List +from typing import TYPE_CHECKING, Callable, List, Optional, Tuple from easydict import EasyDict - from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager from ding.framework import task @@ -9,6 +8,264 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext +import torch +from collections import namedtuple +from ding.utils import EasyTimer, dicts_to_lists +from ding.torch_utils import to_tensor, to_ndarray +from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, INF, to_tensor_transitions + + +class BattleCollector(): + def __init__( + self, + cfg: EasyDict, + env: BaseEnvManager = None, + policy: List[namedtuple] = None + ): + self._deepcopy_obs = cfg.deepcopy_obs + self._transform_obs = cfg.transform_obs + self._cfg = cfg + self._timer = EasyTimer() + self._end_flag = False + self._traj_len = float("inf") + + # TODO(zms) call self.reset() to reset policy and env + self._policy = policy + self._env = env + + def reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: + """ + Overview: + Reset the environment. + If _env is None, reset the old environment. + If _env is not None, replace the old environment in the collector with the new passed \ + in environment and launch. + Arguments: + - env (:obj:`Optional[BaseEnvManager]`): instance of the subclass of vectorized \ + env_manager(BaseEnvManager) + """ + if _env is not None: + self._env = _env + self._env.launch() + self._env_num = self._env.env_num + else: + self._env.reset() + + def reset_policy(self, _policy: Optional[List[namedtuple]] = None) -> None: + """ + Overview: + Reset the policy. + If _policy is None, reset the old policy. + If _policy is not None, replace the old policy in the collector with the new passed in policy. + Arguments: + - policy (:obj:`Optional[List[namedtuple]]`): the api namedtuple of collect_mode policy + """ + assert hasattr(self, '_env'), "please set env first" + if _policy is not None: + assert len(_policy) == 2, "1v1 episode collector needs 2 policy, but found {}".format(len(_policy)) + self._policy = _policy + self._default_n_episode = _policy[0].get_attribute('cfg').collect.get('n_episode', None) + self._unroll_len = _policy[0].get_attribute('unroll_len') + self._on_policy = _policy[0].get_attribute('cfg').on_policy + self._traj_len = INF + # self._logger.debug( + # 'Set default n_episode mode(n_episode({}), env_num({}), traj_len({}))'.format( + # self._default_n_episode, self._env_num, self._traj_len + # ) + # ) + for p in self._policy: + p.reset() + + def reset(self, _policy: Optional[List[namedtuple]] = None, _env: Optional[BaseEnvManager] = None) -> None: + """ + Overview: + Reset the environment and policy. + If _env is None, reset the old environment. + If _env is not None, replace the old environment in the collector with the new passed \ + in environment and launch. + If _policy is None, reset the old policy. + If _policy is not None, replace the old policy in the collector with the new passed in policy. + Arguments: + - policy (:obj:`Optional[List[namedtuple]]`): the api namedtuple of collect_mode policy + - env (:obj:`Optional[BaseEnvManager]`): instance of the subclass of vectorized \ + env_manager(BaseEnvManager) + """ + if _env is not None: + self.reset_env(_env) + if _policy is not None: + self.reset_policy(_policy) + + self._obs_pool = CachePool('obs', self._env_num, deepcopy=self._deepcopy_obs) + self._policy_output_pool = CachePool('policy_output', self._env_num) + # _traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions + self._traj_buffer = { + env_id: {policy_id: TrajBuffer(maxlen=self._traj_len) + for policy_id in range(2)} + for env_id in range(self._env_num) + } + self._env_info = {env_id: {'time': 0., 'step': 0} for env_id in range(self._env_num)} + + self._episode_info = [] + self._total_envstep_count = 0 + self._total_episode_count = 0 + self._total_duration = 0 + self._last_train_iter = 0 + self._end_flag = False + + def _reset_stat(self, env_id: int) -> None: + """ + Overview: + Reset the collector's state. Including reset the traj_buffer, obs_pool, policy_output_pool\ + and env_info. Reset these states according to env_id. You can refer to base_serial_collector\ + to get more messages. + Arguments: + - env_id (:obj:`int`): the id where we need to reset the collector's state + """ + for i in range(2): + self._traj_buffer[env_id][i].clear() + self._obs_pool.reset(env_id) + self._policy_output_pool.reset(env_id) + self._env_info[env_id] = {'time': 0., 'step': 0} + + def close(self) -> None: + """ + Overview: + Close the collector. If end_flag is False, close the environment, flush the tb_logger\ + and close the tb_logger. + """ + if self._end_flag: + return + self._end_flag = True + self._env.close() + + def __del__(self) -> None: + """ + Overview: + Execute the close command and close the collector. __del__ is automatically called to \ + destroy the collector instance when the collector finishes its work + """ + self.close() + + def __call__(self, ctx: "OnlineRLContext") -> None: + """ + Input of ctx: + - n_episode (:obj:`int`): the number of collecting data episode + - train_iter (:obj:`int`): the number of training iteration + - policy_kwargs (:obj:`dict`): the keyword args for policy forward + Output of ctx: + - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + the former is a list containing collected episodes if not get_train_sample, \ + otherwise, return train_samples split by unroll_len. + """ + + if ctx.n_episode is None: + ### TODO(zms): self._default_n_episode comes from self.reset_policy() + if self._default_n_episode is None: + raise RuntimeError("Please specify collect n_episode") + else: + ctx.n_episode = self._default_n_episode + ### TODO(zms): self._env_num comes from self.reset_env() + assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" + + if ctx.policy_kwargs is None: + ctx.policy_kwargs = {} + + collected_episode = 0 + return_data = [[] for _ in range(2)] + return_info = [[] for _ in range(2)] + ready_env_id = set() + remain_episode = ctx.n_episode + + while True: + with self._timer: + # Get current env obs. + obs = self._env.ready_obs + new_available_env_id = set(obs.keys()).difference(ready_env_id) + ready_env_id = ready_env_id.union(set(list(new_available_env_id)[:remain_episode])) + remain_episode -= min(len(new_available_env_id), remain_episode) + obs = {env_id: obs[env_id] for env_id in ready_env_id} + + # Policy forward. + ### TODO(zms): self._obs_pool comes from self.reset + self._obs_pool.update(obs) + if self._transform_obs: + obs = to_tensor(obs, dtype=torch.float32) + obs = dicts_to_lists(obs) + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(self._policy)] + + ### TODO(zms): self._policy_output_pool comes from self.reset + self._policy_output_pool.update(policy_output) + # Interact with env. + actions = {} + for env_id in ready_env_id: + actions[env_id] = [] + for output in policy_output: + actions[env_id].append(output[env_id]['action']) + actions = to_ndarray(actions) + timesteps = self._env.step(actions) + + # TODO(nyz) this duration may be inaccurate in async env + interaction_duration = self._timer.value / len(timesteps) + + # TODO(nyz) vectorize this for loop + for env_id, timestep in timesteps.items(): + # TODO(zms): self._env_info comes from self.reset() + self._env_info[env_id]['step'] += 1 + # TODO(zms): self._total_envstep_count comes from self.reset() + self._total_envstep_count += 1 + with self._timer: + for policy_id, policy in enumerate(self._policy): + policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] + policy_timestep = type(timestep)(*policy_timestep_data) + transition = self._policy[policy_id].process_transition( + # TODO(zms): self._policy_output_pool comes from self.reset() + self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], + policy_timestep + ) + transition['collect_iter'] = ctx.train_iter + # TODO(zms): self._traj_buffer comes from self.reset() + self._traj_buffer[env_id][policy_id].append(transition) + # prepare data + if timestep.done: + # TODO(zms): to get rid of collector, "to_tensor_transitions" function should be removed and must be somewhere else. + transitions = to_tensor_transitions(self._traj_buffer[env_id][policy_id]) + if self._cfg.get_train_sample: + train_sample = self._policy[policy_id].get_train_sample(transitions) + return_data[policy_id].extend(train_sample) + else: + return_data[policy_id].append(transitions) + self._traj_buffer[env_id][policy_id].clear() + + self._env_info[env_id]['time'] += self._timer.value + interaction_duration + + # If env is done, record episode info and reset + if timestep.done: + # TODO(zms): self._total_episode_count comes from self.reset() + self._total_episode_count += 1 + info = { + 'reward0': timestep.info[0]['final_eval_reward'], + 'reward1': timestep.info[1]['final_eval_reward'], + 'time': self._env_info[env_id]['time'], + 'step': self._env_info[env_id]['step'], + } + collected_episode += 1 + # TODO(zms): self._episode_info comes from self.reset() + self._episode_info.append(info) + for i, p in enumerate(self._policy): + p.reset([env_id]) + # TODO(zms): define self._reset_stat + self._reset_stat(env_id) + ready_env_id.remove(env_id) + for policy_id in range(2): + return_info[policy_id].append(timestep.info[policy_id]) + if collected_episode >= ctx.n_episode: + break + # log + ### TODO: how to deal with log here? + # self._output_log(ctx.train_iter) + ctx.return_data = return_data + ctx.return_info = return_info + class StepCollector: """ diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 7377b14f51..7a826e5309 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -1,15 +1,9 @@ -from typing import TYPE_CHECKING, Callable, List, Tuple, Any +from typing import TYPE_CHECKING,Optional, Callable, List, Tuple, Any from easydict import EasyDict from functools import reduce -import torch import treetensor.torch as ttorch from ding.envs import BaseEnvManager from ding.policy import Policy -from ding.framework import task -from collections import namedtuple -from ding.utils import EasyTimer, dicts_to_lists -from ding.torch_utils import to_tensor, to_ndarray -from ding.worker.collector.base_serial_collector import to_tensor_transitions if TYPE_CHECKING: from ding.framework import OnlineRLContext @@ -86,141 +80,6 @@ def _inference(ctx: "OnlineRLContext"): return _inference -class BattleCollector(): - def __init__( - self, - cfg: EasyDict, - env: BaseEnvManager = None, - policy: List[namedtuple] = None - ): - self._cfg = cfg - self._transform_obs = cfg.transform_obs - self._timer = EasyTimer() - - # TODO(zms) call self.reset() to reset policy and env - self._policy = policy - self._env = env - - - def __call__(self, ctx: "OnlineRLContext") -> None: - """ - Input of ctx: - - n_episode (:obj:`int`): the number of collecting data episode - - train_iter (:obj:`int`): the number of training iteration - - policy_kwargs (:obj:`dict`): the keyword args for policy forward - Output of ctx: - - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ - the former is a list containing collected episodes if not get_train_sample, \ - otherwise, return train_samples split by unroll_len. - """ - - if ctx.n_episode is None: - ### TODO(zms): self._default_n_episode comes from self.reset_policy() - if self._default_n_episode is None: - raise RuntimeError("Please specify collect n_episode") - else: - ctx.n_episode = self._default_n_episode - ### TODO(zms): self._env_num comes from self.reset_env() - assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" - - if ctx.policy_kwargs is None: - ctx.policy_kwargs = {} - - collected_episode = 0 - return_data = [[] for _ in range(2)] - return_info = [[] for _ in range(2)] - ready_env_id = set() - remain_episode = ctx.n_episode - - while True: - with self._timer: - # Get current env obs. - obs = self._env.ready_obs - new_available_env_id = set(obs.keys()).difference(ready_env_id) - ready_env_id = ready_env_id.union(set(list(new_available_env_id)[:remain_episode])) - remain_episode -= min(len(new_available_env_id), remain_episode) - obs = {env_id: obs[env_id] for env_id in ready_env_id} - - # Policy forward. - ### TODO(zms): self._obs_pool comes from self.reset - self._obs_pool.update(obs) - if self._transform_obs: - obs = to_tensor(obs, dtype=torch.float32) - obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(self._policy)] - - ### TODO(zms): self._policy_output_pool comes from self.reset - self._policy_output_pool.update(policy_output) - # Interact with env. - actions = {} - for env_id in ready_env_id: - actions[env_id] = [] - for output in policy_output: - actions[env_id].append(output[env_id]['action']) - actions = to_ndarray(actions) - timesteps = self._env.step(actions) - - # TODO(nyz) this duration may be inaccurate in async env - interaction_duration = self._timer.value / len(timesteps) - - # TODO(nyz) vectorize this for loop - for env_id, timestep in timesteps.items(): - # TODO(zms): self._env_info comes from self.reset() - self._env_info[env_id]['step'] += 1 - # TODO(zms): self._total_envstep_count comes from self.reset() - self._total_envstep_count += 1 - with self._timer: - for policy_id, policy in enumerate(self._policy): - policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] - policy_timestep = type(timestep)(*policy_timestep_data) - transition = self._policy[policy_id].process_transition( - # TODO(zms): self._policy_output_pool comes from self.reset() - self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], - policy_timestep - ) - transition['collect_iter'] = ctx.train_iter - # TODO(zms): self._traj_buffer comes from self.reset() - self._traj_buffer[env_id][policy_id].append(transition) - # prepare data - if timestep.done: - # TODO(zms): to get rid of collector, "to_tensor_transitions" function should be removed and must be somewhere else. - transitions = to_tensor_transitions(self._traj_buffer[env_id][policy_id]) - if self._cfg.get_train_sample: - train_sample = self._policy[policy_id].get_train_sample(transitions) - return_data[policy_id].extend(train_sample) - else: - return_data[policy_id].append(transitions) - self._traj_buffer[env_id][policy_id].clear() - - self._env_info[env_id]['time'] += self._timer.value + interaction_duration - - # If env is done, record episode info and reset - if timestep.done: - # TODO(zms): self._total_episode_count comes from self.reset() - self._total_episode_count += 1 - info = { - 'reward0': timestep.info[0]['final_eval_reward'], - 'reward1': timestep.info[1]['final_eval_reward'], - 'time': self._env_info[env_id]['time'], - 'step': self._env_info[env_id]['step'], - } - collected_episode += 1 - # TODO(zms): self._episode_info comes from self.reset() - self._episode_info.append(info) - for i, p in enumerate(self._policy): - p.reset([env_id]) - # TODO(zms): define self._reset_stat - self._reset_stat(env_id) - ready_env_id.remove(env_id) - for policy_id in range(2): - return_info[policy_id].append(timestep.info[policy_id]) - if collected_episode >= ctx.n_episode: - break - # log - ### TODO: how to deal with log here? - # self._output_log(ctx.train_iter) - ctx.return_data = return_data - ctx.return_info = return_info diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 757752b88d..8ec78c1efb 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -9,14 +9,12 @@ from easydict import EasyDict from ding.envs import BaseEnvManager -from .functional import inferencer, rolloutor, TransitionList - from typing import TYPE_CHECKING if TYPE_CHECKING: from ding.framework import OnlineRLContext from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel - from ding.framework.middleware.functional.collector import BattleCollector + from ding.framework.middleware import BattleCollector @dataclass class ActorData: @@ -51,22 +49,6 @@ class Job: train_iter: int = None is_eval: bool = False -# class Agent: -# HAS_MODEL = False -# HAS_TEACHER_MODEL = False -# HAS_SUCCESSIVE_MODEL = False -# def __init__(self, cfg=None, env_id=0): -# pass - -# def reset(self, map_name, race, game_info, obs): -# pass - -# def step(self, obs): -# action = {'func_id': 0, 'skip_steps': 1, -# 'queued': False, 'unit_tags': [0], -# 'target_unit_tag': 0, 'location': [0, 0]} -# return [action] - class LeagueActor: @@ -141,7 +123,7 @@ def send_actor_data(train_data: List): ctx.train_iter = main_player.total_agent_step ctx.policy_kwargs = None - train_data, episode_info = collector.collect(ctx) + train_data, episode_info = collector(ctx) train_data, episode_info = train_data[0], episode_info[0] # only use main player data for training send_actor_data(train_data) send_actor_job(episode_info) From 609c10904d89b7fd43af1b1a4324d50d8a78e399 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 16:14:09 +0800 Subject: [PATCH 026/229] input policies inside ctx --- ding/framework/middleware/collector.py | 87 ++++++++++---------------- 1 file changed, 32 insertions(+), 55 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 1b0258a7e4..468319ef91 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,6 +14,24 @@ from ding.torch_utils import to_tensor, to_ndarray from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, INF, to_tensor_transitions +def reset_policy(_policy: Optional[List[namedtuple]] = None): + + def _reset_policy(ctx: OnlineRLContext): + if _policy is not None: + assert len(_policy) > 1, "battle collector needs more than 1 policies" + ctx._policy = _policy + ctx._default_n_episode = _policy[0].get_attribute('cfg').collect.get('n_episode', None) + # ctx._unroll_len = _policy[0].get_attribute('unroll_len') # unuseful here + # ctx._on_policy = _policy[0].get_attribute('cfg').on_policy # unuseful here + # ctx._traj_len = INF + + for p in ctx._policy: + p.reset() + + return _reset_policy + + + class BattleCollector(): def __init__( @@ -29,11 +47,9 @@ def __init__( self._end_flag = False self._traj_len = float("inf") - # TODO(zms) call self.reset() to reset policy and env - self._policy = policy - self._env = env + self._reset(env) - def reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: + def _reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: """ Overview: Reset the environment. @@ -51,35 +67,10 @@ def reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: else: self._env.reset() - def reset_policy(self, _policy: Optional[List[namedtuple]] = None) -> None: - """ - Overview: - Reset the policy. - If _policy is None, reset the old policy. - If _policy is not None, replace the old policy in the collector with the new passed in policy. - Arguments: - - policy (:obj:`Optional[List[namedtuple]]`): the api namedtuple of collect_mode policy - """ - assert hasattr(self, '_env'), "please set env first" - if _policy is not None: - assert len(_policy) == 2, "1v1 episode collector needs 2 policy, but found {}".format(len(_policy)) - self._policy = _policy - self._default_n_episode = _policy[0].get_attribute('cfg').collect.get('n_episode', None) - self._unroll_len = _policy[0].get_attribute('unroll_len') - self._on_policy = _policy[0].get_attribute('cfg').on_policy - self._traj_len = INF - # self._logger.debug( - # 'Set default n_episode mode(n_episode({}), env_num({}), traj_len({}))'.format( - # self._default_n_episode, self._env_num, self._traj_len - # ) - # ) - for p in self._policy: - p.reset() - - def reset(self, _policy: Optional[List[namedtuple]] = None, _env: Optional[BaseEnvManager] = None) -> None: + def _reset(self, _env: Optional[BaseEnvManager] = None) -> None: """ Overview: - Reset the environment and policy. + Reset the environment. If _env is None, reset the old environment. If _env is not None, replace the old environment in the collector with the new passed \ in environment and launch. @@ -91,9 +82,7 @@ def reset(self, _policy: Optional[List[namedtuple]] = None, _env: Optional[BaseE env_manager(BaseEnvManager) """ if _env is not None: - self.reset_env(_env) - if _policy is not None: - self.reset_policy(_policy) + self._reset_env(_env) self._obs_pool = CachePool('obs', self._env_num, deepcopy=self._deepcopy_obs) self._policy_output_pool = CachePool('policy_output', self._env_num) @@ -127,7 +116,7 @@ def _reset_stat(self, env_id: int) -> None: self._policy_output_pool.reset(env_id) self._env_info[env_id] = {'time': 0., 'step': 0} - def close(self) -> None: + def _close(self) -> None: """ Overview: Close the collector. If end_flag is False, close the environment, flush the tb_logger\ @@ -144,7 +133,7 @@ def __del__(self) -> None: Execute the close command and close the collector. __del__ is automatically called to \ destroy the collector instance when the collector finishes its work """ - self.close() + self._close() def __call__(self, ctx: "OnlineRLContext") -> None: """ @@ -159,12 +148,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: """ if ctx.n_episode is None: - ### TODO(zms): self._default_n_episode comes from self.reset_policy() - if self._default_n_episode is None: + if ctx._default_n_episode is None: raise RuntimeError("Please specify collect n_episode") else: - ctx.n_episode = self._default_n_episode - ### TODO(zms): self._env_num comes from self.reset_env() + ctx.n_episode = ctx._default_n_episode assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" if ctx.policy_kwargs is None: @@ -186,14 +173,12 @@ def __call__(self, ctx: "OnlineRLContext") -> None: obs = {env_id: obs[env_id] for env_id in ready_env_id} # Policy forward. - ### TODO(zms): self._obs_pool comes from self.reset self._obs_pool.update(obs) if self._transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(self._policy)] + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx._policy)] - ### TODO(zms): self._policy_output_pool comes from self.reset self._policy_output_pool.update(policy_output) # Interact with env. actions = {} @@ -209,28 +194,23 @@ def __call__(self, ctx: "OnlineRLContext") -> None: # TODO(nyz) vectorize this for loop for env_id, timestep in timesteps.items(): - # TODO(zms): self._env_info comes from self.reset() self._env_info[env_id]['step'] += 1 - # TODO(zms): self._total_envstep_count comes from self.reset() self._total_envstep_count += 1 with self._timer: - for policy_id, policy in enumerate(self._policy): + for policy_id, policy in enumerate(ctx._policy): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) - transition = self._policy[policy_id].process_transition( - # TODO(zms): self._policy_output_pool comes from self.reset() + transition = ctx._policy[policy_id].process_transition( self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], policy_timestep ) transition['collect_iter'] = ctx.train_iter - # TODO(zms): self._traj_buffer comes from self.reset() self._traj_buffer[env_id][policy_id].append(transition) # prepare data if timestep.done: - # TODO(zms): to get rid of collector, "to_tensor_transitions" function should be removed and must be somewhere else. transitions = to_tensor_transitions(self._traj_buffer[env_id][policy_id]) if self._cfg.get_train_sample: - train_sample = self._policy[policy_id].get_train_sample(transitions) + train_sample = ctx._policy[policy_id].get_train_sample(transitions) return_data[policy_id].extend(train_sample) else: return_data[policy_id].append(transitions) @@ -240,7 +220,6 @@ def __call__(self, ctx: "OnlineRLContext") -> None: # If env is done, record episode info and reset if timestep.done: - # TODO(zms): self._total_episode_count comes from self.reset() self._total_episode_count += 1 info = { 'reward0': timestep.info[0]['final_eval_reward'], @@ -249,11 +228,9 @@ def __call__(self, ctx: "OnlineRLContext") -> None: 'step': self._env_info[env_id]['step'], } collected_episode += 1 - # TODO(zms): self._episode_info comes from self.reset() self._episode_info.append(info) - for i, p in enumerate(self._policy): + for i, p in enumerate(ctx._policy): p.reset([env_id]) - # TODO(zms): define self._reset_stat self._reset_stat(env_id) ready_env_id.remove(env_id) for policy_id in range(2): From fa6fe8e54be14a3cbb290706f396a5d4758b9052 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Fri, 27 May 2022 16:58:46 +0800 Subject: [PATCH 027/229] add event enum --- ding/framework/event_enum.py | 30 ++++++++++++------- .../middleware/league_coordinator.py | 8 ++--- .../tests/test_league_coordinator.py | 8 ++--- ding/framework/tests/test_event_num.py | 10 +++++++ 4 files changed, 38 insertions(+), 18 deletions(-) create mode 100644 ding/framework/tests/test_event_num.py diff --git a/ding/framework/event_enum.py b/ding/framework/event_enum.py index bdc8c56462..44e1e69182 100644 --- a/ding/framework/event_enum.py +++ b/ding/framework/event_enum.py @@ -1,18 +1,28 @@ +import re from enum import Enum, unique @unique class EventEnum(Enum): - COORDINATOR_DISPATCH_ACTOR_JOB = 1000 + # template event + TEMPLATE_EVENT = "example_xxx_{actor_id}_{player_id}" - LEARNER_SEND_MODEL = 2000 - LEARNER_SEND_META = 2001 + # events emited by coordinators + COORDINATOR_DISPATCH_ACTOR_JOB = "coordinator_dispatch_actor_job_{actor_id}" - ACTOR_GREETING = 3000 - ACTOR_SEND_DATA = 3001 - ACTOR_FINISH_JOB = 3002 + # events emited by learners + LEARNER_SEND_MODEL = "on_learner_send_model" + LEARNER_SEND_META = "on_learner_send_meta" - def __call__(self, node_id: int = None): - if not node_id: - return "event_{}".format(self.value) - return "event_{}_{}".format(self.value, node_id) \ No newline at end of file + # events emited by actors + ACTOR_GREETING = "actor_greeting" + ACTOR_SEND_DATA = "actor_send_meta" + ACTOR_FINISH_JOB = "actor_finish_job" + + def get_event(self, *args, **kwargs): + args_dict = {} + if args: + params = re.findall(r"\{(.*?)\}", self.value) + args_dict.update(zip(params, args)) + args_dict.update(kwargs) + return self.value.format(**args_dict) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index bb037cdcb8..55283195d6 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -22,9 +22,9 @@ def __init__(self, league: "BaseLeague") -> None: self.league = league self._job_iter = self._job_dispatcher() self._lock = Lock() - task.on(EventEnum.ACTOR_GREETING(), self._on_actor_greeting) - task.on(EventEnum.LEARNER_SEND_META(), self._on_learner_meta) - task.on(EventEnum.ACTOR_FINISH_JOB(), self._on_actor_job) + task.on(EventEnum.ACTOR_GREETING.get_event(), self._on_actor_greeting) + task.on(EventEnum.LEARNER_SEND_META.get_event(), self._on_learner_meta) + task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): with self._lock: @@ -32,7 +32,7 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % 10 == 0: # 1/10 turn job into eval mode job.is_eval = True job.actor_id = actor_id - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), job) + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.get_event(actor_id), job) def _on_actor_job(self, job: "Job"): self.league.update_payoff(job) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 7cc832dbd6..35f97ae21a 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -47,10 +47,10 @@ def _main(): # test ACTOR_GREETING res = [] actor_id = "test_node_{}".format(task.router.node_id) - task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), lambda job: res.append(job)) + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.get_event(actor_id), lambda job: res.append(job)) time.sleep(1) for _ in range(3): - task.emit(EventEnum.ACTOR_GREETING(), actor_id) + task.emit(EventEnum.ACTOR_GREETING.get_event(), actor_id) time.sleep(3) assert actor_id == res[-1].actor_id elif task.router.node_id == 2: @@ -58,7 +58,7 @@ def _main(): actor_id = "test_node_{}".format(task.router.node_id) time.sleep(1) for _ in range(3): - task.emit(EventEnum.LEARNER_SEND_META(), {"meta": actor_id}) + task.emit(EventEnum.LEARNER_SEND_META.get_event(), {"meta": actor_id}) time.sleep(3) elif task.router.node_id == 3: # test ACTOR_FINISH_JOB @@ -66,7 +66,7 @@ def _main(): time.sleep(1) job = Job(-1, actor_id, False) for _ in range(3): - task.emit(EventEnum.ACTOR_FINISH_JOB(), job) + task.emit(EventEnum.ACTOR_FINISH_JOB.get_event(), job) time.sleep(3) else: raise Exception("Invalid node id {}".format(task.router.is_active)) diff --git a/ding/framework/tests/test_event_num.py b/ding/framework/tests/test_event_num.py new file mode 100644 index 0000000000..e2b272d4f9 --- /dev/null +++ b/ding/framework/tests/test_event_num.py @@ -0,0 +1,10 @@ +import py +import pytest +from ding.framework import EventEnum + + +@pytest.mark.unittest +def test_event_enum(): + assert EventEnum.TEMPLATE_EVENT.get_event(12, 34) == "example_xxx_12_34" + assert EventEnum.TEMPLATE_EVENT.get_event(12, player_id=34) == "example_xxx_12_34" + assert EventEnum.TEMPLATE_EVENT.get_event(actor_id=12, player_id=34) == "example_xxx_12_34" \ No newline at end of file From bc9ef75edd220bfaebad3c6679f538d906842af1 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 20:43:03 +0800 Subject: [PATCH 028/229] change test --- .../middleware/tests/test_league_actor.py | 87 +++++++++++-------- 1 file changed, 49 insertions(+), 38 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 6818a25a7a..118c4b1971 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -1,58 +1,69 @@ -from ding.model import DQN -from ding.policy import DQNPolicy -from ding.envs import DingEnvWrapper, BaseEnvManagerV2 -from ding.data import DequeBuffer -from ding.config import compile_config -from ding.framework import task, Parallel -from ding.framework.context import OnlineRLContext -from ding.framework.middleware import LeagueActor, Job -from ding.utils import set_pkg_seed -from dizoo.classic_control.cartpole.config.cartpole_dqn_config import main_config, create_config -from dizoo.distar.envs.distar_env import DIStarEnv -from distar.ctools.utils import read_config +from time import sleep +import pytest from copy import deepcopy +from ding.envs import BaseEnvManager +from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware.league_actor import ActorData, LeagueActor, Job -distar_cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') -cfg = compile_config(main_config, create_cfg=create_config, auto=True) +from ding.framework.task import Task +from ding.model import VAC +from ding.policy.ppo import PPOPolicy +from dizoo.league_demo.game_env import GameEnv -def prepare_test(): +class MockLeague: + def __init__(self): + self.active_players_ids = ["test_node_1", "test_node_2", "test_node_3"] + self.update_payoff_cnt = 0 + self.update_active_player_cnt = 0 + self.create_historical_player_cnt = 0 + self.get_job_info_cnt = 0 + def update_payoff(self, job): + self.update_payoff_cnt += 1 + # print("update_payoff: {}".format(job)) + + def update_active_player(self, meta): + self.update_active_player_cnt += 1 + # print("update_active_player: {}".format(meta)) + + def create_historical_player(self, meta): + self.create_historical_player_cnt += 1 + # print("create_historical_player: {}".format(meta)) + + def get_job_info(self, player_id): + self.get_job_info_cnt += 1 + # print("get_job_info") + return Job(231890, player_id, False) + +def prepare_test(): global cfg cfg = deepcopy(cfg) def env_fn(): - env = BaseEnvManagerV2( - env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], - cfg=cfg.env.manager + env = BaseEnvManager( + env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) env.seed(cfg.seed) return env - + def policy_fn(): - model = DQN(**cfg.policy.model) - policy = DQNPolicy(cfg.policy, model=model) + model = VAC(**cfg.policy.model) + policy = PPOPolicy(cfg.policy, model=model) return policy - - return cfg, env_fn, policy_fn + + league = BaseLeague(cfg.policy.other.league) + return cfg, env_fn, policy_fn, league + def main(): cfg, env_fn, policy_fn = prepare_test() + task.start() - with task.start(async_mode=False, ctx=OnlineRLContext()): - if task.router.node_id == 0: - collector_env = BaseEnvManagerV2( - env_fn=[lambda: DingEnvWrapper(DIStarEnv(distar_cfg)) for _ in range(cfg.env.collector_env_num)], - cfg=cfg.env.manager - ) - - set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) - - model = DQN(**cfg.policy.model) - policy = DQNPolicy(cfg.policy, model=model) - - task.use(LeagueActor(cfg, env_fn, policy_fn)) - elif task.router.node_id == 1: - pass + if task.router.node_id == 0: + LeagueActor() + elif task.router.node_id == 1: + pass if __name__ == "__main__": Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(main) \ No newline at end of file From 709425a48a14373ea371d9a34f9d6204b2e70b53 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 21:12:12 +0800 Subject: [PATCH 029/229] for tets --- .../middleware/tests/league_config.py | 161 ++++++++++++++++++ .../middleware/tests/test_league_actor.py | 32 +++- 2 files changed, 186 insertions(+), 7 deletions(-) create mode 100644 ding/framework/middleware/tests/league_config.py diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py new file mode 100644 index 0000000000..27a5d9373c --- /dev/null +++ b/ding/framework/middleware/tests/league_config.py @@ -0,0 +1,161 @@ +from easydict import EasyDict +cfg = EasyDict( + { + 'env': { + 'manager': { + 'episode_num': 100000, + 'max_retry': 1, + 'retry_type': 'reset', + 'auto_reset': True, + 'step_timeout': None, + 'reset_timeout': None, + 'retry_waiting_time': 0.1, + 'cfg_type': 'BaseEnvManagerDict', + 'shared_memory': False + }, + 'collector_env_num': 2, + 'evaluator_env_num': 10, + 'n_evaluator_episode': 100, + 'env_type': 'prisoner_dilemma', + 'stop_value': [-10.1, -5.05] + }, + 'policy': { + 'model': { + 'obs_shape': 2, + 'action_shape': 2, + 'action_space': 'discrete', + 'encoder_hidden_size_list': [32, 32], + 'critic_head_hidden_size': 32, + 'actor_head_hidden_size': 32, + 'share_encoder': False + }, + 'learn': { + 'learner': { + 'train_iterations': 1000000000, + 'dataloader': { + 'num_workers': 0 + }, + 'log_policy': False, + 'hook': { + 'load_ckpt_before_run': '', + 'log_show_after_iter': 100, + 'save_ckpt_after_iter': 10000, + 'save_ckpt_after_run': True + }, + 'cfg_type': 'BaseLearnerDict' + }, + 'multi_gpu': False, + 'epoch_per_collect': 10, + 'batch_size': 32, + 'learning_rate': 1e-05, + 'value_weight': 0.5, + 'entropy_weight': 0.0, + 'clip_ratio': 0.2, + 'adv_norm': True, + 'value_norm': True, + 'ppo_param_init': True, + 'grad_clip_type': 'clip_norm', + 'grad_clip_value': 0.5, + 'ignore_done': False, + 'update_per_collect': 3, + 'scheduler': { + 'schedule_flag': False, + 'schedule_mode': 'reduce', + 'factor': 0.005, + 'change_range': [0, 1], + 'threshold': 0.5, + 'patience': 50 + } + }, + 'collect': { + 'collector': { + 'deepcopy_obs': False, + 'transform_obs': False, + 'collect_print_freq': 100, + 'get_train_sample': True, + 'cfg_type': 'BattleEpisodeSerialCollectorDict' + }, + 'unroll_len': 1, + 'discount_factor': 1.0, + 'gae_lambda': 1.0, + 'n_episode': 128 + }, + 'eval': { + 'evaluator': { + 'eval_freq': 50, + 'cfg_type': 'BattleInteractionSerialEvaluatorDict', + 'stop_value': [-10.1, -5.05], + 'n_episode': 100 + } + }, + 'other': { + 'replay_buffer': { + 'type': 'naive', + 'replay_buffer_size': 10000, + 'deepcopy': False, + 'enable_track_used_data': False, + 'periodic_thruput_seconds': 60, + 'cfg_type': 'NaiveReplayBufferDict' + }, + 'league': { + 'player_category': ['default'], + 'path_policy': 'league_demo/policy', + 'active_players': { + 'main_player': 2 + }, + 'main_player': { + 'one_phase_step': 200, + 'branch_probs': { + 'pfsp': 0.0, + 'sp': 1.0 + }, + 'strong_win_rate': 0.7 + }, + 'main_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'main_players': 1.0 + }, + 'strong_win_rate': 0.7, + 'min_valid_win_rate': 0.3 + }, + 'league_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'pfsp': 1.0 + }, + 'strong_win_rate': 0.7, + 'mutate_prob': 0.5 + }, + 'use_pretrain': False, + 'use_pretrain_init_historical': False, + 'payoff': { + 'type': 'battle', + 'decay': 0.99, + 'min_win_rate_games': 8 + }, + 'metric': { + 'mu': 0, + 'sigma': 8.333333333333334, + 'beta': 4.166666666666667, + 'tau': 0.0, + 'draw_probability': 0.02 + } + } + }, + 'type': 'ppo', + 'cuda': False, + 'on_policy': True, + 'priority': False, + 'priority_IS_weight': False, + 'recompute_adv': True, + 'action_space': 'discrete', + 'nstep_return': False, + 'multi_agent': False, + 'transition_with_policy_data': True, + 'cfg_type': 'PPOPolicyDict' + }, + 'exp_name': 'league_demo', + 'seed': 0 + } +) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 118c4b1971..e8aed67fc8 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -2,15 +2,22 @@ import pytest from copy import deepcopy from ding.envs import BaseEnvManager -from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware.league_actor import ActorData, LeagueActor, Job -from ding.framework.task import Task +from ding.framework.task import task, Parallel from ding.model import VAC from ding.policy.ppo import PPOPolicy from dizoo.league_demo.game_env import GameEnv +from dataclasses import dataclass + +@dataclass +class LearnerModel: + player_id: str + state_dict: dict + train_iter: int = 0 + class MockLeague: def __init__(self): self.active_players_ids = ["test_node_1", "test_node_2", "test_node_3"] @@ -52,18 +59,29 @@ def policy_fn(): policy = PPOPolicy(cfg.policy, model=model) return policy - league = BaseLeague(cfg.policy.other.league) + league = MockLeague() return cfg, env_fn, policy_fn, league def main(): - cfg, env_fn, policy_fn = prepare_test() + cfg, env_fn, policy_fn, league = prepare_test() + policy = policy_fn() task.start() + ACTOR_ID = 0 + + def on_actor_greeting(actor_id): + assert actor_id == ACTOR_ID + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) - if task.router.node_id == 0: - LeagueActor() + if task.router.node_id == ACTOR_ID: + league_actor = LeagueActor(cfg, env_fn, policy_fn) elif task.router.node_id == 1: - pass + task.on('actor_greeting', on_actor_greeting) if __name__ == "__main__": Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(main) \ No newline at end of file From 532d28eefb371a3cc4becddc03b77e775aa98a1b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 21:18:04 +0800 Subject: [PATCH 030/229] for test --- ding/framework/middleware/league_actor.py | 11 +- .../middleware/tests/test_league_actor.py | 3 +- ding/league/v2/__init__.py | 1 + ding/league/v2/base_league.py | 212 ++++++++++++++++++ 4 files changed, 216 insertions(+), 11 deletions(-) create mode 100644 ding/league/v2/__init__.py create mode 100644 ding/league/v2/base_league.py diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 8ec78c1efb..6094923529 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -12,6 +12,7 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: from ding.framework import OnlineRLContext + from ding.league.v2.base_league import Job from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector @@ -40,16 +41,6 @@ class PlayerMeta: checkpoint: "Storage" total_agent_step: int = 0 -@dataclass -class Job: - launch_player: str - players: List["PlayerMeta"] - result: list = field(default_factory=list) - job_no: int = 0 # Serial number of job, not required - train_iter: int = None - is_eval: bool = False - - class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index e8aed67fc8..eeafce34e8 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -3,9 +3,10 @@ from copy import deepcopy from ding.envs import BaseEnvManager from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware.league_actor import ActorData, LeagueActor, Job +from ding.framework.middleware.league_actor import ActorData, LeagueActor from ding.framework.task import task, Parallel +from ding.league.v2.base_league import BaseLeague, Job from ding.model import VAC from ding.policy.ppo import PPOPolicy from dizoo.league_demo.game_env import GameEnv diff --git a/ding/league/v2/__init__.py b/ding/league/v2/__init__.py new file mode 100644 index 0000000000..0eb76f750a --- /dev/null +++ b/ding/league/v2/__init__.py @@ -0,0 +1 @@ +from .base_league import BaseLeague, Job diff --git a/ding/league/v2/base_league.py b/ding/league/v2/base_league.py new file mode 100644 index 0000000000..260f34d951 --- /dev/null +++ b/ding/league/v2/base_league.py @@ -0,0 +1,212 @@ +from dataclasses import dataclass, field +from typing import List +import copy +from easydict import EasyDict + +from ding.league.player import ActivePlayer, HistoricalPlayer, create_player +from ding.league.shared_payoff import create_payoff +from ding.utils import deep_merge_dicts +from ding.league.metric import LeagueMetricEnv +from ding.framework.storage import Storage +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from ding.league import Player, PlayerMeta + + +@dataclass +class Job: + launch_player: str + players: List["PlayerMeta"] + result: list = field(default_factory=list) + job_no: int = 0 # Serial number of job, not required + train_iter: int = None + is_eval: bool = False + + +class BaseLeague: + """ + Overview: + League, proposed by Google Deepmind AlphaStar. Can manage multiple players in one league. + Interface: + get_job_info, create_historical_player, update_active_player, update_payoff + + .. note:: + In ``__init__`` method, league would also initialized players as well(in ``_init_players`` method). + """ + + @classmethod + def default_config(cls: type) -> EasyDict: + cfg = EasyDict(copy.deepcopy(cls.config)) + cfg.cfg_type = cls.__name__ + 'Dict' + return cfg + + config = dict( + league_type='baseV2', + import_names=["ding.league.v2.base_league"], + # ---player---- + # "player_category" is just a name. Depends on the env. + # For example, in StarCraft, this can be ['zerg', 'terran', 'protoss']. + player_category=['default'], + # Support different types of active players for solo and battle league. + # For solo league, supports ['solo_active_player']. + # For battle league, supports ['battle_active_player', 'main_player', 'main_exploiter', 'league_exploiter']. + # active_players=dict(), + # "use_pretrain" means whether to use pretrain model to initialize active player. + use_pretrain=False, + # "use_pretrain_init_historical" means whether to use pretrain model to initialize historical player. + # "pretrain_checkpoint_path" is the pretrain checkpoint path used in "use_pretrain" and + # "use_pretrain_init_historical". If both are False, "pretrain_checkpoint_path" can be omitted as well. + # Otherwise, "pretrain_checkpoint_path" should list paths of all player categories. + use_pretrain_init_historical=False, + pretrain_checkpoint_path=dict(default='default_cate_pretrain.pth', ), + # ---payoff--- + payoff=dict( + # Supports ['battle'] + type='battle', + decay=0.99, + min_win_rate_games=8, + ), + metric=dict( + mu=0, + sigma=25 / 3, + beta=25 / 3 / 2, + tau=0.0, + draw_probability=0.02, + ), + ) + + def __init__(self, cfg: EasyDict) -> None: + """ + Overview: + Initialization method. + Arguments: + - cfg (:obj:`EasyDict`): League config. + """ + self.cfg = deep_merge_dicts(self.default_config(), cfg) + self.active_players: List["ActivePlayer"] = [] + self.historical_players: List["HistoricalPlayer"] = [] + self.payoff = create_payoff(self.cfg.payoff) + metric_cfg = self.cfg.metric + self.metric_env = LeagueMetricEnv(metric_cfg.mu, metric_cfg.sigma, metric_cfg.tau, metric_cfg.draw_probability) + self._init_players() + + def _init_players(self) -> None: + """ + Overview: + Initialize players (active & historical) in the league. + """ + # Add different types of active players for each player category, according to ``cfg.active_players``. + for cate in self.cfg.player_category: # Player's category (Depends on the env) + for k, n in self.cfg.active_players.items(): # Active player's type + for i in range(n): # This type's active player number + name = '{}_{}_{}'.format(k, cate, i) + player = create_player( + self.cfg, k, self.cfg[k], cate, self.payoff, None, name, 0, self.metric_env.create_rating() + ) + self.active_players.append(player) + self.payoff.add_player(player) + + # Add pretrain player as the initial HistoricalPlayer for each player category. + if self.cfg.use_pretrain_init_historical: + for cate in self.cfg.player_category: + main_player_name = [k for k in self.cfg.keys() if 'main_player' in k] + assert len(main_player_name) == 1, main_player_name + main_player_name = main_player_name[0] + name = '{}_{}_0_pretrain_historical'.format(main_player_name, cate) + parent_name = '{}_{}_0'.format(main_player_name, cate) + hp = HistoricalPlayer( + self.cfg.get(main_player_name), + cate, + self.payoff, + self.cfg.pretrain_checkpoint_path[cate], + name, + 0, + self.metric_env.create_rating(), + parent_id=parent_name + ) + self.historical_players.append(hp) + self.payoff.add_player(hp) + + # Save active players' ``player_id`` + self.active_players_ids = [p.player_id for p in self.active_players] + # Validate active players are unique by ``player_id``. + assert len(self.active_players_ids) == len(set(self.active_players_ids)) + + def get_job_info(self, player_id: str = None) -> Job: + """ + Overview: + Get info dict of the job which is to be launched to an active player. + Arguments: + - player_id (:obj:`str`): The active player's id. + Returns: + - job_info (:obj:`dict`): Job info. + ReturnsKeys: + - necessary: ``launch_player`` (the active player) + """ + if player_id is None: + player_id = self.active_players_ids[0] + idx = self.active_players_ids.index(player_id) + player = self.active_players[idx] + player_job_info = player.get_job() + opponent_player = player_job_info["opponent"] + job = Job(launch_player=player_id, players=[player.meta, opponent_player.meta]) + return job + + def create_historical_player(self, player_meta: "PlayerMeta", force: bool = False) -> None: + """ + Overview: + Judge whether a player is trained enough for snapshot. If yes, call player's ``snapshot``, create a + historical player(prepare the checkpoint and add it to the shared payoff), then mutate it, and return True. + Otherwise, return False. + Arguments: + - player_id (:obj:`ActivePlayer`): The active player's id. + """ + idx = self.active_players_ids.index(player_meta.player_id) + player: "ActivePlayer" = self.active_players[idx] + if force or (player_meta.checkpoint and player.is_trained_enough()): + # Snapshot + hp = player.snapshot(self.metric_env, player_meta.checkpoint) + self.historical_players.append(hp) + self.payoff.add_player(hp) + + def update_active_player(self, player_meta: "PlayerMeta") -> None: + """ + Overview: + Update an active player's info. + Arguments: + - player_id (:obj:`str`): Player id. + - train_iter (:obj:`int`): Train iteration. + """ + idx = self.active_players_ids.index(player_meta.player_id) + player = self.active_players[idx] + if isinstance(player, ActivePlayer): + player.total_agent_step = player_meta.total_agent_step + + def update_payoff(self, job: Job) -> None: + """ + Overview: + Finish current job. Update shared payoff to record the game results. + Arguments: + - job_info (:obj:`dict`): A dict containing job result information. + """ + job_info = { + "launch_player": job.launch_player, + "player_id": list(map(lambda p: p.player_id, job.players)), + "result": job.result + } + self.payoff.update(job_info) + # Update player rating + home_id, away_id = job_info['player_id'] + home_player, away_player = self.get_player_by_id(home_id), self.get_player_by_id(away_id) + job_info_result = job_info['result'] + if isinstance(job_info_result[0], list): + job_info_result = sum(job_info_result, []) + home_player.rating, away_player.rating = self.metric_env.rate_1vs1( + home_player.rating, away_player.rating, result=job_info_result + ) + + def get_player_by_id(self, player_id: str) -> 'Player': + if 'historical' in player_id: + return [p for p in self.historical_players if p.player_id == player_id][0] + else: + return [p for p in self.active_players if p.player_id == player_id][0] From d7203dc7c7c60eabeb573f59e6c2ac5e7245cb94 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 27 May 2022 21:31:19 +0800 Subject: [PATCH 031/229] for test --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/league_learner.py | 7 +++ .../middleware/tests/test_league_actor.py | 58 ++++++++----------- 3 files changed, 33 insertions(+), 34 deletions(-) create mode 100644 ding/framework/middleware/league_learner.py diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index ab45651c01..e701f5e4bb 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -2,4 +2,4 @@ from .collector import StepCollector, EpisodeCollector, BattleCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver -from .league_actor import LeagueActor, Job \ No newline at end of file +from .league_actor import LeagueActor \ No newline at end of file diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py new file mode 100644 index 0000000000..a80c861ab4 --- /dev/null +++ b/ding/framework/middleware/league_learner.py @@ -0,0 +1,7 @@ +from dataclasses import dataclass + +@dataclass +class LearnerModel: + player_id: str + state_dict: dict + train_iter: int = 0 \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index eeafce34e8..2b00c3e2f1 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -2,6 +2,7 @@ import pytest from copy import deepcopy from ding.envs import BaseEnvManager +from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware.league_actor import ActorData, LeagueActor @@ -13,37 +14,6 @@ from dataclasses import dataclass -@dataclass -class LearnerModel: - player_id: str - state_dict: dict - train_iter: int = 0 - -class MockLeague: - def __init__(self): - self.active_players_ids = ["test_node_1", "test_node_2", "test_node_3"] - self.update_payoff_cnt = 0 - self.update_active_player_cnt = 0 - self.create_historical_player_cnt = 0 - self.get_job_info_cnt = 0 - - def update_payoff(self, job): - self.update_payoff_cnt += 1 - # print("update_payoff: {}".format(job)) - - def update_active_player(self, meta): - self.update_active_player_cnt += 1 - # print("update_active_player: {}".format(meta)) - - def create_historical_player(self, meta): - self.create_historical_player_cnt += 1 - # print("create_historical_player: {}".format(meta)) - - def get_job_info(self, player_id): - self.get_job_info_cnt += 1 - # print("get_job_info") - return Job(231890, player_id, False) - def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -60,14 +30,17 @@ def policy_fn(): policy = PPOPolicy(cfg.policy, model=model) return policy - league = MockLeague() + league = BaseLeague(cfg.policy.other.league) return cfg, env_fn, policy_fn, league def main(): cfg, env_fn, policy_fn, league = prepare_test() policy = policy_fn() + league: BaseLeague task.start() + + job: Job = league.get_job_info() ACTOR_ID = 0 def on_actor_greeting(actor_id): @@ -81,8 +54,27 @@ def on_actor_data(actor_data): if task.router.node_id == ACTOR_ID: league_actor = LeagueActor(cfg, env_fn, policy_fn) + elif task.router.node_id == 1: task.on('actor_greeting', on_actor_greeting) + task.on("actor_job", on_actor_job) + task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + + sleep(0.3) + task.emit("league_job_actor_{}".format(task.router.node_id), job) + sleep(0.3) + assert league_actor._model_updated == False + + task.emit( + "learner_model", + LearnerModel( + player_id=league.active_players_ids[0], state_dict=policy.learn_mode.state_dict(), train_iter=0 + ) + ) + sleep(0.3) + assert league_actor._model_updated == True + + task.finish = True if __name__ == "__main__": - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(main) \ No newline at end of file + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="star")(main) \ No newline at end of file From b6b506cb7e6cb9cc50c63d288885c437848cdb76 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 00:08:38 +0800 Subject: [PATCH 032/229] test pass --- ding/framework/middleware/collector.py | 16 ++-- ding/framework/middleware/league_actor.py | 55 +++++++++---- .../middleware/tests/test_league_actor.py | 78 +++++++++++++------ ding/framework/storage/__init__.py | 2 + ding/framework/storage/file.py | 12 +++ ding/framework/storage/storage.py | 16 ++++ ding/framework/storage/tests/test_storage.py | 18 +++++ 7 files changed, 148 insertions(+), 49 deletions(-) create mode 100644 ding/framework/storage/__init__.py create mode 100644 ding/framework/storage/file.py create mode 100644 ding/framework/storage/storage.py create mode 100644 ding/framework/storage/tests/test_storage.py diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 468319ef91..fc01e17cc4 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -5,8 +5,8 @@ from ding.framework import task from .functional import inferencer, rolloutor, TransitionList -if TYPE_CHECKING: - from ding.framework import OnlineRLContext +# if TYPE_CHECKING: +from ding.framework import OnlineRLContext import torch from collections import namedtuple @@ -33,12 +33,11 @@ def _reset_policy(ctx: OnlineRLContext): -class BattleCollector(): +class BattleCollector: def __init__( self, cfg: EasyDict, env: BaseEnvManager = None, - policy: List[namedtuple] = None ): self._deepcopy_obs = cfg.deepcopy_obs self._transform_obs = cfg.transform_obs @@ -46,7 +45,6 @@ def __init__( self._timer = EasyTimer() self._end_flag = False self._traj_len = float("inf") - self._reset(env) def _reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: @@ -146,7 +144,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ - + ctx.envstep = self._total_envstep_count if ctx.n_episode is None: if ctx._default_n_episode is None: raise RuntimeError("Please specify collect n_episode") @@ -162,7 +160,6 @@ def __call__(self, ctx: "OnlineRLContext") -> None: return_info = [[] for _ in range(2)] ready_env_id = set() remain_episode = ctx.n_episode - while True: with self._timer: # Get current env obs. @@ -196,6 +193,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: for env_id, timestep in timesteps.items(): self._env_info[env_id]['step'] += 1 self._total_envstep_count += 1 + ctx.envstep = self._total_envstep_count with self._timer: for policy_id, policy in enumerate(ctx._policy): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] @@ -240,8 +238,8 @@ def __call__(self, ctx: "OnlineRLContext") -> None: # log ### TODO: how to deal with log here? # self._output_log(ctx.train_iter) - ctx.return_data = return_data - ctx.return_info = return_info + ctx.train_data = return_data + ctx.episode_info = return_info class StepCollector: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 6094923529..2b2a07a77f 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -9,13 +9,12 @@ from easydict import EasyDict from ding.envs import BaseEnvManager -from typing import TYPE_CHECKING -if TYPE_CHECKING: - from ding.framework import OnlineRLContext - from ding.league.v2.base_league import Job - from ding.policy import Policy - from ding.framework.middleware.league_learner import LearnerModel - from ding.framework.middleware import BattleCollector +from ding.framework import OnlineRLContext +from ding.league.v2.base_league import Job +from ding.policy import Policy +from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware import BattleCollector +from ding.framework.middleware.collector import reset_policy @dataclass class ActorData: @@ -82,7 +81,6 @@ def _on_league_job(self, job: "Job"): "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) ) sleep(1) - collector = self._get_collector(job.launch_player) policies = [] main_player: "PlayerMeta" = None @@ -91,10 +89,10 @@ def _on_league_job(self, job: "Job"): if player.player_id == job.launch_player: main_player = player # inferencer,rolloutor = self._get_collector(player.player_id) - assert main_player, "Can not find active player" - collector.reset_policy(policies) + ctx = OnlineRLContext() + reset_policy(policies)(ctx) def send_actor_job(episode_info: List): job.result = [e['result'] for e in episode_info] task.emit("actor_job", job) @@ -106,16 +104,16 @@ def send_actor_data(train_data: List): for d in train_data: d["adv"] = d["reward"] - actor_data = ActorData(env_step=collector.envstep, train_data=train_data) + actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - ctx = OnlineRLContext() + ctx.n_episode = None ctx.train_iter = main_player.total_agent_step ctx.policy_kwargs = None - train_data, episode_info = collector(ctx) - train_data, episode_info = train_data[0], episode_info[0] # only use main player data for training + collector(ctx) + train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training send_actor_data(train_data) send_actor_job(episode_info) @@ -151,8 +149,35 @@ def __call__(self): sleep(3) # used for test +# if __name__ == '__main__': +# actor = LeagueActor() + + if __name__ == '__main__': - actor = LeagueActor() + from copy import deepcopy + from ding.framework.middleware.tests.league_config import cfg + from dizoo.league_demo.game_env import GameEnv + + def prepare_test(): + global cfg + cfg = deepcopy(cfg) + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + return cfg, env_fn + + cfg, env_fn = prepare_test() + collector = BattleCollector( + cfg.policy.collect.collector, + env_fn() + ) + ctx = OnlineRLContext() + reset_policy(None)(ctx) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 2b00c3e2f1..0670257fe9 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -4,10 +4,11 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware.league_actor import ActorData, LeagueActor +from ding.framework.middleware.league_actor import ActorData, LeagueActor, PlayerMeta +from ding.framework.storage import FileStorage from ding.framework.task import task, Parallel -from ding.league.v2.base_league import BaseLeague, Job +from ding.league.v2.base_league import Job from ding.model import VAC from ding.policy.ppo import PPOPolicy from dizoo.league_demo.game_env import GameEnv @@ -30,51 +31,78 @@ def policy_fn(): policy = PPOPolicy(cfg.policy, model=model) return policy - league = BaseLeague(cfg.policy.other.league) - return cfg, env_fn, policy_fn, league + return cfg, env_fn, policy_fn -def main(): - cfg, env_fn, policy_fn, league = prepare_test() +def test_league_actor(): + cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() - league: BaseLeague task.start() - job: Job = league.get_job_info() + job = Job( + launch_player='main_player_default_0', + players=[ + PlayerMeta( + player_id='main_player_default_0', + checkpoint=FileStorage(path = None), + total_agent_step=0 + ), + PlayerMeta( + player_id='main_player_default_1', + checkpoint=FileStorage(path = None), + total_agent_step=0) + ] + ) ACTOR_ID = 0 - - def on_actor_greeting(actor_id): - assert actor_id == ACTOR_ID - - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - - def on_actor_data(actor_data): - assert isinstance(actor_data, ActorData) if task.router.node_id == ACTOR_ID: + sleep(2) league_actor = LeagueActor(cfg, env_fn, policy_fn) + league_actor() elif task.router.node_id == 1: + + testcases = { + "on_actor_greeting": False, + "on_actor_job": False, + "on_actor_data": False, + } + + def on_actor_greeting(actor_id): + assert actor_id == ACTOR_ID + task.emit("league_job_actor_{}".format(ACTOR_ID), job) + testcases["on_actor_greeting"] = True + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + testcases["on_actor_job"] = True + + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) + testcases["on_actor_data"] = True + task.on('actor_greeting', on_actor_greeting) task.on("actor_job", on_actor_job) task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) sleep(0.3) - task.emit("league_job_actor_{}".format(task.router.node_id), job) - sleep(0.3) - assert league_actor._model_updated == False + # assert league_actor._model_updated == False task.emit( "learner_model", LearnerModel( - player_id=league.active_players_ids[0], state_dict=policy.learn_mode.state_dict(), train_iter=0 + player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(0.3) - assert league_actor._model_updated == True + sleep(5) + # assert league_actor._model_updated == True - task.finish = True + try: + print(testcases) + assert all(testcases.values()) + finally: + task.finish = True if __name__ == "__main__": - Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="star")(main) \ No newline at end of file + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(test_league_actor) \ No newline at end of file diff --git a/ding/framework/storage/__init__.py b/ding/framework/storage/__init__.py new file mode 100644 index 0000000000..6d8c388953 --- /dev/null +++ b/ding/framework/storage/__init__.py @@ -0,0 +1,2 @@ +from .storage import Storage +from .file import FileStorage diff --git a/ding/framework/storage/file.py b/ding/framework/storage/file.py new file mode 100644 index 0000000000..18bcc2c39d --- /dev/null +++ b/ding/framework/storage/file.py @@ -0,0 +1,12 @@ +from typing import Any +from ding.framework.storage import Storage +from ding.utils import read_file, save_file + + +class FileStorage(Storage): + + def save(self, data: Any) -> None: + save_file(self.path, data) + + def load(self) -> Any: + return read_file(self.path) diff --git a/ding/framework/storage/storage.py b/ding/framework/storage/storage.py new file mode 100644 index 0000000000..6ba9e81c9d --- /dev/null +++ b/ding/framework/storage/storage.py @@ -0,0 +1,16 @@ +from abc import abstractmethod +from typing import Any + + +class Storage: + + def __init__(self, path: str) -> None: + self.path = path + + @abstractmethod + def save(self, data: Any) -> None: + raise NotImplementedError + + @abstractmethod + def load(self) -> Any: + raise NotImplementedError diff --git a/ding/framework/storage/tests/test_storage.py b/ding/framework/storage/tests/test_storage.py new file mode 100644 index 0000000000..53eebe3fa2 --- /dev/null +++ b/ding/framework/storage/tests/test_storage.py @@ -0,0 +1,18 @@ +import tempfile +import pytest +import os +from os import path +from ding.framework.storage import FileStorage + + +@pytest.mark.unittest +def test_file_storage(): + path_ = path.join(tempfile.gettempdir(), "test_storage.txt") + try: + storage = FileStorage(path=path_) + storage.save("test") + content = storage.load() + assert content == "test" + finally: + if path.exists(path_): + os.remove(path_) From 9023855b706478d5a82e1deecab3f794e5c7ef81 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 16:12:34 +0800 Subject: [PATCH 033/229] correctly use task --- ding/framework/middleware/league_actor.py | 66 +++++------ .../middleware/tests/test_league_actor.py | 103 ++++++++--------- .../tests/test_league_actor_one_process.py | 108 ++++++++++++++++++ 3 files changed, 193 insertions(+), 84 deletions(-) create mode 100644 ding/framework/middleware/tests/test_league_actor_one_process.py diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 2b2a07a77f..ab7730f17c 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -91,8 +91,7 @@ def _on_league_job(self, job: "Job"): # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "Can not find active player" - ctx = OnlineRLContext() - reset_policy(policies)(ctx) + reset_policy(policies)( self.ctx) def send_actor_job(episode_info: List): job.result = [e['result'] for e in episode_info] task.emit("actor_job", job) @@ -104,16 +103,16 @@ def send_actor_data(train_data: List): for d in train_data: d["adv"] = d["reward"] - actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) + actor_data = ActorData(env_step=self.ctx.envstep, train_data=train_data) task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - ctx.n_episode = None - ctx.train_iter = main_player.total_agent_step - ctx.policy_kwargs = None + self.ctx.n_episode = None + self.ctx.train_iter = main_player.total_agent_step + self.ctx.policy_kwargs = None - collector(ctx) - train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training + collector(self.ctx) + train_data, episode_info = self.ctx.train_data[0], self.ctx.episode_info[0] # only use main player data for training send_actor_data(train_data) send_actor_job(episode_info) @@ -143,7 +142,8 @@ def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": return policy - def __call__(self): + def __call__(self, ctx: "OnlineRLContext"): + self.ctx = ctx if not self._running: task.emit("actor_greeting", task.router.node_id) sleep(3) @@ -153,31 +153,31 @@ def __call__(self): # actor = LeagueActor() -if __name__ == '__main__': - from copy import deepcopy - from ding.framework.middleware.tests.league_config import cfg - from dizoo.league_demo.game_env import GameEnv - - def prepare_test(): - global cfg - cfg = deepcopy(cfg) - - def env_fn(): - env = BaseEnvManager( - env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - ) - env.seed(cfg.seed) - return env - - return cfg, env_fn +# if __name__ == '__main__': +# from copy import deepcopy +# from ding.framework.middleware.tests.league_config import cfg +# from dizoo.league_demo.game_env import GameEnv + +# def prepare_test(): +# global cfg +# cfg = deepcopy(cfg) + +# def env_fn(): +# env = BaseEnvManager( +# env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager +# ) +# env.seed(cfg.seed) +# return env + +# return cfg, env_fn - cfg, env_fn = prepare_test() +# cfg, env_fn = prepare_test() - collector = BattleCollector( - cfg.policy.collect.collector, - env_fn() - ) - ctx = OnlineRLContext() - reset_policy(None)(ctx) +# collector = BattleCollector( +# cfg.policy.collect.collector, +# env_fn() +# ) +# ctx = OnlineRLContext() +# reset_policy(None)(ctx) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 0670257fe9..6b4e49c324 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -37,8 +37,6 @@ def policy_fn(): def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() - task.start() - job = Job( launch_player='main_player_default_0', players=[ @@ -54,55 +52,58 @@ def test_league_actor(): ] ) ACTOR_ID = 0 - - if task.router.node_id == ACTOR_ID: - sleep(2) - league_actor = LeagueActor(cfg, env_fn, policy_fn) - league_actor() - - elif task.router.node_id == 1: - - testcases = { - "on_actor_greeting": False, - "on_actor_job": False, - "on_actor_data": False, - } - - def on_actor_greeting(actor_id): - assert actor_id == ACTOR_ID - task.emit("league_job_actor_{}".format(ACTOR_ID), job) - testcases["on_actor_greeting"] = True - - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - testcases["on_actor_job"] = True - - - def on_actor_data(actor_data): - assert isinstance(actor_data, ActorData) - testcases["on_actor_data"] = True - - task.on('actor_greeting', on_actor_greeting) - task.on("actor_job", on_actor_job) - task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) - - sleep(0.3) - # assert league_actor._model_updated == False - - task.emit( - "learner_model", - LearnerModel( - player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 - ) - ) - sleep(5) - # assert league_actor._model_updated == True - - try: - print(testcases) - assert all(testcases.values()) - finally: - task.finish = True + + with task.start(async_mode=True): + if task.router.node_id == ACTOR_ID: + sleep(2) + league_actor = LeagueActor(cfg, env_fn, policy_fn) + task.use(league_actor) + + elif task.router.node_id == 1: + def test_actor(): + testcases = { + "on_actor_greeting": False, + "on_actor_job": False, + "on_actor_data": False, + } + + def on_actor_greeting(actor_id): + assert actor_id == ACTOR_ID + task.emit("league_job_actor_{}".format(ACTOR_ID), job) + testcases["on_actor_greeting"] = True + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + testcases["on_actor_job"] = True + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) + testcases["on_actor_data"] = True + + task.on('actor_greeting', on_actor_greeting) + task.on("actor_job", on_actor_job) + task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + + def _test_actor(ctx): + sleep(0.3) + + task.emit( + "learner_model", + LearnerModel( + player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 + ) + ) + sleep(5) + try: + print(testcases) + assert all(testcases.values()) + finally: + task.finish = True + return _test_actor + + task.use(test_actor()) + + task.run() if __name__ == "__main__": Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(test_league_actor) \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py new file mode 100644 index 0000000000..3d7ab4241e --- /dev/null +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -0,0 +1,108 @@ +from time import sleep +import pytest +from copy import deepcopy +from ding.envs import BaseEnvManager +from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware.league_actor import ActorData, LeagueActor, PlayerMeta +from ding.framework.storage import FileStorage + +from ding.framework.task import task, Parallel +from ding.framework import OnlineRLContext +from ding.league.v2.base_league import Job +from ding.model import VAC +from ding.policy.ppo import PPOPolicy +from dizoo.league_demo.game_env import GameEnv + +from dataclasses import dataclass + +def prepare_test(): + global cfg + cfg = deepcopy(cfg) + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + model = VAC(**cfg.policy.model) + policy = PPOPolicy(cfg.policy, model=model) + return policy + + return cfg, env_fn, policy_fn + + +@pytest.mark.unittest +def test_league_actor(): + cfg, env_fn, policy_fn = prepare_test() + policy = policy_fn() + with task.start(async_mode=True): + league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + + def test_actor(): + job = Job( + launch_player='main_player_default_0', + players=[ + PlayerMeta( + player_id='main_player_default_0', + checkpoint=FileStorage(path = None), + total_agent_step=0 + ), + PlayerMeta( + player_id='main_player_default_1', + checkpoint=FileStorage(path = None), + total_agent_step=0) + ] + ) + testcases = { + "on_actor_greeting": False, + "on_actor_job": False, + "on_actor_data": False, + } + + def on_actor_greeting(actor_id): + assert actor_id == task.router.node_id + testcases["on_actor_greeting"] = True + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + testcases["on_actor_job"] = True + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) + testcases["on_actor_data"] = True + + task.on("actor_greeting", on_actor_greeting) + task.on("actor_job", on_actor_job) + task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + + def _test_actor(ctx): + sleep(0.3) + task.emit("league_job_actor_{}".format(task.router.node_id), job) + sleep(0.3) + assert league_actor._model_updated == False + + task.emit( + "learner_model", + LearnerModel( + player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 + ) + ) + sleep(0.3) + assert league_actor._model_updated == True + try: + assert all(testcases.values()) + finally: + task.finish = True + + return _test_actor + + task.use(test_actor()) + task.use(league_actor) + task.run() + +if __name__ == "__main__": + test_league_actor() \ No newline at end of file From 1465a52c822ee2af046f58aa74249ba6929177ad Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 16:32:50 +0800 Subject: [PATCH 034/229] change a bit --- ding/framework/middleware/collector.py | 9 +- ding/framework/middleware/league_actor.py | 9 +- .../middleware/tests/test_league_actor.py | 87 +++++++++---------- .../tests/test_league_actor_one_process.py | 1 + 4 files changed, 54 insertions(+), 52 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index fc01e17cc4..da138a7ff7 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,13 +14,12 @@ from ding.torch_utils import to_tensor, to_ndarray from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, INF, to_tensor_transitions -def reset_policy(_policy: Optional[List[namedtuple]] = None): +def reset_policy(): def _reset_policy(ctx: OnlineRLContext): - if _policy is not None: - assert len(_policy) > 1, "battle collector needs more than 1 policies" - ctx._policy = _policy - ctx._default_n_episode = _policy[0].get_attribute('cfg').collect.get('n_episode', None) + if ctx._policy is not None: + assert len(ctx._policy) > 1, "battle collector needs more than 1 policies" + ctx._default_n_episode = ctx._policy[0].get_attribute('cfg').collect.get('n_episode', None) # ctx._unroll_len = _policy[0].get_attribute('unroll_len') # unuseful here # ctx._on_policy = _policy[0].get_attribute('cfg').on_policy # unuseful here # ctx._traj_len = INF diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index ab7730f17c..9bfdc79481 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -54,6 +54,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) + self._policy_reseter = task.wrap(reset_policy()) def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -91,7 +92,9 @@ def _on_league_job(self, job: "Job"): # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "Can not find active player" - reset_policy(policies)( self.ctx) + self.ctx._policy = policies + self._policy_reseter(self.ctx) + def send_actor_job(episode_info: List): job.result = [e['result'] for e in episode_info] task.emit("actor_job", job) @@ -124,10 +127,10 @@ def _get_collector(self, player_id: str): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = BattleCollector( + collector = task.wrap(BattleCollector( cfg.policy.collect.collector, env - ) + )) self._collectors[player_id] = collector return collector diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 6b4e49c324..77c228b10e 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -54,53 +54,52 @@ def test_league_actor(): ACTOR_ID = 0 with task.start(async_mode=True): - if task.router.node_id == ACTOR_ID: - sleep(2) - league_actor = LeagueActor(cfg, env_fn, policy_fn) - task.use(league_actor) - - elif task.router.node_id == 1: - def test_actor(): - testcases = { - "on_actor_greeting": False, - "on_actor_job": False, - "on_actor_data": False, - } - - def on_actor_greeting(actor_id): - assert actor_id == ACTOR_ID - task.emit("league_job_actor_{}".format(ACTOR_ID), job) - testcases["on_actor_greeting"] = True + league_actor = LeagueActor(cfg, env_fn, policy_fn) + + def test_actor(): + testcases = { + "on_actor_greeting": False, + "on_actor_job": False, + "on_actor_data": False, + } + + def on_actor_greeting(actor_id): + assert actor_id == ACTOR_ID + task.emit("league_job_actor_{}".format(ACTOR_ID), job) + testcases["on_actor_greeting"] = True + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + testcases["on_actor_job"] = True + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) + testcases["on_actor_data"] = True - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - testcases["on_actor_job"] = True - - def on_actor_data(actor_data): - assert isinstance(actor_data, ActorData) - testcases["on_actor_data"] = True - - task.on('actor_greeting', on_actor_greeting) - task.on("actor_job", on_actor_job) - task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) - - def _test_actor(ctx): - sleep(0.3) - - task.emit( - "learner_model", - LearnerModel( - player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 - ) + task.on('actor_greeting', on_actor_greeting) + task.on("actor_job", on_actor_job) + task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + + def _test_actor(ctx): + sleep(0.3) + + task.emit( + "learner_model", + LearnerModel( + player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) - sleep(5) - try: - print(testcases) - assert all(testcases.values()) - finally: - task.finish = True - return _test_actor + ) + sleep(5) + try: + print(testcases) + assert all(testcases.values()) + finally: + task.finish = True + return _test_actor + if task.router.node_id == ACTOR_ID: + task.use(league_actor) + elif task.router.node_id == 1: task.use(test_actor()) task.run() diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 3d7ab4241e..1afae06eef 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -94,6 +94,7 @@ def _test_actor(ctx): sleep(0.3) assert league_actor._model_updated == True try: + print(testcases) assert all(testcases.values()) finally: task.finish = True From 579c386b43c6caf581457103f9e0fcd89735afa9 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 19:43:25 +0800 Subject: [PATCH 035/229] simplify init --- ding/framework/middleware/collector.py | 131 ++++++------------ .../middleware/tests/test_league_actor.py | 2 +- 2 files changed, 47 insertions(+), 86 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index da138a7ff7..617483551e 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -20,9 +20,6 @@ def _reset_policy(ctx: OnlineRLContext): if ctx._policy is not None: assert len(ctx._policy) > 1, "battle collector needs more than 1 policies" ctx._default_n_episode = ctx._policy[0].get_attribute('cfg').collect.get('n_episode', None) - # ctx._unroll_len = _policy[0].get_attribute('unroll_len') # unuseful here - # ctx._on_policy = _policy[0].get_attribute('cfg').on_policy # unuseful here - # ctx._traj_len = INF for p in ctx._policy: p.reset() @@ -36,67 +33,31 @@ class BattleCollector: def __init__( self, cfg: EasyDict, - env: BaseEnvManager = None, + env: BaseEnvManager, ): - self._deepcopy_obs = cfg.deepcopy_obs - self._transform_obs = cfg.transform_obs - self._cfg = cfg + self.cfg = cfg self._timer = EasyTimer() - self._end_flag = False - self._traj_len = float("inf") - self._reset(env) - - def _reset_env(self, _env: Optional[BaseEnvManager] = None) -> None: - """ - Overview: - Reset the environment. - If _env is None, reset the old environment. - If _env is not None, replace the old environment in the collector with the new passed \ - in environment and launch. - Arguments: - - env (:obj:`Optional[BaseEnvManager]`): instance of the subclass of vectorized \ - env_manager(BaseEnvManager) - """ - if _env is not None: - self._env = _env - self._env.launch() - self._env_num = self._env.env_num - else: - self._env.reset() - - def _reset(self, _env: Optional[BaseEnvManager] = None) -> None: - """ - Overview: - Reset the environment. - If _env is None, reset the old environment. - If _env is not None, replace the old environment in the collector with the new passed \ - in environment and launch. - If _policy is None, reset the old policy. - If _policy is not None, replace the old policy in the collector with the new passed in policy. - Arguments: - - policy (:obj:`Optional[List[namedtuple]]`): the api namedtuple of collect_mode policy - - env (:obj:`Optional[BaseEnvManager]`): instance of the subclass of vectorized \ - env_manager(BaseEnvManager) - """ - if _env is not None: - self._reset_env(_env) + self.end_flag = False + self.traj_len = float("inf") + # self._reset(env) + self.env = env + self.env.launch() + self.env_num = self.env.env_num - self._obs_pool = CachePool('obs', self._env_num, deepcopy=self._deepcopy_obs) - self._policy_output_pool = CachePool('policy_output', self._env_num) + self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) + self.policy_output_pool = CachePool('policy_output', self.env_num) # _traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions - self._traj_buffer = { - env_id: {policy_id: TrajBuffer(maxlen=self._traj_len) + self.traj_buffer = { + env_id: {policy_id: TrajBuffer(maxlen=self.traj_len) for policy_id in range(2)} - for env_id in range(self._env_num) + for env_id in range(self.env_num) } - self._env_info = {env_id: {'time': 0., 'step': 0} for env_id in range(self._env_num)} - - self._episode_info = [] - self._total_envstep_count = 0 - self._total_episode_count = 0 - self._total_duration = 0 - self._last_train_iter = 0 - self._end_flag = False + self.env_info = {env_id: {'time': 0., 'step': 0} for env_id in range(self.env_num)} + + self.episode_info = [] + self.total_envstep_count = 0 + self.total_episode_count = 0 + self.end_flag = False def _reset_stat(self, env_id: int) -> None: """ @@ -108,10 +69,10 @@ def _reset_stat(self, env_id: int) -> None: - env_id (:obj:`int`): the id where we need to reset the collector's state """ for i in range(2): - self._traj_buffer[env_id][i].clear() - self._obs_pool.reset(env_id) - self._policy_output_pool.reset(env_id) - self._env_info[env_id] = {'time': 0., 'step': 0} + self.traj_buffer[env_id][i].clear() + self.obs_pool.reset(env_id) + self.policy_output_pool.reset(env_id) + self.env_info[env_id] = {'time': 0., 'step': 0} def _close(self) -> None: """ @@ -119,10 +80,10 @@ def _close(self) -> None: Close the collector. If end_flag is False, close the environment, flush the tb_logger\ and close the tb_logger. """ - if self._end_flag: + if self.end_flag: return - self._end_flag = True - self._env.close() + self.end_flag = True + self.env.close() def __del__(self) -> None: """ @@ -143,13 +104,13 @@ def __call__(self, ctx: "OnlineRLContext") -> None: the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ - ctx.envstep = self._total_envstep_count + ctx.envstep = self.total_envstep_count if ctx.n_episode is None: if ctx._default_n_episode is None: raise RuntimeError("Please specify collect n_episode") else: ctx.n_episode = ctx._default_n_episode - assert ctx.n_episode >= self._env_num, "Please make sure n_episode >= env_num" + assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" if ctx.policy_kwargs is None: ctx.policy_kwargs = {} @@ -162,20 +123,20 @@ def __call__(self, ctx: "OnlineRLContext") -> None: while True: with self._timer: # Get current env obs. - obs = self._env.ready_obs + obs = self.env.ready_obs new_available_env_id = set(obs.keys()).difference(ready_env_id) ready_env_id = ready_env_id.union(set(list(new_available_env_id)[:remain_episode])) remain_episode -= min(len(new_available_env_id), remain_episode) obs = {env_id: obs[env_id] for env_id in ready_env_id} # Policy forward. - self._obs_pool.update(obs) - if self._transform_obs: + self.obs_pool.update(obs) + if self.cfg.transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx._policy)] - self._policy_output_pool.update(policy_output) + self.policy_output_pool.update(policy_output) # Interact with env. actions = {} for env_id in ready_env_id: @@ -183,49 +144,49 @@ def __call__(self, ctx: "OnlineRLContext") -> None: for output in policy_output: actions[env_id].append(output[env_id]['action']) actions = to_ndarray(actions) - timesteps = self._env.step(actions) + timesteps = self.env.step(actions) # TODO(nyz) this duration may be inaccurate in async env interaction_duration = self._timer.value / len(timesteps) # TODO(nyz) vectorize this for loop for env_id, timestep in timesteps.items(): - self._env_info[env_id]['step'] += 1 - self._total_envstep_count += 1 - ctx.envstep = self._total_envstep_count + self.env_info[env_id]['step'] += 1 + self.total_envstep_count += 1 + ctx.envstep = self.total_envstep_count with self._timer: for policy_id, policy in enumerate(ctx._policy): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) transition = ctx._policy[policy_id].process_transition( - self._obs_pool[env_id][policy_id], self._policy_output_pool[env_id][policy_id], + self.obs_pool[env_id][policy_id], self.policy_output_pool[env_id][policy_id], policy_timestep ) transition['collect_iter'] = ctx.train_iter - self._traj_buffer[env_id][policy_id].append(transition) + self.traj_buffer[env_id][policy_id].append(transition) # prepare data if timestep.done: - transitions = to_tensor_transitions(self._traj_buffer[env_id][policy_id]) - if self._cfg.get_train_sample: + transitions = to_tensor_transitions(self.traj_buffer[env_id][policy_id]) + if self.cfg.get_train_sample: train_sample = ctx._policy[policy_id].get_train_sample(transitions) return_data[policy_id].extend(train_sample) else: return_data[policy_id].append(transitions) - self._traj_buffer[env_id][policy_id].clear() + self.traj_buffer[env_id][policy_id].clear() - self._env_info[env_id]['time'] += self._timer.value + interaction_duration + self.env_info[env_id]['time'] += self._timer.value + interaction_duration # If env is done, record episode info and reset if timestep.done: - self._total_episode_count += 1 + self.total_episode_count += 1 info = { 'reward0': timestep.info[0]['final_eval_reward'], 'reward1': timestep.info[1]['final_eval_reward'], - 'time': self._env_info[env_id]['time'], - 'step': self._env_info[env_id]['step'], + 'time': self.env_info[env_id]['time'], + 'step': self.env_info[env_id]['step'], } collected_episode += 1 - self._episode_info.append(info) + self.episode_info.append(info) for i, p in enumerate(ctx._policy): p.reset([env_id]) self._reset_stat(env_id) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 77c228b10e..648466c65b 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -89,7 +89,7 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(5) + sleep(10) try: print(testcases) assert all(testcases.values()) From b404024f9a4f9fd4fd425a25dc65adb0f8de5428 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 20:34:47 +0800 Subject: [PATCH 036/229] change a bit --- ding/framework/middleware/collector.py | 46 +++++++++++------------ ding/framework/middleware/league_actor.py | 2 +- 2 files changed, 22 insertions(+), 26 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 617483551e..8e22c51cb6 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -17,11 +17,12 @@ def reset_policy(): def _reset_policy(ctx: OnlineRLContext): - if ctx._policy is not None: - assert len(ctx._policy) > 1, "battle collector needs more than 1 policies" - ctx._default_n_episode = ctx._policy[0].get_attribute('cfg').collect.get('n_episode', None) + if ctx.policies is not None: + assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" + ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) + ctx.agent_num = len(ctx.policies) - for p in ctx._policy: + for p in ctx.policies: p.reset() return _reset_policy @@ -46,7 +47,7 @@ def __init__( self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) self.policy_output_pool = CachePool('policy_output', self.env_num) - # _traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions + # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions self.traj_buffer = { env_id: {policy_id: TrajBuffer(maxlen=self.traj_len) for policy_id in range(2)} @@ -59,7 +60,7 @@ def __init__( self.total_episode_count = 0 self.end_flag = False - def _reset_stat(self, env_id: int) -> None: + def _reset_stat(self, env_id: int, agent_num: int) -> None: """ Overview: Reset the collector's state. Including reset the traj_buffer, obs_pool, policy_output_pool\ @@ -68,7 +69,7 @@ def _reset_stat(self, env_id: int) -> None: Arguments: - env_id (:obj:`int`): the id where we need to reset the collector's state """ - for i in range(2): + for i in range(agent_num): self.traj_buffer[env_id][i].clear() self.obs_pool.reset(env_id) self.policy_output_pool.reset(env_id) @@ -100,7 +101,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: - train_iter (:obj:`int`): the number of training iteration - policy_kwargs (:obj:`dict`): the keyword args for policy forward Output of ctx: - - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ @@ -116,8 +117,8 @@ def __call__(self, ctx: "OnlineRLContext") -> None: ctx.policy_kwargs = {} collected_episode = 0 - return_data = [[] for _ in range(2)] - return_info = [[] for _ in range(2)] + ctx.train_data = [[] for _ in range(ctx.agent_num)] + ctx.train_info = [[] for _ in range(ctx.agent_num)] ready_env_id = set() remain_episode = ctx.n_episode while True: @@ -134,7 +135,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: if self.cfg.transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx._policy)] + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] self.policy_output_pool.update(policy_output) # Interact with env. @@ -155,10 +156,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self.total_envstep_count += 1 ctx.envstep = self.total_envstep_count with self._timer: - for policy_id, policy in enumerate(ctx._policy): + for policy_id, _ in enumerate(ctx.policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx._policy[policy_id].process_transition( + transition = ctx.policies[policy_id].process_transition( self.obs_pool[env_id][policy_id], self.policy_output_pool[env_id][policy_id], policy_timestep ) @@ -168,10 +169,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: if timestep.done: transitions = to_tensor_transitions(self.traj_buffer[env_id][policy_id]) if self.cfg.get_train_sample: - train_sample = ctx._policy[policy_id].get_train_sample(transitions) - return_data[policy_id].extend(train_sample) + train_sample = ctx.policies[policy_id].get_train_sample(transitions) + ctx.train_data[policy_id].extend(train_sample) else: - return_data[policy_id].append(transitions) + ctx.train_data[policy_id].append(transitions) self.traj_buffer[env_id][policy_id].clear() self.env_info[env_id]['time'] += self._timer.value + interaction_duration @@ -187,19 +188,14 @@ def __call__(self, ctx: "OnlineRLContext") -> None: } collected_episode += 1 self.episode_info.append(info) - for i, p in enumerate(ctx._policy): + for i, p in enumerate(ctx.policies): p.reset([env_id]) - self._reset_stat(env_id) + self._reset_stat(env_id, ctx.agent_num) ready_env_id.remove(env_id) - for policy_id in range(2): - return_info[policy_id].append(timestep.info[policy_id]) + for policy_id in range(ctx.agent_num): + ctx.train_info[policy_id].append(timestep.info[policy_id]) if collected_episode >= ctx.n_episode: break - # log - ### TODO: how to deal with log here? - # self._output_log(ctx.train_iter) - ctx.train_data = return_data - ctx.episode_info = return_info class StepCollector: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 9bfdc79481..522f95f853 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -92,7 +92,7 @@ def _on_league_job(self, job: "Job"): # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "Can not find active player" - self.ctx._policy = policies + self.ctx.policies = policies self._policy_reseter(self.ctx) def send_actor_job(episode_info: List): From ffcc50b80d43c722aca0996cb7c4093a45596f28 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 20:37:46 +0800 Subject: [PATCH 037/229] change a bit --- ding/framework/middleware/collector.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 8e22c51cb6..5c2c7127a2 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -118,7 +118,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: collected_episode = 0 ctx.train_data = [[] for _ in range(ctx.agent_num)] - ctx.train_info = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(ctx.agent_num)] ready_env_id = set() remain_episode = ctx.n_episode while True: @@ -193,7 +193,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self._reset_stat(env_id, ctx.agent_num) ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): - ctx.train_info[policy_id].append(timestep.info[policy_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) if collected_episode >= ctx.n_episode: break From a55fe17312c15a217a6a9f752553afecb89d9dd6 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 20:50:18 +0800 Subject: [PATCH 038/229] change a bit --- ding/framework/middleware/collector.py | 7 +++---- ding/framework/middleware/league_actor.py | 8 ++++---- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 5c2c7127a2..9bc6205997 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,9 +14,8 @@ from ding.torch_utils import to_tensor, to_ndarray from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, INF, to_tensor_transitions -def reset_policy(): - - def _reset_policy(ctx: OnlineRLContext): +def policy_resetter(): + def _policy_resetter(ctx: OnlineRLContext): if ctx.policies is not None: assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) @@ -25,7 +24,7 @@ def _reset_policy(ctx: OnlineRLContext): for p in ctx.policies: p.reset() - return _reset_policy + return _policy_resetter diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 522f95f853..07c78f9014 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -14,7 +14,7 @@ from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector -from ding.framework.middleware.collector import reset_policy +from ding.framework.middleware.collector import policy_resetter @dataclass class ActorData: @@ -54,7 +54,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) - self._policy_reseter = task.wrap(reset_policy()) + self._policy_resetter = task.wrap(policy_resetter()) def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -93,7 +93,7 @@ def _on_league_job(self, job: "Job"): assert main_player, "Can not find active player" self.ctx.policies = policies - self._policy_reseter(self.ctx) + self._policy_resetter(self.ctx) def send_actor_job(episode_info: List): job.result = [e['result'] for e in episode_info] @@ -182,5 +182,5 @@ def __call__(self, ctx: "OnlineRLContext"): # env_fn() # ) # ctx = OnlineRLContext() -# reset_policy(None)(ctx) +# policy_resetter(None)(ctx) From 8084daee4cc9321af9cf3ff7bdae526b0c695d7b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 20:58:33 +0800 Subject: [PATCH 039/229] change a bit --- ding/framework/middleware/collector.py | 28 +++++++++++------------ ding/framework/middleware/league_actor.py | 7 +++--- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 9bc6205997..f4fdc84863 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -20,6 +20,13 @@ def _policy_resetter(ctx: OnlineRLContext): assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) ctx.agent_num = len(ctx.policies) + ctx.traj_len = float("inf") + # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions + ctx.traj_buffer = { + env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) + for policy_id in range(ctx.agent_num)} + for env_id in range(ctx.env_num) + } for p in ctx.policies: p.reset() @@ -38,7 +45,6 @@ def __init__( self.cfg = cfg self._timer = EasyTimer() self.end_flag = False - self.traj_len = float("inf") # self._reset(env) self.env = env self.env.launch() @@ -46,12 +52,6 @@ def __init__( self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) self.policy_output_pool = CachePool('policy_output', self.env_num) - # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions - self.traj_buffer = { - env_id: {policy_id: TrajBuffer(maxlen=self.traj_len) - for policy_id in range(2)} - for env_id in range(self.env_num) - } self.env_info = {env_id: {'time': 0., 'step': 0} for env_id in range(self.env_num)} self.episode_info = [] @@ -59,7 +59,7 @@ def __init__( self.total_episode_count = 0 self.end_flag = False - def _reset_stat(self, env_id: int, agent_num: int) -> None: + def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: """ Overview: Reset the collector's state. Including reset the traj_buffer, obs_pool, policy_output_pool\ @@ -68,8 +68,8 @@ def _reset_stat(self, env_id: int, agent_num: int) -> None: Arguments: - env_id (:obj:`int`): the id where we need to reset the collector's state """ - for i in range(agent_num): - self.traj_buffer[env_id][i].clear() + for i in range(ctx.agent_num): + ctx.traj_buffer[env_id][i].clear() self.obs_pool.reset(env_id) self.policy_output_pool.reset(env_id) self.env_info[env_id] = {'time': 0., 'step': 0} @@ -163,16 +163,16 @@ def __call__(self, ctx: "OnlineRLContext") -> None: policy_timestep ) transition['collect_iter'] = ctx.train_iter - self.traj_buffer[env_id][policy_id].append(transition) + ctx.traj_buffer[env_id][policy_id].append(transition) # prepare data if timestep.done: - transitions = to_tensor_transitions(self.traj_buffer[env_id][policy_id]) + transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) if self.cfg.get_train_sample: train_sample = ctx.policies[policy_id].get_train_sample(transitions) ctx.train_data[policy_id].extend(train_sample) else: ctx.train_data[policy_id].append(transitions) - self.traj_buffer[env_id][policy_id].clear() + ctx.traj_buffer[env_id][policy_id].clear() self.env_info[env_id]['time'] += self._timer.value + interaction_duration @@ -189,7 +189,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self.episode_info.append(info) for i, p in enumerate(ctx.policies): p.reset([env_id]) - self._reset_stat(env_id, ctx.agent_num) + self._reset_stat(env_id, ctx) ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 07c78f9014..8fd61da5a5 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -44,7 +44,8 @@ class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.cfg = cfg - self.env_fn = env_fn + self.env = env_fn() + self.env_num = self.env.env_num self.policy_fn = policy_fn # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 self.n_rollout_samples = 0 @@ -93,6 +94,7 @@ def _on_league_job(self, job: "Job"): assert main_player, "Can not find active player" self.ctx.policies = policies + self.ctx.env_num = self.env_num self._policy_resetter(self.ctx) def send_actor_job(episode_info: List): @@ -126,10 +128,9 @@ def _get_collector(self, player_id: str): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg - env = self.env_fn() collector = task.wrap(BattleCollector( cfg.policy.collect.collector, - env + self.env )) self._collectors[player_id] = collector return collector From da46b22d338949955625e5881f6fbf5df1af9fd9 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sat, 28 May 2022 21:50:11 +0800 Subject: [PATCH 040/229] change a bit --- ding/framework/middleware/collector.py | 88 +++++++++++++++----------- 1 file changed, 50 insertions(+), 38 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index f4fdc84863..d6c8843936 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -34,6 +34,33 @@ def _policy_resetter(ctx: OnlineRLContext): return _policy_resetter +def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): + def _battle_inferencer(ctx: "OnlineRLContext"): + # Get current env obs. + obs = env.ready_obs + new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) + ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) + ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) + obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + + # Policy forward. + obs_pool.update(obs) + if cfg.transform_obs: + obs = to_tensor(obs, dtype=torch.float32) + obs = dicts_to_lists(obs) + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] + policy_output_pool.update(policy_output) + + # Interact with env. + actions = {} + for env_id in ctx.ready_env_id: + actions[env_id] = [] + for output in policy_output: + actions[env_id].append(output[env_id]['action']) + actions = to_ndarray(actions) + ctx.timesteps = env.step(actions) + + return _battle_inferencer class BattleCollector: @@ -47,7 +74,6 @@ def __init__( self.end_flag = False # self._reset(env) self.env = env - self.env.launch() self.env_num = self.env.env_num self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) @@ -58,6 +84,8 @@ def __init__( self.total_envstep_count = 0 self.total_episode_count = 0 self.end_flag = False + + self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: """ @@ -100,7 +128,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: - train_iter (:obj:`int`): the number of training iteration - policy_kwargs (:obj:`dict`): the keyword args for policy forward Output of ctx: - - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ @@ -115,42 +143,23 @@ def __call__(self, ctx: "OnlineRLContext") -> None: if ctx.policy_kwargs is None: ctx.policy_kwargs = {} - collected_episode = 0 - ctx.train_data = [[] for _ in range(ctx.agent_num)] - ctx.episode_info = [[] for _ in range(ctx.agent_num)] - ready_env_id = set() - remain_episode = ctx.n_episode + if self.env.closed: + self.env.launch() + + ctx.collected_episode = 0 + return_data = [[] for _ in range(ctx.agent_num)] + return_info = [[] for _ in range(ctx.agent_num)] + ctx.ready_env_id = set() + ctx.remain_episode = ctx.n_episode while True: with self._timer: - # Get current env obs. - obs = self.env.ready_obs - new_available_env_id = set(obs.keys()).difference(ready_env_id) - ready_env_id = ready_env_id.union(set(list(new_available_env_id)[:remain_episode])) - remain_episode -= min(len(new_available_env_id), remain_episode) - obs = {env_id: obs[env_id] for env_id in ready_env_id} - - # Policy forward. - self.obs_pool.update(obs) - if self.cfg.transform_obs: - obs = to_tensor(obs, dtype=torch.float32) - obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] - - self.policy_output_pool.update(policy_output) - # Interact with env. - actions = {} - for env_id in ready_env_id: - actions[env_id] = [] - for output in policy_output: - actions[env_id].append(output[env_id]['action']) - actions = to_ndarray(actions) - timesteps = self.env.step(actions) + self._battle_inferencer(ctx) # TODO(nyz) this duration may be inaccurate in async env - interaction_duration = self._timer.value / len(timesteps) + interaction_duration = self._timer.value / len(ctx.timesteps) # TODO(nyz) vectorize this for loop - for env_id, timestep in timesteps.items(): + for env_id, timestep in ctx.timesteps.items(): self.env_info[env_id]['step'] += 1 self.total_envstep_count += 1 ctx.envstep = self.total_envstep_count @@ -169,9 +178,9 @@ def __call__(self, ctx: "OnlineRLContext") -> None: transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) if self.cfg.get_train_sample: train_sample = ctx.policies[policy_id].get_train_sample(transitions) - ctx.train_data[policy_id].extend(train_sample) + return_data[policy_id].extend(train_sample) else: - ctx.train_data[policy_id].append(transitions) + return_data[policy_id].append(transitions) ctx.traj_buffer[env_id][policy_id].clear() self.env_info[env_id]['time'] += self._timer.value + interaction_duration @@ -185,16 +194,19 @@ def __call__(self, ctx: "OnlineRLContext") -> None: 'time': self.env_info[env_id]['time'], 'step': self.env_info[env_id]['step'], } - collected_episode += 1 + ctx.collected_episode += 1 self.episode_info.append(info) for i, p in enumerate(ctx.policies): p.reset([env_id]) self._reset_stat(env_id, ctx) - ready_env_id.remove(env_id) + ctx.ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - if collected_episode >= ctx.n_episode: + return_info[policy_id].append(timestep.info[policy_id]) + if ctx.collected_episode >= ctx.n_episode: break + + ctx.train_data = return_data + ctx.episode_info = return_info class StepCollector: From 65b87625229cb50146d7325532ab043bcc1346d6 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sun, 29 May 2022 00:02:11 +0800 Subject: [PATCH 041/229] change a bit --- ding/framework/middleware/collector.py | 59 +++++++++++++---------- ding/framework/middleware/league_actor.py | 50 ++++--------------- 2 files changed, 44 insertions(+), 65 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index d6c8843936..f62a0c2bbb 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -62,12 +62,37 @@ def _battle_inferencer(ctx: "OnlineRLContext"): return _battle_inferencer +def battle_rolloutor(cfg: EasyDict, obs_pool: CachePool, policy_output_pool:CachePool): + def _battle_rolloutor(ctx: "OnlineRLContext"): + timestep = ctx.timestep + env_id = ctx.env_id + for policy_id, _ in enumerate(ctx.policies): + policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] + policy_timestep = type(timestep)(*policy_timestep_data) + transition = ctx.policies[policy_id].process_transition( + obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], + policy_timestep + ) + transition['collect_iter'] = ctx.train_iter + ctx.traj_buffer[env_id][policy_id].append(transition) + # If env is done, prepare data + if timestep.done: + transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) + if cfg.get_train_sample: + train_sample = ctx.policies[policy_id].get_train_sample(transitions) + ctx.train_data[policy_id].extend(train_sample) + else: + ctx.train_data[policy_id].append(transitions) + ctx.traj_buffer[env_id][policy_id].clear() + return _battle_rolloutor + class BattleCollector: def __init__( self, cfg: EasyDict, env: BaseEnvManager, + n_rollout_samples: int ): self.cfg = cfg self._timer = EasyTimer() @@ -84,8 +109,10 @@ def __init__( self.total_envstep_count = 0 self.total_episode_count = 0 self.end_flag = False + self.n_rollout_samples = n_rollout_samples self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.obs_pool, self.policy_output_pool)) def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: """ @@ -128,7 +155,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: - train_iter (:obj:`int`): the number of training iteration - policy_kwargs (:obj:`dict`): the keyword args for policy forward Output of ctx: - - return_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ @@ -147,8 +174,8 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self.env.launch() ctx.collected_episode = 0 - return_data = [[] for _ in range(ctx.agent_num)] - return_info = [[] for _ in range(ctx.agent_num)] + ctx.train_data = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(ctx.agent_num)] ctx.ready_env_id = set() ctx.remain_episode = ctx.n_episode while True: @@ -163,25 +190,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self.env_info[env_id]['step'] += 1 self.total_envstep_count += 1 ctx.envstep = self.total_envstep_count + ctx.env_id = env_id + ctx.timestep = timestep with self._timer: - for policy_id, _ in enumerate(ctx.policies): - policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] - policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx.policies[policy_id].process_transition( - self.obs_pool[env_id][policy_id], self.policy_output_pool[env_id][policy_id], - policy_timestep - ) - transition['collect_iter'] = ctx.train_iter - ctx.traj_buffer[env_id][policy_id].append(transition) - # prepare data - if timestep.done: - transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) - if self.cfg.get_train_sample: - train_sample = ctx.policies[policy_id].get_train_sample(transitions) - return_data[policy_id].extend(train_sample) - else: - return_data[policy_id].append(transitions) - ctx.traj_buffer[env_id][policy_id].clear() + self._battle_rolloutor(ctx) self.env_info[env_id]['time'] += self._timer.value + interaction_duration @@ -201,13 +213,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self._reset_stat(env_id, ctx) ctx.ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): - return_info[policy_id].append(timestep.info[policy_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) if ctx.collected_episode >= ctx.n_episode: break - ctx.train_data = return_data - ctx.episode_info = return_info - class StepCollector: """ diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 8fd61da5a5..847143c746 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -47,7 +47,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env = env_fn() self.env_num = self.env.env_num self.policy_fn = policy_fn - # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 self.n_rollout_samples = 0 self._running = False self._collectors: Dict[str, BattleCollector] = {} @@ -63,11 +63,10 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ player_meta = PlayerMeta(player_id=learner_model.player_id, checkpoint=None) policy = self._get_policy(player_meta) + # update policy model policy.load_state_dict(learner_model.state_dict) self._model_updated = True - # update policy model - def _on_league_job(self, job: "Job"): """ Deal with job distributed by coordinator. Load historical model, generate traj and emit data. @@ -111,10 +110,12 @@ def send_actor_data(train_data: List): actor_data = ActorData(env_step=self.ctx.envstep, train_data=train_data) task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - - self.ctx.n_episode = None - self.ctx.train_iter = main_player.total_agent_step - self.ctx.policy_kwargs = None + if self.n_rollout_samples > 0: + pass + else: + self.ctx.n_episode = None + self.ctx.train_iter = main_player.total_agent_step + self.ctx.policy_kwargs = None collector(self.ctx) train_data, episode_info = self.ctx.train_data[0], self.ctx.episode_info[0] # only use main player data for training @@ -130,7 +131,8 @@ def _get_collector(self, player_id: str): cfg = self.cfg collector = task.wrap(BattleCollector( cfg.policy.collect.collector, - self.env + self.env, + self.n_rollout_samples )) self._collectors[player_id] = collector return collector @@ -152,36 +154,4 @@ def __call__(self, ctx: "OnlineRLContext"): task.emit("actor_greeting", task.router.node_id) sleep(3) -# used for test -# if __name__ == '__main__': -# actor = LeagueActor() - - -# if __name__ == '__main__': -# from copy import deepcopy -# from ding.framework.middleware.tests.league_config import cfg -# from dizoo.league_demo.game_env import GameEnv - -# def prepare_test(): -# global cfg -# cfg = deepcopy(cfg) - -# def env_fn(): -# env = BaseEnvManager( -# env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager -# ) -# env.seed(cfg.seed) -# return env - -# return cfg, env_fn - -# cfg, env_fn = prepare_test() - - -# collector = BattleCollector( -# cfg.policy.collect.collector, -# env_fn() -# ) -# ctx = OnlineRLContext() -# policy_resetter(None)(ctx) From ad9632c03c0e9c746e8f9151e8dd0d59f5fb8eab Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sun, 29 May 2022 00:06:17 +0800 Subject: [PATCH 042/229] change position of policy_resetter, battle_rolloutor, battle_inferencer --- ding/framework/middleware/collector.py | 81 +------------------ .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 80 +++++++++++++++++- ding/framework/middleware/league_actor.py | 2 +- 4 files changed, 83 insertions(+), 82 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index f62a0c2bbb..4975798a38 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -3,88 +3,13 @@ from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager from ding.framework import task -from .functional import inferencer, rolloutor, TransitionList +from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor # if TYPE_CHECKING: from ding.framework import OnlineRLContext -import torch -from collections import namedtuple -from ding.utils import EasyTimer, dicts_to_lists -from ding.torch_utils import to_tensor, to_ndarray -from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, INF, to_tensor_transitions - -def policy_resetter(): - def _policy_resetter(ctx: OnlineRLContext): - if ctx.policies is not None: - assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" - ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) - ctx.agent_num = len(ctx.policies) - ctx.traj_len = float("inf") - # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions - ctx.traj_buffer = { - env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) - for policy_id in range(ctx.agent_num)} - for env_id in range(ctx.env_num) - } - - for p in ctx.policies: - p.reset() - - return _policy_resetter - - -def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): - def _battle_inferencer(ctx: "OnlineRLContext"): - # Get current env obs. - obs = env.ready_obs - new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) - ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) - ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) - obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} - - # Policy forward. - obs_pool.update(obs) - if cfg.transform_obs: - obs = to_tensor(obs, dtype=torch.float32) - obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] - policy_output_pool.update(policy_output) - - # Interact with env. - actions = {} - for env_id in ctx.ready_env_id: - actions[env_id] = [] - for output in policy_output: - actions[env_id].append(output[env_id]['action']) - actions = to_ndarray(actions) - ctx.timesteps = env.step(actions) - - return _battle_inferencer - -def battle_rolloutor(cfg: EasyDict, obs_pool: CachePool, policy_output_pool:CachePool): - def _battle_rolloutor(ctx: "OnlineRLContext"): - timestep = ctx.timestep - env_id = ctx.env_id - for policy_id, _ in enumerate(ctx.policies): - policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] - policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx.policies[policy_id].process_transition( - obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], - policy_timestep - ) - transition['collect_iter'] = ctx.train_iter - ctx.traj_buffer[env_id][policy_id].append(transition) - # If env is done, prepare data - if timestep.done: - transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) - if cfg.get_train_sample: - train_sample = ctx.policies[policy_id].get_train_sample(transitions) - ctx.train_data[policy_id].extend(train_sample) - else: - ctx.train_data[policy_id].append(transitions) - ctx.traj_buffer[env_id][policy_id].clear() - return _battle_rolloutor +from ding.utils import EasyTimer +from ding.worker.collector.base_serial_collector import CachePool class BattleCollector: diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index defdc3f4c4..de028e8834 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList +from .collector import inferencer, rolloutor, TransitionList, policy_resetter, battle_inferencer, battle_rolloutor from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 7a826e5309..adc344cf16 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -4,9 +4,13 @@ import treetensor.torch as ttorch from ding.envs import BaseEnvManager from ding.policy import Policy +import torch +from ding.utils import dicts_to_lists +from ding.torch_utils import to_tensor, to_ndarray +from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, to_tensor_transitions -if TYPE_CHECKING: - from ding.framework import OnlineRLContext +# if TYPE_CHECKING: +from ding.framework import OnlineRLContext class TransitionList: @@ -133,3 +137,75 @@ def _rollout(ctx: "OnlineRLContext"): # TODO log return _rollout + +def policy_resetter(): + def _policy_resetter(ctx: OnlineRLContext): + if ctx.policies is not None: + assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" + ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) + ctx.agent_num = len(ctx.policies) + ctx.traj_len = float("inf") + # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions + ctx.traj_buffer = { + env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) + for policy_id in range(ctx.agent_num)} + for env_id in range(ctx.env_num) + } + + for p in ctx.policies: + p.reset() + + return _policy_resetter + + +def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): + def _battle_inferencer(ctx: "OnlineRLContext"): + # Get current env obs. + obs = env.ready_obs + new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) + ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) + ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) + obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + + # Policy forward. + obs_pool.update(obs) + if cfg.transform_obs: + obs = to_tensor(obs, dtype=torch.float32) + obs = dicts_to_lists(obs) + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] + policy_output_pool.update(policy_output) + + # Interact with env. + actions = {} + for env_id in ctx.ready_env_id: + actions[env_id] = [] + for output in policy_output: + actions[env_id].append(output[env_id]['action']) + actions = to_ndarray(actions) + ctx.timesteps = env.step(actions) + + return _battle_inferencer + +def battle_rolloutor(cfg: EasyDict, obs_pool: CachePool, policy_output_pool:CachePool): + def _battle_rolloutor(ctx: "OnlineRLContext"): + timestep = ctx.timestep + env_id = ctx.env_id + for policy_id, _ in enumerate(ctx.policies): + policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] + policy_timestep = type(timestep)(*policy_timestep_data) + transition = ctx.policies[policy_id].process_transition( + obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], + policy_timestep + ) + transition['collect_iter'] = ctx.train_iter + ctx.traj_buffer[env_id][policy_id].append(transition) + # If env is done, prepare data + if timestep.done: + transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) + if cfg.get_train_sample: + train_sample = ctx.policies[policy_id].get_train_sample(transitions) + ctx.train_data[policy_id].extend(train_sample) + else: + ctx.train_data[policy_id].append(transitions) + ctx.traj_buffer[env_id][policy_id].clear() + return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 847143c746..6a814de5a9 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -14,7 +14,7 @@ from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector -from ding.framework.middleware.collector import policy_resetter +from ding.framework.middleware.functional import policy_resetter @dataclass class ActorData: From 192e6e4e436ef9d67095ede4bd84fc9be58b0ebf Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 10:12:28 +0800 Subject: [PATCH 043/229] polish stdim & infonce loss --- ding/policy/command_mode_policy_instance.py | 7 ++- ding/policy/dqn.py | 59 +++++++++++++++---- ding/torch_utils/loss/__init__.py | 1 - .../loss/tests/test_contrastive_loss.py | 9 +-- .../serial/pong/pong_dqn_stdim_config.py | 5 +- .../config/cartpole_dqn_stdim_config.py | 5 +- 6 files changed, 64 insertions(+), 22 deletions(-) diff --git a/ding/policy/command_mode_policy_instance.py b/ding/policy/command_mode_policy_instance.py index 51455a4d11..17661aed6e 100644 --- a/ding/policy/command_mode_policy_instance.py +++ b/ding/policy/command_mode_policy_instance.py @@ -2,7 +2,7 @@ from ding.rl_utils import get_epsilon_greedy_fn from .base_policy import CommandModePolicy -from .dqn import DQNPolicy +from .dqn import DQNPolicy, DQNSTDIMPolicy from .c51 import C51Policy from .qrdqn import QRDQNPolicy from .iqn import IQNPolicy @@ -92,6 +92,11 @@ class DQNCommandModePolicy(DQNPolicy, EpsCommandModePolicy): pass +@POLICY_REGISTRY.register('dqn_stdim_command') +class DQNSTDIMCommandModePolicy(DQNSTDIMPolicy, EpsCommandModePolicy): + pass + + @POLICY_REGISTRY.register('dqfd_command') class DQFDCommandModePolicy(DQFDPolicy, EpsCommandModePolicy): pass diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index d3f28f440f..4de1dcedcb 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -4,13 +4,14 @@ import torch from ding.torch_utils import Adam, to_device +from ding.torch_utils.loss.contrastive_loss import ContrastiveLoss from ding.rl_utils import q_nstep_td_data, q_nstep_td_error, get_nstep_return_data, get_train_sample from ding.model import model_wrap from ding.utils import POLICY_REGISTRY from ding.utils.data import default_collate, default_decollate + from .base_policy import Policy from .common_utils import default_preprocess_learn -from ding.torch_utils import ContrastiveLoss @POLICY_REGISTRY.register('dqn') @@ -393,7 +394,7 @@ class DQNSTDIMPolicy(DQNPolicy): == ==================== ======== ============== ======================================== ======================= ID Symbol Type Default Value Description Other(Shape) == ==================== ======== ============== ======================================== ======================= - 1 ``type`` str dqn | RL policy register name, refer to | This arg is optional, + 1 ``type`` str dqn_stdim | RL policy register name, refer to | This arg is optional, | registry ``POLICY_REGISTRY`` | a placeholder 2 ``cuda`` bool False | Whether to use cuda for network | This arg can be diff- | erent from modes @@ -437,14 +438,14 @@ class DQNSTDIMPolicy(DQNPolicy): | decay from start | value to end value | during decay length. - 20 | ``loss_ratio`` float 0.01 | the ratio of auxiliary loss to main | any real value, - | loss | typically in + 20 | ``aux_loss_ratio`` float 0.05 | the ratio of the auxiliary loss to | any real value, + | the TD loss | typically in | [-0.1, 0.1]. == ==================== ======== ============== ======================================== ======================= """ config = dict( - type='dqn', + type='dqn_stdim', # (bool) Whether use cuda in policy cuda=False, # (bool) Whether learning policy is the same as collecting data policy(on-policy) @@ -499,18 +500,17 @@ class DQNSTDIMPolicy(DQNPolicy): ), replay_buffer=dict(replay_buffer_size=10000, ), ), - loss_ratio=0.01, + aux_loss_ratio=0.05, ) def _init_learn(self) -> None: super()._init_learn() - self._main_encoder = self._model.encoder x_size, y_size = self._get_encoding_size() self._aux_model = ContrastiveLoss(x_size, y_size, **self._cfg.aux_model) if self._cuda: self._aux_model.cuda() self._aux_optimizer = Adam(self._aux_model.parameters(), lr=self._cfg.learn.learning_rate) - self._aux_ratio = self._cfg.loss_ratio + self._aux_ratio = self._cfg.aux_loss_ratio def _get_encoding_size(self): obs = self._cfg.model.obs_shape @@ -526,7 +526,7 @@ def _get_encoding_size(self): def _aux_encode(self, data): x = data["obs"] - y = self._main_encoder(data["obs"]) + y = self._model.encoder(data["obs"]) return x, y def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: @@ -583,14 +583,14 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: q_value, target_q_value, data['action'], target_q_action, data['reward'], data['done'], data['weight'] ) value_gamma = data.get('value_gamma') - loss, td_error_per_sample = q_nstep_td_error(data_n, self._gamma, nstep=self._nstep, value_gamma=value_gamma) + bellman_loss, td_error_per_sample = q_nstep_td_error(data_n, self._gamma, nstep=self._nstep, value_gamma=value_gamma) # ====================== # Compute auxiliary loss # ====================== x, y = self._aux_encode(data) aux_loss_eval = self._aux_model.forward(x, y) * self._aux_ratio - loss += aux_loss_eval + loss = aux_loss_eval + bellman_loss # ==================== # Q-learning update @@ -607,10 +607,45 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: self._target_model.update(self._learn_model.state_dict()) return { 'cur_lr': self._optimizer.defaults['lr'], - 'total_loss': loss.item(), + 'bellman_loss': bellman_loss.item(), 'aux_loss': aux_loss_eval.item(), + 'total_loss': loss.item(), 'q_value': q_value.mean().item(), 'priority': td_error_per_sample.abs().tolist(), # Only discrete action satisfying len(data['action'])==1 can return this and draw histogram on tensorboard. # '[histogram]action_distribution': data['action'], } + + def _monitor_vars_learn(self) -> List[str]: + return ['cur_lr', 'bellman_loss', 'aux_loss', 'total_loss', 'q_value'] + + def _state_dict_learn(self) -> Dict[str, Any]: + """ + Overview: + Return the state_dict of learn mode, usually including model and optimizer. + Returns: + - state_dict (:obj:`Dict[str, Any]`): the dict of current policy learn state, for saving and restoring. + """ + return { + 'model': self._learn_model.state_dict(), + 'target_model': self._target_model.state_dict(), + 'optimizer': self._optimizer.state_dict(), + 'aux_optimizer': self._aux_optimizer.state_dict(), + } + + def _load_state_dict_learn(self, state_dict: Dict[str, Any]) -> None: + """ + Overview: + Load the state_dict variable into policy learn mode. + Arguments: + - state_dict (:obj:`Dict[str, Any]`): the dict of policy learn state saved before. + + .. tip:: + If you want to only load some parts of model, you can simply set the ``strict`` argument in \ + load_state_dict to ``False``, or refer to ``ding.torch_utils.checkpoint_helper`` for more \ + complicated operation. + """ + self._learn_model.load_state_dict(state_dict['model']) + self._target_model.load_state_dict(state_dict['target_model']) + self._optimizer.load_state_dict(state_dict['optimizer']) + self._aux_optimizer.load_state_dict(state_dict['aux_optimizer']) diff --git a/ding/torch_utils/loss/__init__.py b/ding/torch_utils/loss/__init__.py index 8668e53b98..e2795e2747 100644 --- a/ding/torch_utils/loss/__init__.py +++ b/ding/torch_utils/loss/__init__.py @@ -1,3 +1,2 @@ from .cross_entropy_loss import LabelSmoothCELoss, SoftFocalLoss, build_ce_criterion from .multi_logits_loss import MultiLogitsLoss -from .contrastive_loss import ContrastiveLoss diff --git a/ding/torch_utils/loss/tests/test_contrastive_loss.py b/ding/torch_utils/loss/tests/test_contrastive_loss.py index 8cbdec8f03..83eeb182d3 100644 --- a/ding/torch_utils/loss/tests/test_contrastive_loss.py +++ b/ding/torch_utils/loss/tests/test_contrastive_loss.py @@ -2,18 +2,19 @@ import numpy as np import torch from torch.utils.data import TensorDataset, DataLoader -from ding.torch_utils import ContrastiveLoss +from ding.torch_utils.loss.contrastive_loss import ContrastiveLoss -@pytest.mark.unittest -@pytest.mark.parametrize('noise', [0.1, 1.0, 3.0]) +@pytest.mark.benchmark +@pytest.mark.parametrize('noise', [0.1, 1.0]) @pytest.mark.parametrize('dims', [ [16], + [3, 16, 16] ]) def test_infonce_loss(noise, dims): print_loss = False batch_size = 128 - N_batch = 10 + N_batch = 3 x_dim = [batch_size * N_batch] + dims encode_shape = 16 diff --git a/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py b/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py index 2f91944bee..7ce8b78cb3 100644 --- a/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py +++ b/dizoo/atari/config/serial/pong/pong_dqn_stdim_config.py @@ -24,7 +24,8 @@ loss_type = 'infonce', temperature = 1.0, ), - loss_ratio = 0.05, + # the ratio of the auxiliary loss to the TD loss + aux_loss_ratio = 0.05, nstep=3, discount_factor=0.99, learn=dict( @@ -54,7 +55,7 @@ import_names=['dizoo.atari.envs.atari_env'], ), env_manager=dict(type='subprocess'), - policy=dict(type='dqn'), + policy=dict(type='dqn_stdim'), ) pong_dqn_stdim_create_config = EasyDict(pong_dqn_stdim_create_config) create_config = pong_dqn_stdim_create_config diff --git a/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py index 0695d91475..816c3721ce 100644 --- a/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py +++ b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py @@ -24,7 +24,8 @@ loss_type = 'infonce', temperature = 1.0, ), - loss_ratio = 0.05, + # the ratio of the auxiliary loss to the TD loss + aux_loss_ratio = 0.05, nstep=1, discount_factor=0.97, learn=dict( @@ -52,7 +53,7 @@ import_names=['dizoo.classic_control.cartpole.envs.cartpole_env'], ), env_manager=dict(type='base'), - policy=dict(type='dqn'), + policy=dict(type='dqn_stdim'), replay_buffer=dict( type='deque', import_names=['ding.data.buffer.deque_buffer_wrapper'] From 46ee7cf7ace7cd9e575831fc45a84622daca80d8 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 11:46:47 +0800 Subject: [PATCH 044/229] polish EventEnum --- ding/framework/event_enum.py | 22 +++++++++---------- ding/framework/event_loop.py | 13 +++++++++++ .../middleware/league_coordinator.py | 8 +++---- .../tests/test_league_coordinator.py | 20 ++++++++--------- 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/ding/framework/event_enum.py b/ding/framework/event_enum.py index bdc8c56462..c0ea7f9dcb 100644 --- a/ding/framework/event_enum.py +++ b/ding/framework/event_enum.py @@ -2,17 +2,15 @@ @unique -class EventEnum(Enum): - COORDINATOR_DISPATCH_ACTOR_JOB = 1000 +class EventEnum(str, Enum): + # events emited by coordinators + COORDINATOR_DISPATCH_ACTOR_JOB = "on_coordinator_dispatch_actor_job_{actor_id}" - LEARNER_SEND_MODEL = 2000 - LEARNER_SEND_META = 2001 + # events emited by learners + LEARNER_SEND_MODEL = "on_learner_send_model" + LEARNER_SEND_META = "on_learner_send_meta" - ACTOR_GREETING = 3000 - ACTOR_SEND_DATA = 3001 - ACTOR_FINISH_JOB = 3002 - - def __call__(self, node_id: int = None): - if not node_id: - return "event_{}".format(self.value) - return "event_{}_{}".format(self.value, node_id) \ No newline at end of file + # events emited by actors + ACTOR_GREETING = "on_actor_greeting" + ACTOR_SEND_DATA = "on_actor_send_meta" + ACTOR_FINISH_JOB = "on_actor_finish_job" diff --git a/ding/framework/event_loop.py b/ding/framework/event_loop.py index b5f58720a1..a4665ca01b 100644 --- a/ding/framework/event_loop.py +++ b/ding/framework/event_loop.py @@ -1,3 +1,4 @@ +import re from collections import defaultdict from typing import Callable, Optional from concurrent.futures import ThreadPoolExecutor @@ -23,6 +24,12 @@ def on(self, event: str, fn: Callable) -> None: - event (:obj:`str`): Event name. - fn (:obj:`Callable`): The function. """ + # check if the event name contains unfilled parameters. + params = re.findall(r"\{(.*?)\}", event) + if params: + raise ValueError( + "Event name missing parameters: {}. Please use String.format() to fill up".format(", ".join(params)) + ) self._listeners[event].append(fn) def off(self, event: str, fn: Optional[Callable] = None) -> None: @@ -65,6 +72,12 @@ def emit(self, event: str, *args, **kwargs) -> None: """ if self._exception: raise self._exception + # check if the event name contains unfilled parameters. + params = re.findall(r"\{(.*?)\}", event) + if params: + raise ValueError( + "Event name missing parameters: {}. Please use String.format() to fill up".format(", ".join(params)) + ) if self._active: self._thread_pool.submit(self._trigger, event, *args, **kwargs) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index bb037cdcb8..ab995b5341 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -22,9 +22,9 @@ def __init__(self, league: "BaseLeague") -> None: self.league = league self._job_iter = self._job_dispatcher() self._lock = Lock() - task.on(EventEnum.ACTOR_GREETING(), self._on_actor_greeting) - task.on(EventEnum.LEARNER_SEND_META(), self._on_learner_meta) - task.on(EventEnum.ACTOR_FINISH_JOB(), self._on_actor_job) + task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) + task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) + task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): with self._lock: @@ -32,7 +32,7 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % 10 == 0: # 1/10 turn job into eval mode job.is_eval = True job.actor_id = actor_id - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), job) + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_actor_job(self, job: "Job"): self.league.update_payoff(job) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 7cc832dbd6..af75cfd846 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -38,7 +38,7 @@ def _main(): league = MockLeague() coordinator = LeagueCoordinator(league) coordinator(None) - time.sleep(5) + time.sleep(3) assert league.update_payoff_cnt == 3 assert league.update_active_player_cnt == 3 assert league.create_historical_player_cnt == 3 @@ -47,26 +47,26 @@ def _main(): # test ACTOR_GREETING res = [] actor_id = "test_node_{}".format(task.router.node_id) - task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB(actor_id), lambda job: res.append(job)) - time.sleep(1) + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), lambda job: res.append(job)) + time.sleep(0.1) for _ in range(3): - task.emit(EventEnum.ACTOR_GREETING(), actor_id) - time.sleep(3) + task.emit(EventEnum.ACTOR_GREETING, actor_id) + time.sleep(2) assert actor_id == res[-1].actor_id elif task.router.node_id == 2: # test LEARNER_SEND_META actor_id = "test_node_{}".format(task.router.node_id) - time.sleep(1) + time.sleep(0.1) for _ in range(3): - task.emit(EventEnum.LEARNER_SEND_META(), {"meta": actor_id}) - time.sleep(3) + task.emit(EventEnum.LEARNER_SEND_META, {"meta": actor_id}) + time.sleep(2) elif task.router.node_id == 3: # test ACTOR_FINISH_JOB actor_id = "test_node_{}".format(task.router.node_id) - time.sleep(1) + time.sleep(0.1) job = Job(-1, actor_id, False) for _ in range(3): - task.emit(EventEnum.ACTOR_FINISH_JOB(), job) + task.emit(EventEnum.ACTOR_FINISH_JOB, job) time.sleep(3) else: raise Exception("Invalid node id {}".format(task.router.is_active)) From 474524e68a578bb72ce17a5e651fb238123c3ffd Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sun, 29 May 2022 01:00:02 +0800 Subject: [PATCH 045/229] simplify the code --- ding/framework/middleware/collector.py | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4975798a38..3c4ded6168 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -53,17 +53,6 @@ def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: self.obs_pool.reset(env_id) self.policy_output_pool.reset(env_id) self.env_info[env_id] = {'time': 0., 'step': 0} - - def _close(self) -> None: - """ - Overview: - Close the collector. If end_flag is False, close the environment, flush the tb_logger\ - and close the tb_logger. - """ - if self.end_flag: - return - self.end_flag = True - self.env.close() def __del__(self) -> None: """ @@ -71,7 +60,10 @@ def __del__(self) -> None: Execute the close command and close the collector. __del__ is automatically called to \ destroy the collector instance when the collector finishes its work """ - self._close() + if self.end_flag: + return + self.end_flag = True + self.env.close() def __call__(self, ctx: "OnlineRLContext") -> None: """ From 9d91063e344c2c516d2258cc0c9fdeccf29cc4e7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sun, 29 May 2022 01:06:33 +0800 Subject: [PATCH 046/229] for multiple policies --- ding/framework/middleware/collector.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 3c4ded6168..dece33dc4c 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,3 +1,4 @@ +from distutils.log import info from typing import TYPE_CHECKING, Callable, List, Optional, Tuple from easydict import EasyDict from ding.policy import Policy, get_random_policy @@ -118,11 +119,11 @@ def __call__(self, ctx: "OnlineRLContext") -> None: if timestep.done: self.total_episode_count += 1 info = { - 'reward0': timestep.info[0]['final_eval_reward'], - 'reward1': timestep.info[1]['final_eval_reward'], 'time': self.env_info[env_id]['time'], 'step': self.env_info[env_id]['step'], } + for policy_id in range(ctx.agent_num): + info['reward'+str(policy_id)] = timestep.info[policy_id]['final_eval_reward'] ctx.collected_episode += 1 self.episode_info.append(info) for i, p in enumerate(ctx.policies): From 6ca4ae246c96b5bae95e481490773935cec0e218 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Sun, 29 May 2022 01:16:31 +0800 Subject: [PATCH 047/229] change a bit --- ding/framework/middleware/functional/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index adc344cf16..295ffb2af9 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -138,7 +138,7 @@ def _rollout(ctx: "OnlineRLContext"): return _rollout -def policy_resetter(): +def policy_resetter(env_num:int): def _policy_resetter(ctx: OnlineRLContext): if ctx.policies is not None: assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" @@ -149,7 +149,7 @@ def _policy_resetter(ctx: OnlineRLContext): ctx.traj_buffer = { env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) for policy_id in range(ctx.agent_num)} - for env_id in range(ctx.env_num) + for env_id in range(env_num) } for p in ctx.policies: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 6a814de5a9..95a6cfd5f6 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -55,7 +55,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) - self._policy_resetter = task.wrap(policy_resetter()) + self._policy_resetter = task.wrap(policy_resetter(self.env_num)) def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -93,7 +93,6 @@ def _on_league_job(self, job: "Job"): assert main_player, "Can not find active player" self.ctx.policies = policies - self.ctx.env_num = self.env_num self._policy_resetter(self.ctx) def send_actor_job(episode_info: List): From 2d85ccf9509d8bfd2841ffc86ca7762c42cd8af3 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 14:39:06 +0800 Subject: [PATCH 048/229] fix style --- ding/policy/dqn.py | 4 +++- ding/torch_utils/loss/tests/test_contrastive_loss.py | 5 +---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index 4de1dcedcb..a69bcabdc8 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -583,7 +583,9 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: q_value, target_q_value, data['action'], target_q_action, data['reward'], data['done'], data['weight'] ) value_gamma = data.get('value_gamma') - bellman_loss, td_error_per_sample = q_nstep_td_error(data_n, self._gamma, nstep=self._nstep, value_gamma=value_gamma) + bellman_loss, td_error_per_sample = q_nstep_td_error( + data_n, self._gamma, nstep=self._nstep, value_gamma=value_gamma + ) # ====================== # Compute auxiliary loss diff --git a/ding/torch_utils/loss/tests/test_contrastive_loss.py b/ding/torch_utils/loss/tests/test_contrastive_loss.py index 83eeb182d3..8737ada4d1 100644 --- a/ding/torch_utils/loss/tests/test_contrastive_loss.py +++ b/ding/torch_utils/loss/tests/test_contrastive_loss.py @@ -7,10 +7,7 @@ @pytest.mark.benchmark @pytest.mark.parametrize('noise', [0.1, 1.0]) -@pytest.mark.parametrize('dims', [ - [16], - [3, 16, 16] -]) +@pytest.mark.parametrize('dims', [[16], [3, 16, 16]]) def test_infonce_loss(noise, dims): print_loss = False batch_size = 128 From 157b9b3ab63a2a1e1922b538f969e8e306cbf0b4 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 30 May 2022 14:52:54 +0800 Subject: [PATCH 049/229] revert to drop the streaming type code --- ding/framework/middleware/league_actor.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 95a6cfd5f6..b2af5cb039 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -109,12 +109,14 @@ def send_actor_data(train_data: List): actor_data = ActorData(env_step=self.ctx.envstep, train_data=train_data) task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - if self.n_rollout_samples > 0: - pass - else: - self.ctx.n_episode = None - self.ctx.train_iter = main_player.total_agent_step - self.ctx.policy_kwargs = None + self.ctx.n_episode = None + self.ctx.train_iter = main_player.total_agent_step + self.ctx.policy_kwargs = None + + # if self.n_rollout_samples > 0: + # pass + # else: + # pass collector(self.ctx) train_data, episode_info = self.ctx.train_data[0], self.ctx.episode_info[0] # only use main player data for training From a13b5e6e9d564368739c2fc1909220f6587aa2dc Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 15:23:49 +0800 Subject: [PATCH 050/229] fix codecov --- .coveragerc | 1 + ding/policy/dqn.py | 2 ++ ding/torch_utils/loss/contrastive_loss.py | 5 ----- ding/torch_utils/loss/tests/test_contrastive_loss.py | 9 ++++++--- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/.coveragerc b/.coveragerc index d187aa2739..119f51e515 100644 --- a/.coveragerc +++ b/.coveragerc @@ -21,3 +21,4 @@ omit = ding/scripts/tests/test_parallel_socket.py ding/data/buffer/tests/test_benchmark.py ding/example/* + ding/torch_utils/loss/tests/* diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index a69bcabdc8..5788e121e1 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -577,6 +577,8 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: aux_loss_learn = self._aux_model.forward(x_no_grad, y_no_grad) self._aux_optimizer.zero_grad() aux_loss_learn.backward() + if self._cfg.learn.multi_gpu: + self.sync_gradients(self._aux_model) self._aux_optimizer.step() data_n = q_nstep_td_data( diff --git a/ding/torch_utils/loss/contrastive_loss.py b/ding/torch_utils/loss/contrastive_loss.py index 0ef3eb073f..78d8575160 100644 --- a/ding/torch_utils/loss/contrastive_loss.py +++ b/ding/torch_utils/loss/contrastive_loss.py @@ -97,8 +97,3 @@ def forward(self, x: torch.Tensor, y: torch.Tensor): # The positive score is the first element of the log softmax. loss = -pred_log[:, :, 0, :].mean() return loss - - def __call__(self, x: torch.Tensor, y: torch.Tensor): - with torch.no_grad(): - out = self.forward(x, y) - return out diff --git a/ding/torch_utils/loss/tests/test_contrastive_loss.py b/ding/torch_utils/loss/tests/test_contrastive_loss.py index 8737ada4d1..785f703bc2 100644 --- a/ding/torch_utils/loss/tests/test_contrastive_loss.py +++ b/ding/torch_utils/loss/tests/test_contrastive_loss.py @@ -7,18 +7,21 @@ @pytest.mark.benchmark @pytest.mark.parametrize('noise', [0.1, 1.0]) -@pytest.mark.parametrize('dims', [[16], [3, 16, 16]]) +@pytest.mark.parametrize('dims', [16, [1, 16, 16], [1, 40, 40]]) def test_infonce_loss(noise, dims): print_loss = False batch_size = 128 N_batch = 3 - x_dim = [batch_size * N_batch] + dims + if isinstance(dims, int): + x_dim = [batch_size * N_batch, dims] + else: + x_dim = [batch_size * N_batch] + dims encode_shape = 16 x = np.random.normal(0, 1, size=x_dim) y = x ** 2 + noise * np.random.normal(0, 1, size=x_dim) - estimator = ContrastiveLoss(x.shape[1:], y.shape[1:], encode_shape=encode_shape) + estimator = ContrastiveLoss(dims, dims, encode_shape=encode_shape) dataset = TensorDataset(torch.Tensor(x), torch.Tensor(y)) dataloader = DataLoader(dataset, batch_size=batch_size) optimizer = torch.optim.Adam(estimator.parameters(), lr=3e-4) From ecd01196ca674e106f8c2f42134d32a1dbbd66cc Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 18:12:35 +0800 Subject: [PATCH 051/229] fix import --- ding/policy/dqn.py | 3 +-- ding/torch_utils/loss/__init__.py | 1 + ding/torch_utils/loss/contrastive_loss.py | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index 5788e121e1..cf5c271299 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -3,8 +3,7 @@ import copy import torch -from ding.torch_utils import Adam, to_device -from ding.torch_utils.loss.contrastive_loss import ContrastiveLoss +from ding.torch_utils import Adam, to_device, ContrastiveLoss from ding.rl_utils import q_nstep_td_data, q_nstep_td_error, get_nstep_return_data, get_train_sample from ding.model import model_wrap from ding.utils import POLICY_REGISTRY diff --git a/ding/torch_utils/loss/__init__.py b/ding/torch_utils/loss/__init__.py index e2795e2747..8668e53b98 100644 --- a/ding/torch_utils/loss/__init__.py +++ b/ding/torch_utils/loss/__init__.py @@ -1,2 +1,3 @@ from .cross_entropy_loss import LabelSmoothCELoss, SoftFocalLoss, build_ce_criterion from .multi_logits_loss import MultiLogitsLoss +from .contrastive_loss import ContrastiveLoss diff --git a/ding/torch_utils/loss/contrastive_loss.py b/ding/torch_utils/loss/contrastive_loss.py index 78d8575160..ed17eebcb1 100644 --- a/ding/torch_utils/loss/contrastive_loss.py +++ b/ding/torch_utils/loss/contrastive_loss.py @@ -1,9 +1,9 @@ from typing import Union -from ding.utils import SequenceType + import torch import torch.nn as nn import torch.nn.functional as F -from ding.model import ConvEncoder, FCEncoder +from ding.utils import SequenceType class ContrastiveLoss(nn.Module): @@ -44,6 +44,8 @@ def __init__( self._temperature = temperature def _get_encoder(self, obs: Union[int, SequenceType], heads: int): + from ding.model import ConvEncoder, FCEncoder + if isinstance(obs, int): obs = [obs] assert len(obs) in [1, 3] From 4d54abfefcd4f6141ecd5be7ac0111d5a83b8b42 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 30 May 2022 18:58:16 +0800 Subject: [PATCH 052/229] add readme --- README.md | 20 +++++++++++++------ ding/policy/dqn.py | 4 ++-- .../config/cartpole_dqn_stdim_config.py | 4 ++-- 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index bedd7fb091..05c57fcdd8 100644 --- a/README.md +++ b/README.md @@ -74,12 +74,19 @@ Have fun with exploration and exploitation. ## Outline -* [Installation](#installation) -* [Quick Start](#quick-start) -* [Feature/Algorithm Versatility](#algorithm-versatility) -* [Feature/Environment Versatility](#environment-versatility) -* [Feedback & Contribution](feedback-and-contribution) -* [License](#license) +- [Introduction to DI-engine (beta)](#introduction-to-di-engine-beta) +- [Outline](#outline) +- [Installation](#installation) +- [Quick Start](#quick-start) +- [Feature](#feature) + - [Algorithm Versatility](#algorithm-versatility) + - [Environment Versatility](#environment-versatility) +- [Feedback and Contribution](#feedback-and-contribution) +- [Supporters](#supporters) + - [↳ Stargazers](#-stargazers) + - [↳ Forkers](#-forkers) +- [Citation](#citation) +- [License](#license) ## Installation @@ -164,6 +171,7 @@ ding -m serial -e cartpole -p dqn -s 0 | 35 | [MBPO](https://arxiv.org/pdf/1906.08253.pdf) | ![mbrl](https://img.shields.io/badge/-ModelBasedRL-lightblue) | [model/template/model_based/mbpo](https://github.com/opendilab/DI-engine/blob/main/ding/model/template/model_based/mbpo.py) | python3 -u sac_halfcheetah_mopo_default_config.py | | 36 | [PER](https://arxiv.org/pdf/1511.05952.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [worker/replay_buffer](https://github.com/opendilab/DI-engine/blob/main/ding/worker/replay_buffer/advanced_buffer.py) | `rainbow demo` | | 37 | [GAE](https://arxiv.org/pdf/1506.02438.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [rl_utils/gae](https://github.com/opendilab/DI-engine/blob/main/ding/rl_utils/gae.py) | `ppo demo` | +| 38 | [ST-DIM](https://arxiv.org/pdf/1906.08226.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [torch_utils/loss/contrastive_loss](https://github.com/opendilab/DI-engine/blob/main/ding/torch_utils/loss/contrastive_loss.py) | ding -m serial -c cartpole_dqn_stdim_config.py -s 0 | ![discrete](https://img.shields.io/badge/-discrete-brightgreen) means discrete action space, which is only label in normal DRL algorithms (1-18) diff --git a/ding/policy/dqn.py b/ding/policy/dqn.py index cf5c271299..6198c6c9a5 100644 --- a/ding/policy/dqn.py +++ b/ding/policy/dqn.py @@ -524,8 +524,8 @@ def _get_encoding_size(self): return x.size()[1:], y.size()[1:] def _aux_encode(self, data): - x = data["obs"] - y = self._model.encoder(data["obs"]) + x = self._model.encoder(data["obs"]) + y = self._model.encoder(data["next_obs"]) return x, y def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: diff --git a/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py index 816c3721ce..25f9bea89e 100644 --- a/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py +++ b/dizoo/classic_control/cartpole/config/cartpole_dqn_stdim_config.py @@ -7,11 +7,11 @@ evaluator_env_num=5, n_evaluator_episode=5, stop_value=195, - replay_path='cartpole_dqn_seed0/video', + replay_path='cartpole_dqn_stdim_seed0/video', ), policy=dict( cuda=False, - load_path='cartpole_dqn_seed0/ckpt/ckpt_best.pth.tar', # necessary for eval + load_path='cartpole_dqn_stdim_seed0/ckpt/ckpt_best.pth.tar', # necessary for eval model=dict( obs_shape=4, action_shape=2, From 65525c1f26f8bae4feb0c8d818609af21b4c7f50 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 30 May 2022 20:21:53 +0800 Subject: [PATCH 053/229] drop useless codes --- ding/framework/middleware/collector.py | 24 ++----------------- .../tests/test_league_actor_one_process.py | 2 +- 2 files changed, 3 insertions(+), 23 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index dece33dc4c..dea3b6b9d7 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -9,7 +9,6 @@ # if TYPE_CHECKING: from ding.framework import OnlineRLContext -from ding.utils import EasyTimer from ding.worker.collector.base_serial_collector import CachePool @@ -21,7 +20,6 @@ def __init__( n_rollout_samples: int ): self.cfg = cfg - self._timer = EasyTimer() self.end_flag = False # self._reset(env) self.env = env @@ -29,9 +27,7 @@ def __init__( self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) self.policy_output_pool = CachePool('policy_output', self.env_num) - self.env_info = {env_id: {'time': 0., 'step': 0} for env_id in range(self.env_num)} - self.episode_info = [] self.total_envstep_count = 0 self.total_episode_count = 0 self.end_flag = False @@ -53,7 +49,6 @@ def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: ctx.traj_buffer[env_id][i].clear() self.obs_pool.reset(env_id) self.policy_output_pool.reset(env_id) - self.env_info[env_id] = {'time': 0., 'step': 0} def __del__(self) -> None: """ @@ -97,35 +92,20 @@ def __call__(self, ctx: "OnlineRLContext") -> None: ctx.ready_env_id = set() ctx.remain_episode = ctx.n_episode while True: - with self._timer: - self._battle_inferencer(ctx) - - # TODO(nyz) this duration may be inaccurate in async env - interaction_duration = self._timer.value / len(ctx.timesteps) + self._battle_inferencer(ctx) # TODO(nyz) vectorize this for loop for env_id, timestep in ctx.timesteps.items(): - self.env_info[env_id]['step'] += 1 self.total_envstep_count += 1 ctx.envstep = self.total_envstep_count ctx.env_id = env_id ctx.timestep = timestep - with self._timer: - self._battle_rolloutor(ctx) - - self.env_info[env_id]['time'] += self._timer.value + interaction_duration + self._battle_rolloutor(ctx) # If env is done, record episode info and reset if timestep.done: self.total_episode_count += 1 - info = { - 'time': self.env_info[env_id]['time'], - 'step': self.env_info[env_id]['step'], - } - for policy_id in range(ctx.agent_num): - info['reward'+str(policy_id)] = timestep.info[policy_id]['final_eval_reward'] ctx.collected_episode += 1 - self.episode_info.append(info) for i, p in enumerate(ctx.policies): p.reset([env_id]) self._reset_stat(env_id, ctx) diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 1afae06eef..9f940e130e 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -91,7 +91,7 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(0.3) + sleep(5) assert league_actor._model_updated == True try: print(testcases) From a1b090825626798528394cbd871fb12019b0f674 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 30 May 2022 21:02:41 +0800 Subject: [PATCH 054/229] change rolloutor --- ding/framework/middleware/collector.py | 39 ++----------- .../middleware/functional/collector.py | 58 ++++++++++++------- 2 files changed, 40 insertions(+), 57 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index dea3b6b9d7..e48487fec9 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -29,26 +29,11 @@ def __init__( self.policy_output_pool = CachePool('policy_output', self.env_num) self.total_envstep_count = 0 - self.total_episode_count = 0 self.end_flag = False self.n_rollout_samples = n_rollout_samples self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.obs_pool, self.policy_output_pool)) - - def _reset_stat(self, env_id: int, ctx: OnlineRLContext) -> None: - """ - Overview: - Reset the collector's state. Including reset the traj_buffer, obs_pool, policy_output_pool\ - and env_info. Reset these states according to env_id. You can refer to base_serial_collector\ - to get more messages. - Arguments: - - env_id (:obj:`int`): the id where we need to reset the collector's state - """ - for i in range(ctx.agent_num): - ctx.traj_buffer[env_id][i].clear() - self.obs_pool.reset(env_id) - self.policy_output_pool.reset(env_id) + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) def __del__(self) -> None: """ @@ -93,25 +78,9 @@ def __call__(self, ctx: "OnlineRLContext") -> None: ctx.remain_episode = ctx.n_episode while True: self._battle_inferencer(ctx) - - # TODO(nyz) vectorize this for loop - for env_id, timestep in ctx.timesteps.items(): - self.total_envstep_count += 1 - ctx.envstep = self.total_envstep_count - ctx.env_id = env_id - ctx.timestep = timestep - self._battle_rolloutor(ctx) - - # If env is done, record episode info and reset - if timestep.done: - self.total_episode_count += 1 - ctx.collected_episode += 1 - for i, p in enumerate(ctx.policies): - p.reset([env_id]) - self._reset_stat(env_id, ctx) - ctx.ready_env_id.remove(env_id) - for policy_id in range(ctx.agent_num): - ctx.episode_info[policy_id].append(timestep.info[policy_id]) + self._battle_rolloutor(ctx) + self.total_envstep_count = ctx.envstep + if ctx.collected_episode >= ctx.n_episode: break diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 295ffb2af9..a7f0524b7e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -181,31 +181,45 @@ def _battle_inferencer(ctx: "OnlineRLContext"): actions[env_id] = [] for output in policy_output: actions[env_id].append(output[env_id]['action']) - actions = to_ndarray(actions) - ctx.timesteps = env.step(actions) + ctx.actions = to_ndarray(actions) return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, obs_pool: CachePool, policy_output_pool:CachePool): +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): def _battle_rolloutor(ctx: "OnlineRLContext"): - timestep = ctx.timestep - env_id = ctx.env_id - for policy_id, _ in enumerate(ctx.policies): - policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] - policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx.policies[policy_id].process_transition( - obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], - policy_timestep - ) - transition['collect_iter'] = ctx.train_iter - ctx.traj_buffer[env_id][policy_id].append(transition) - # If env is done, prepare data + timesteps = env.step(ctx.actions) + for env_id, timestep in timesteps.items(): + # TODO: self.total_envstep_count += 1 + ctx.envstep += 1 + for policy_id, _ in enumerate(ctx.policies): + policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] + policy_timestep = type(timestep)(*policy_timestep_data) + transition = ctx.policies[policy_id].process_transition( + obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], + policy_timestep + ) + transition['collect_iter'] = ctx.train_iter + ctx.traj_buffer[env_id][policy_id].append(transition) + # If env is done, prepare data + if timestep.done: + transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) + if cfg.get_train_sample: + train_sample = ctx.policies[policy_id].get_train_sample(transitions) + ctx.train_data[policy_id].extend(train_sample) + else: + ctx.train_data[policy_id].append(transitions) + ctx.traj_buffer[env_id][policy_id].clear() + if timestep.done: - transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) - if cfg.get_train_sample: - train_sample = ctx.policies[policy_id].get_train_sample(transitions) - ctx.train_data[policy_id].extend(train_sample) - else: - ctx.train_data[policy_id].append(transitions) - ctx.traj_buffer[env_id][policy_id].clear() + ctx.collected_episode += 1 + for i, p in enumerate(ctx.policies): + p.reset([env_id]) + for i in range(ctx.agent_num): + ctx.traj_buffer[env_id][i].clear() + obs_pool.reset(env_id) + policy_output_pool.reset(env_id) + ctx.ready_env_id.remove(env_id) + for policy_id in range(ctx.agent_num): + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + return _battle_rolloutor \ No newline at end of file From 68191a9720f7df916c26f617a7d2fc5858624310 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 30 May 2022 22:21:05 +0800 Subject: [PATCH 055/229] move on_league_job in call --- ding/framework/middleware/league_actor.py | 126 ++++++++++-------- .../middleware/tests/test_league_actor.py | 5 +- 2 files changed, 70 insertions(+), 61 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index b2af5cb039..44fb47a052 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -15,6 +15,7 @@ from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector from ding.framework.middleware.functional import policy_resetter +from queue import Queue @dataclass class ActorData: @@ -49,13 +50,14 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.policy_fn = policy_fn self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 self.n_rollout_samples = 0 - self._running = False + # self._running = False self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} self._model_updated = True task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) + self.job_queue = Queue() def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -71,60 +73,7 @@ def _on_league_job(self, job: "Job"): """ Deal with job distributed by coordinator. Load historical model, generate traj and emit data. """ - self._running = True - - # Wait new active model for 10 seconds - for _ in range(10): - if self._model_updated: - self._model_updated = False - break - logging.info( - "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) - ) - sleep(1) - collector = self._get_collector(job.launch_player) - policies = [] - main_player: "PlayerMeta" = None - for player in job.players: - policies.append(self._get_policy(player)) - if player.player_id == job.launch_player: - main_player = player - # inferencer,rolloutor = self._get_collector(player.player_id) - assert main_player, "Can not find active player" - - self.ctx.policies = policies - self._policy_resetter(self.ctx) - - def send_actor_job(episode_info: List): - job.result = [e['result'] for e in episode_info] - task.emit("actor_job", job) - - def send_actor_data(train_data: List): - # Don't send data in evaluation mode - if job.is_eval: - return - for d in train_data: - d["adv"] = d["reward"] - - actor_data = ActorData(env_step=self.ctx.envstep, train_data=train_data) - task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - - self.ctx.n_episode = None - self.ctx.train_iter = main_player.total_agent_step - self.ctx.policy_kwargs = None - - # if self.n_rollout_samples > 0: - # pass - # else: - # pass - - collector(self.ctx) - train_data, episode_info = self.ctx.train_data[0], self.ctx.episode_info[0] # only use main player data for training - send_actor_data(train_data) - send_actor_job(episode_info) - - task.emit("actor_greeting", task.router.node_id) - self._running = False + self.job_queue.put(job) def _get_collector(self, player_id: str): if self._collectors.get(player_id): @@ -150,9 +99,68 @@ def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": return policy def __call__(self, ctx: "OnlineRLContext"): - self.ctx = ctx - if not self._running: - task.emit("actor_greeting", task.router.node_id) - sleep(3) + # if not self._running: + # task.emit("actor_greeting", task.router.node_id) + + while True: + if self.job_queue.empty(): + task.emit("actor_greeting", task.router.node_id) + + job = self.job_queue.get() + # self._running = True + + # Wait new active model for 10 seconds + for _ in range(10): + if self._model_updated: + self._model_updated = False + break + logging.info( + "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + ) + sleep(1) + + collector = self._get_collector(job.launch_player) + policies = [] + main_player: "PlayerMeta" = None + for player in job.players: + policies.append(self._get_policy(player)) + if player.player_id == job.launch_player: + main_player = player + # inferencer,rolloutor = self._get_collector(player.player_id) + assert main_player, "Can not find active player" + + ctx.policies = policies + self._policy_resetter(ctx) + + def send_actor_job(episode_info: List): + job.result = [e['result'] for e in episode_info] + task.emit("actor_job", job) + + def send_actor_data(train_data: List): + # Don't send data in evaluation mode + if job.is_eval: + return + for d in train_data: + d["adv"] = d["reward"] + + actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) + task.emit("actor_data_player_{}".format(job.launch_player), actor_data) + + ctx.n_episode = None + ctx.train_iter = main_player.total_agent_step + ctx.policy_kwargs = None + + # if self.n_rollout_samples > 0: + # pass + # else: + # pass + + collector(ctx) + train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training + send_actor_data(train_data) + send_actor_job(episode_info) + + # task.emit("actor_greeting", task.router.node_id) + # self._running = False diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 648466c65b..dfd59d3461 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -65,7 +65,6 @@ def test_actor(): def on_actor_greeting(actor_id): assert actor_id == ACTOR_ID - task.emit("league_job_actor_{}".format(ACTOR_ID), job) testcases["on_actor_greeting"] = True def on_actor_job(job_: Job): @@ -82,6 +81,8 @@ def on_actor_data(actor_data): def _test_actor(ctx): sleep(0.3) + task.emit("league_job_actor_{}".format(ACTOR_ID), job) + sleep(0.3) task.emit( "learner_model", @@ -89,7 +90,7 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(10) + sleep(5) try: print(testcases) assert all(testcases.values()) From 59f2a6e4a40f2213de25fff1a98b82f228aec3f1 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 31 May 2022 11:21:04 +0800 Subject: [PATCH 056/229] change __call__ --- ding/framework/middleware/league_actor.py | 116 ++++++++++------------ 1 file changed, 55 insertions(+), 61 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 44fb47a052..d627c5425c 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -15,7 +15,7 @@ from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector from ding.framework.middleware.functional import policy_resetter -from queue import Queue +import queue @dataclass class ActorData: @@ -57,7 +57,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) task.on("learner_model", self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) - self.job_queue = Queue() + self.job_queue = queue.Queue() def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -102,65 +102,59 @@ def __call__(self, ctx: "OnlineRLContext"): # if not self._running: # task.emit("actor_greeting", task.router.node_id) - while True: - if self.job_queue.empty(): - task.emit("actor_greeting", task.router.node_id) - - job = self.job_queue.get() - # self._running = True - - # Wait new active model for 10 seconds - for _ in range(10): - if self._model_updated: - self._model_updated = False - break - logging.info( - "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) - ) - sleep(1) + if self.job_queue.empty(): + task.emit("actor_greeting", task.router.node_id) + + try: + job = self.job_queue.get(timeout = 5) + except queue.Empty: + logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) + return + + # self._running = True + + # Wait new active model for 10 seconds + for _ in range(10): + if self._model_updated: + self._model_updated = False + break + logging.info( + "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + ) + sleep(1) + + collector = self._get_collector(job.launch_player) + policies = [] + main_player: "PlayerMeta" = None + for player in job.players: + policies.append(self._get_policy(player)) + if player.player_id == job.launch_player: + main_player = player + # inferencer,rolloutor = self._get_collector(player.player_id) + assert main_player, "Can not find active player" + + ctx.policies = policies + self._policy_resetter(ctx) + + ctx.n_episode = None + ctx.train_iter = main_player.total_agent_step + ctx.policy_kwargs = None + + collector(ctx) + train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training - collector = self._get_collector(job.launch_player) - policies = [] - main_player: "PlayerMeta" = None - for player in job.players: - policies.append(self._get_policy(player)) - if player.player_id == job.launch_player: - main_player = player - # inferencer,rolloutor = self._get_collector(player.player_id) - assert main_player, "Can not find active player" - - ctx.policies = policies - self._policy_resetter(ctx) - - def send_actor_job(episode_info: List): - job.result = [e['result'] for e in episode_info] - task.emit("actor_job", job) - - def send_actor_data(train_data: List): - # Don't send data in evaluation mode - if job.is_eval: - return - for d in train_data: - d["adv"] = d["reward"] - - actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) - task.emit("actor_data_player_{}".format(job.launch_player), actor_data) - - ctx.n_episode = None - ctx.train_iter = main_player.total_agent_step - ctx.policy_kwargs = None - - # if self.n_rollout_samples > 0: - # pass - # else: - # pass - - collector(ctx) - train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training - send_actor_data(train_data) - send_actor_job(episode_info) - - # task.emit("actor_greeting", task.router.node_id) - # self._running = False + # Send actor data. Don't send data in evaluation mode + if job.is_eval: + return + for d in train_data: + d["adv"] = d["reward"] + + actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) + task.emit("actor_data_player_{}".format(job.launch_player), actor_data) + + # Send actor job + job.result = [e['result'] for e in episode_info] + task.emit("actor_job", job) + From cfabb47507b4f83c5b5b9c848bbf9595ec5c9367 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Tue, 31 May 2022 15:28:36 +0800 Subject: [PATCH 057/229] add league coordinator --- .../middleware/league_coordinator.py | 22 ++++++++----------- .../tests/test_league_coordinator.py | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index efc894c844..f5996a3388 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -13,16 +13,22 @@ class LeagueCoordinator: def __init__(self, league: "BaseLeague") -> None: self.league = league - self._job_iter = self._job_dispatcher() self._lock = Lock() + self._total_send_jobs = 0 + self._eval_frequency = 10 + task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): with self._lock: - job: "Job" = next(self._job_iter) - if job.job_no > 0 and job.job_no % 10 == 0: # 1/10 turn job into eval mode + player_num = len(self.league.active_players_ids) + player_id = self.league.active_players_ids[self._total_send_jobs % player_num] + job = self.league.get_job_info(player_id) + job.job_no = self._total_send_jobs + self._total_send_jobs += 1 + if job.job_no > 0 and job.job_no % self._eval_frequency == 0: job.is_eval = True job.actor_id = actor_id task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) @@ -36,13 +42,3 @@ def _on_learner_meta(self, player_meta: "PlayerMeta"): def __call__(self, ctx: "Context") -> None: sleep(1) - - def _job_dispatcher(self) -> "Job": - i = 0 - while True: - player_num = len(self.league.active_players_ids) - player_id = self.league.active_players_ids[i % player_num] - job = self.league.get_job_info(player_id) - job.job_no = i - i += 1 - yield job diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index d810df27b1..6c8cd1c7d8 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -28,7 +28,7 @@ def create_historical_player(self, meta): def get_job_info(self, player_id): self.get_job_info_cnt += 1 - return Job(player_id=player_id, players=[]) + return Job(launch_player=player_id, players=[]) def _main(): From 0ff864dba1ef6bbf790e178679a93dce6f26f2e2 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Tue, 31 May 2022 07:31:39 +0000 Subject: [PATCH 058/229] reformatting --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/collector.py | 18 +++++------ .../middleware/functional/collector.py | 24 +++++++------- ding/framework/middleware/league_actor.py | 25 +++++++-------- ding/framework/middleware/league_learner.py | 3 +- .../middleware/tests/test_league_actor.py | 31 +++++++++---------- .../tests/test_league_actor_one_process.py | 23 ++++++-------- 7 files changed, 58 insertions(+), 68 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index e701f5e4bb..be4be50d6f 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -2,4 +2,4 @@ from .collector import StepCollector, EpisodeCollector, BattleCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver -from .league_actor import LeagueActor \ No newline at end of file +from .league_actor import LeagueActor diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index e48487fec9..bd412dc75e 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -13,12 +13,8 @@ class BattleCollector: - def __init__( - self, - cfg: EasyDict, - env: BaseEnvManager, - n_rollout_samples: int - ): + + def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): self.cfg = cfg self.end_flag = False # self._reset(env) @@ -32,7 +28,9 @@ def __init__( self.end_flag = False self.n_rollout_samples = n_rollout_samples - self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) + self._battle_inferencer = task.wrap( + battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool) + ) self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) def __del__(self) -> None: @@ -67,7 +65,7 @@ def __call__(self, ctx: "OnlineRLContext") -> None: if ctx.policy_kwargs is None: ctx.policy_kwargs = {} - + if self.env.closed: self.env.launch() @@ -80,10 +78,10 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self._battle_inferencer(ctx) self._battle_rolloutor(ctx) self.total_envstep_count = ctx.envstep - + if ctx.collected_episode >= ctx.n_episode: break - + class StepCollector: """ diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index a7f0524b7e..4b3650660c 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -1,4 +1,4 @@ -from typing import TYPE_CHECKING,Optional, Callable, List, Tuple, Any +from typing import TYPE_CHECKING, Optional, Callable, List, Tuple, Any from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch @@ -85,8 +85,6 @@ def _inference(ctx: "OnlineRLContext"): return _inference - - def rolloutor(cfg: EasyDict, policy: Policy, env: BaseEnvManager, transitions: TransitionList) -> Callable: """ Overview: @@ -138,7 +136,9 @@ def _rollout(ctx: "OnlineRLContext"): return _rollout -def policy_resetter(env_num:int): + +def policy_resetter(env_num: int): + def _policy_resetter(ctx: OnlineRLContext): if ctx.policies is not None: assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" @@ -148,7 +148,7 @@ def _policy_resetter(ctx: OnlineRLContext): # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions ctx.traj_buffer = { env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) - for policy_id in range(ctx.agent_num)} + for policy_id in range(ctx.agent_num)} for env_id in range(env_num) } @@ -158,7 +158,8 @@ def _policy_resetter(ctx: OnlineRLContext): return _policy_resetter -def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): +def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): + def _battle_inferencer(ctx: "OnlineRLContext"): # Get current env obs. obs = env.ready_obs @@ -185,7 +186,9 @@ def _battle_inferencer(ctx: "OnlineRLContext"): return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool:CachePool): + +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): + def _battle_rolloutor(ctx: "OnlineRLContext"): timesteps = env.step(ctx.actions) for env_id, timestep in timesteps.items(): @@ -195,8 +198,7 @@ def _battle_rolloutor(ctx: "OnlineRLContext"): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) transition = ctx.policies[policy_id].process_transition( - obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], - policy_timestep + obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], policy_timestep ) transition['collect_iter'] = ctx.train_iter ctx.traj_buffer[env_id][policy_id].append(transition) @@ -221,5 +223,5 @@ def _battle_rolloutor(ctx: "OnlineRLContext"): ctx.ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - return _battle_rolloutor \ No newline at end of file + + return _battle_rolloutor diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d627c5425c..39a64eb6c8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -2,7 +2,7 @@ from time import sleep import logging -from typing import Dict, List, Any, Callable +from typing import Dict, List, Any, Callable from dataclasses import dataclass, field from abc import abstractmethod @@ -17,11 +17,13 @@ from ding.framework.middleware.functional import policy_resetter import queue + @dataclass class ActorData: train_data: Any env_step: int = 0 + class Storage: def __init__(self, path: str) -> None: @@ -35,12 +37,14 @@ def save(self, data: Any) -> None: def load(self) -> Any: raise NotImplementedError + @dataclass class PlayerMeta: player_id: str checkpoint: "Storage" total_agent_step: int = 0 + class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): @@ -74,16 +78,12 @@ def _on_league_job(self, job: "Job"): Deal with job distributed by coordinator. Load historical model, generate traj and emit data. """ self.job_queue.put(job) - + def _get_collector(self, player_id: str): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg - collector = task.wrap(BattleCollector( - cfg.policy.collect.collector, - self.env, - self.n_rollout_samples - )) + collector = task.wrap(BattleCollector(cfg.policy.collect.collector, self.env, self.n_rollout_samples)) self._collectors[player_id] = collector return collector @@ -106,7 +106,7 @@ def __call__(self, ctx: "OnlineRLContext"): task.emit("actor_greeting", task.router.node_id) try: - job = self.job_queue.get(timeout = 5) + job = self.job_queue.get(timeout=5) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) return @@ -122,7 +122,7 @@ def __call__(self, ctx: "OnlineRLContext"): "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) ) sleep(1) - + collector = self._get_collector(job.launch_player) policies = [] main_player: "PlayerMeta" = None @@ -139,10 +139,10 @@ def __call__(self, ctx: "OnlineRLContext"): ctx.n_episode = None ctx.train_iter = main_player.total_agent_step ctx.policy_kwargs = None - + collector(ctx) train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training - + # Send actor data. Don't send data in evaluation mode if job.is_eval: return @@ -155,6 +155,3 @@ def __call__(self, ctx: "OnlineRLContext"): # Send actor job job.result = [e['result'] for e in episode_info] task.emit("actor_job", job) - - - diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index a80c861ab4..adcdd158b6 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,7 +1,8 @@ from dataclasses import dataclass + @dataclass class LearnerModel: player_id: str state_dict: dict - train_iter: int = 0 \ No newline at end of file + train_iter: int = 0 diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index dfd59d3461..e5acaf6e19 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -15,6 +15,7 @@ from dataclasses import dataclass + def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -34,22 +35,15 @@ def policy_fn(): return cfg, env_fn, policy_fn -def test_league_actor(): +def _main(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() job = Job( - launch_player='main_player_default_0', + launch_player='main_player_default_0', players=[ - PlayerMeta( - player_id='main_player_default_0', - checkpoint=FileStorage(path = None), - total_agent_step=0 - ), - PlayerMeta( - player_id='main_player_default_1', - checkpoint=FileStorage(path = None), - total_agent_step=0) - ] + PlayerMeta(player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0), + PlayerMeta(player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0) + ] ) ACTOR_ID = 0 @@ -66,15 +60,15 @@ def test_actor(): def on_actor_greeting(actor_id): assert actor_id == ACTOR_ID testcases["on_actor_greeting"] = True - + def on_actor_job(job_: Job): assert job_.launch_player == job.launch_player testcases["on_actor_job"] = True - + def on_actor_data(actor_data): assert isinstance(actor_data, ActorData) testcases["on_actor_data"] = True - + task.on('actor_greeting', on_actor_greeting) task.on("actor_job", on_actor_job) task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) @@ -96,6 +90,7 @@ def _test_actor(ctx): assert all(testcases.values()) finally: task.finish = True + return _test_actor if task.router.node_id == ACTOR_ID: @@ -105,5 +100,7 @@ def _test_actor(ctx): task.run() -if __name__ == "__main__": - Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(test_league_actor) \ No newline at end of file + +@pytest.mark.unittest +def test_league_actor(): + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 9f940e130e..0718ce13ca 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -16,6 +16,7 @@ from dataclasses import dataclass + def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -44,18 +45,15 @@ def test_league_actor(): def test_actor(): job = Job( - launch_player='main_player_default_0', + launch_player='main_player_default_0', players=[ PlayerMeta( - player_id='main_player_default_0', - checkpoint=FileStorage(path = None), - total_agent_step=0 - ), + player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 + ), PlayerMeta( - player_id='main_player_default_1', - checkpoint=FileStorage(path = None), - total_agent_step=0) - ] + player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0 + ) + ] ) testcases = { "on_actor_greeting": False, @@ -83,7 +81,7 @@ def _test_actor(ctx): sleep(0.3) task.emit("league_job_actor_{}".format(task.router.node_id), job) sleep(0.3) - assert league_actor._model_updated == False + assert league_actor._model_updated is False task.emit( "learner_model", @@ -92,7 +90,7 @@ def _test_actor(ctx): ) ) sleep(5) - assert league_actor._model_updated == True + assert league_actor._model_updated is True try: print(testcases) assert all(testcases.values()) @@ -104,6 +102,3 @@ def _test_actor(ctx): task.use(test_actor()) task.use(league_actor) task.run() - -if __name__ == "__main__": - test_league_actor() \ No newline at end of file From 6542a30549154649a7268b2d8d371bca9461ba91 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 31 May 2022 20:45:24 +0800 Subject: [PATCH 059/229] add new Enum event names inside actor and test --- ding/framework/event_enum.py | 2 +- .../middleware/functional/collector.py | 6 ++++-- ding/framework/middleware/league_actor.py | 12 ++++++------ .../middleware/tests/test_league_actor.py | 16 ++++++++++------ .../tests/test_league_actor_one_process.py | 17 ++++++++++------- 5 files changed, 31 insertions(+), 22 deletions(-) diff --git a/ding/framework/event_enum.py b/ding/framework/event_enum.py index c0ea7f9dcb..e7f555b548 100644 --- a/ding/framework/event_enum.py +++ b/ding/framework/event_enum.py @@ -12,5 +12,5 @@ class EventEnum(str, Enum): # events emited by actors ACTOR_GREETING = "on_actor_greeting" - ACTOR_SEND_DATA = "on_actor_send_meta" + ACTOR_SEND_DATA = "on_actor_send_meta_player_{player}" ACTOR_FINISH_JOB = "on_actor_finish_job" diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 4b3650660c..f637a3bf77 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -152,8 +152,10 @@ def _policy_resetter(ctx: OnlineRLContext): for env_id in range(env_num) } - for p in ctx.policies: - p.reset() + for p in ctx.policies: + p.reset() + else: + raise RuntimeError('ctx.policies should not be None') return _policy_resetter diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 39a64eb6c8..7ee6cd3af8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -1,4 +1,4 @@ -from ding.framework import task +from ding.framework import task, EventEnum from time import sleep import logging @@ -58,8 +58,8 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} self._model_updated = True - task.on("league_job_actor_{}".format(task.router.node_id), self._on_league_job) - task.on("learner_model", self._on_learner_model) + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) + task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) self.job_queue = queue.Queue() @@ -103,7 +103,7 @@ def __call__(self, ctx: "OnlineRLContext"): # task.emit("actor_greeting", task.router.node_id) if self.job_queue.empty(): - task.emit("actor_greeting", task.router.node_id) + task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) try: job = self.job_queue.get(timeout=5) @@ -150,8 +150,8 @@ def __call__(self, ctx: "OnlineRLContext"): d["adv"] = d["reward"] actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) - task.emit("actor_data_player_{}".format(job.launch_player), actor_data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) # Send actor job job.result = [e['result'] for e in episode_info] - task.emit("actor_job", job) + task.emit(EventEnum.ACTOR_FINISH_JOB, job) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index e5acaf6e19..b9876bc6ba 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -13,7 +13,7 @@ from ding.policy.ppo import PPOPolicy from dizoo.league_demo.game_env import GameEnv -from dataclasses import dataclass +from ding.framework import EventEnum def prepare_test(): @@ -69,17 +69,17 @@ def on_actor_data(actor_data): assert isinstance(actor_data, ActorData) testcases["on_actor_data"] = True - task.on('actor_greeting', on_actor_greeting) - task.on("actor_job", on_actor_job) - task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + task.on(EventEnum.ACTOR_GREETING, on_actor_greeting) + task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) def _test_actor(ctx): sleep(0.3) - task.emit("league_job_actor_{}".format(ACTOR_ID), job) + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=ACTOR_ID), job) sleep(0.3) task.emit( - "learner_model", + EventEnum.LEARNER_SEND_MODEL, LearnerModel( player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) @@ -104,3 +104,7 @@ def _test_actor(ctx): @pytest.mark.unittest def test_league_actor(): Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) + + +if __name__ == '__main__': + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 0718ce13ca..1adae982a9 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -7,14 +7,14 @@ from ding.framework.middleware.league_actor import ActorData, LeagueActor, PlayerMeta from ding.framework.storage import FileStorage -from ding.framework.task import task, Parallel +from ding.framework.task import task from ding.framework import OnlineRLContext from ding.league.v2.base_league import Job from ding.model import VAC from ding.policy.ppo import PPOPolicy from dizoo.league_demo.game_env import GameEnv -from dataclasses import dataclass +from ding.framework import EventEnum def prepare_test(): @@ -73,18 +73,18 @@ def on_actor_data(actor_data): assert isinstance(actor_data, ActorData) testcases["on_actor_data"] = True - task.on("actor_greeting", on_actor_greeting) - task.on("actor_job", on_actor_job) - task.on("actor_data_player_{}".format(job.launch_player), on_actor_data) + task.on(EventEnum.ACTOR_GREETING, on_actor_greeting) + task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) def _test_actor(ctx): sleep(0.3) - task.emit("league_job_actor_{}".format(task.router.node_id), job) + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) sleep(0.3) assert league_actor._model_updated is False task.emit( - "learner_model", + EventEnum.LEARNER_SEND_MODEL, LearnerModel( player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) @@ -102,3 +102,6 @@ def _test_actor(ctx): task.use(test_actor()) task.use(league_actor) task.run() + +if __name__ == '__main__': + test_league_actor() \ No newline at end of file From c7fac3f5e7c6d195b4546824199d7290f63ecde0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 31 May 2022 21:15:47 +0800 Subject: [PATCH 060/229] add test coordinator & actor pipeline --- .../middleware/tests/test_league_pipeline.py | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 ding/framework/middleware/tests/test_league_pipeline.py diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py new file mode 100644 index 0000000000..a7fca1015c --- /dev/null +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -0,0 +1,92 @@ +from time import sleep +import pytest +from copy import deepcopy +from ding.envs import BaseEnvManager +from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware import LeagueActor, LeagueCoordinator +from ding.framework.middleware.league_actor import PlayerMeta +from ding.framework.storage import FileStorage + +from ding.framework.task import task, Parallel +from ding.league.v2.base_league import Job +from ding.model import VAC +from ding.policy.ppo import PPOPolicy +from dizoo.league_demo.game_env import GameEnv + +from unittest.mock import patch + +def prepare_test(): + global cfg + cfg = deepcopy(cfg) + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + model = VAC(**cfg.policy.model) + policy = PPOPolicy(cfg.policy, model=model) + return policy + + return cfg, env_fn, policy_fn + +class MockLeague: + + def __init__(self): + self.active_players_ids = ["main_player_default_0", "main_player_default_1", "main_player_default_2"] + self.update_payoff_cnt = 0 + self.update_active_player_cnt = 0 + self.create_historical_player_cnt = 0 + self.get_job_info_cnt = 0 + + def update_payoff(self, job): + self.update_payoff_cnt += 1 + + def update_active_player(self, meta): + self.update_active_player_cnt += 1 + + def create_historical_player(self, meta): + self.create_historical_player_cnt += 1 + + def get_job_info(self, player_id): + self.get_job_info_cnt += 1 + return Job( + launch_player=player_id, + players=[ + PlayerMeta(player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0), + PlayerMeta(player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0) + ] + ) + + +def _main(): + cfg, env_fn, policy_fn = prepare_test() + ACTOR_ID = 1 + + with task.start(async_mode=True): + league_actor = LeagueActor(cfg, env_fn, policy_fn) + league = MockLeague() + coordinator = LeagueCoordinator(league) + + if task.router.node_id == 0: + with patch("ding.league.BaseLeague", MockLeague): + task.use(coordinator) + sleep(10) + assert league.get_job_info_cnt == 1 + assert league.update_payoff_cnt == 1 + if task.router.node_id == ACTOR_ID: + task.use(league_actor) + + task.run(max_step=1) + + +@pytest.mark.unittest +def test_league_actor(): + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) + + +if __name__ == '__main__': + Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) From 49ccd6c835ca19b9103f0a8e2f96fbfcd06cba44 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 11:18:22 +0800 Subject: [PATCH 061/229] modify _on_learner_model method inside league_actor to make it thread safety --- ding/framework/middleware/league_actor.py | 34 ++++++++++--------- .../tests/test_league_actor_one_process.py | 2 -- .../middleware/tests/test_league_pipeline.py | 5 ++- 3 files changed, 22 insertions(+), 19 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 7ee6cd3af8..8fc706179a 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -57,21 +57,17 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): # self._running = False self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} - self._model_updated = True task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) self.job_queue = queue.Queue() + self.model_queue = queue.Queue() def _on_learner_model(self, learner_model: "LearnerModel"): """ - If get newest learner model, update this actor's model. + If get newest learner model, put it inside model_queue. """ - player_meta = PlayerMeta(player_id=learner_model.player_id, checkpoint=None) - policy = self._get_policy(player_meta) - # update policy model - policy.load_state_dict(learner_model.state_dict) - self._model_updated = True + self.model_queue.put(learner_model) def _on_league_job(self, job: "Job"): """ @@ -111,17 +107,23 @@ def __call__(self, ctx: "OnlineRLContext"): logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) return - # self._running = True - - # Wait new active model for 10 seconds - for _ in range(10): - if self._model_updated: - self._model_updated = False - break + new_model = None + try: + logging.info( + "Getting new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + ) + new_model = self.model_queue.get(timeout=10) + except queue.Empty: + logging.warning('Cannot get new model, use old model instead.') + + if new_model is not None: + player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) + policy = self._get_policy(player_meta) + # update policy model + policy.load_state_dict(new_model.state_dict) logging.info( - "Waiting for new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + "Got new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) ) - sleep(1) collector = self._get_collector(job.launch_player) policies = [] diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 1adae982a9..d5370be2d6 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -81,7 +81,6 @@ def _test_actor(ctx): sleep(0.3) task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) sleep(0.3) - assert league_actor._model_updated is False task.emit( EventEnum.LEARNER_SEND_MODEL, @@ -90,7 +89,6 @@ def _test_actor(ctx): ) ) sleep(5) - assert league_actor._model_updated is True try: print(testcases) assert all(testcases.values()) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index a7fca1015c..fcfa185c5f 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -74,10 +74,11 @@ def _main(): if task.router.node_id == 0: with patch("ding.league.BaseLeague", MockLeague): task.use(coordinator) - sleep(10) + sleep(15) assert league.get_job_info_cnt == 1 assert league.update_payoff_cnt == 1 if task.router.node_id == ACTOR_ID: + # league_actor = LeagueActor() task.use(league_actor) task.run(max_step=1) @@ -90,3 +91,5 @@ def test_league_actor(): if __name__ == '__main__': Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) +# replicas = 10 +# un parallel worker 改成1 \ No newline at end of file From 6a2b76c8bd4ffe087ebb6e3ca343be516c3b1c02 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 12:06:28 +0800 Subject: [PATCH 062/229] change test_league_pipeline.py to multiple process --- ding/framework/middleware/league_actor.py | 4 +-- .../middleware/tests/test_league_pipeline.py | 28 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 8fc706179a..e2f0c12eb8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -114,7 +114,7 @@ def __call__(self, ctx: "OnlineRLContext"): ) new_model = self.model_queue.get(timeout=10) except queue.Empty: - logging.warning('Cannot get new model, use old model instead.') + logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, job.launch_player)) if new_model is not None: player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) @@ -133,7 +133,7 @@ def __call__(self, ctx: "OnlineRLContext"): if player.player_id == job.launch_player: main_player = player # inferencer,rolloutor = self._get_collector(player.player_id) - assert main_player, "Can not find active player" + assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) ctx.policies = policies self._policy_resetter(ctx) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index fcfa185c5f..42a9595c7c 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -14,6 +14,7 @@ from dizoo.league_demo.game_env import GameEnv from unittest.mock import patch +import random def prepare_test(): global cfg @@ -53,43 +54,42 @@ def create_historical_player(self, meta): def get_job_info(self, player_id): self.get_job_info_cnt += 1 + other_players = [i for i in self.active_players_ids if i != player_id] + another_palyer = random.choice(other_players) return Job( launch_player=player_id, players=[ - PlayerMeta(player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0), - PlayerMeta(player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0) + PlayerMeta(player_id=player_id, checkpoint=FileStorage(path=None), total_agent_step=0), + PlayerMeta(player_id=another_palyer, checkpoint=FileStorage(path=None), total_agent_step=0) ] ) +N_ACTORS = 5 def _main(): cfg, env_fn, policy_fn = prepare_test() - ACTOR_ID = 1 with task.start(async_mode=True): - league_actor = LeagueActor(cfg, env_fn, policy_fn) - league = MockLeague() - coordinator = LeagueCoordinator(league) - if task.router.node_id == 0: + league = MockLeague() + coordinator = LeagueCoordinator(league) with patch("ding.league.BaseLeague", MockLeague): task.use(coordinator) sleep(15) - assert league.get_job_info_cnt == 1 - assert league.update_payoff_cnt == 1 - if task.router.node_id == ACTOR_ID: - # league_actor = LeagueActor() - task.use(league_actor) + assert league.get_job_info_cnt == N_ACTORS + assert league.update_payoff_cnt == N_ACTORS + else: + task.use(LeagueActor(cfg, env_fn, policy_fn)) task.run(max_step=1) @pytest.mark.unittest def test_league_actor(): - Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS+1, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS+1, protocol="tcp", topology="mesh")(_main) # replicas = 10 # un parallel worker 改成1 \ No newline at end of file From aeac530791bec583a54b18f958e1a741fdbffe29 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 15:37:06 +0800 Subject: [PATCH 063/229] fix a problem of env initialization inside the creation of collector --- ding/framework/middleware/league_actor.py | 16 ++++++++-------- .../middleware/tests/test_league_pipeline.py | 2 ++ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index e2f0c12eb8..b8f632b5c9 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -49,12 +49,10 @@ class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.cfg = cfg - self.env = env_fn() - self.env_num = self.env.env_num + self.env_fn = env_fn + self.env_num = env_fn().env_num self.policy_fn = policy_fn self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 - self.n_rollout_samples = 0 - # self._running = False self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -71,7 +69,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): def _on_league_job(self, job: "Job"): """ - Deal with job distributed by coordinator. Load historical model, generate traj and emit data. + Deal with job distributed by coordinator, put it inside job_queue. """ self.job_queue.put(job) @@ -79,7 +77,8 @@ def _get_collector(self, player_id: str): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg - collector = task.wrap(BattleCollector(cfg.policy.collect.collector, self.env, self.n_rollout_samples)) + env = self.env_fn() + collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples)) self._collectors[player_id] = collector return collector @@ -102,12 +101,12 @@ def __call__(self, ctx: "OnlineRLContext"): task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) try: - job = self.job_queue.get(timeout=5) + job = self.job_queue.get(timeout=10) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) return - new_model = None + new_model: "LearnerModel" = None try: logging.info( "Getting new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) @@ -116,6 +115,7 @@ def __call__(self, ctx: "OnlineRLContext"): except queue.Empty: logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, job.launch_player)) + # 每次训练开始把 model_queue 清空 if new_model is not None: player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) policy = self._get_policy(player_meta) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 42a9595c7c..518b9bff65 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -73,9 +73,11 @@ def _main(): if task.router.node_id == 0: league = MockLeague() coordinator = LeagueCoordinator(league) + sleep(2) with patch("ding.league.BaseLeague", MockLeague): task.use(coordinator) sleep(15) + # print(league.get_job_info_cnt) assert league.get_job_info_cnt == N_ACTORS assert league.update_payoff_cnt == N_ACTORS else: From 0cd0e1d07fbbfe9c9f18dccb2bf04fa339fa9987 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Wed, 1 Jun 2022 15:39:55 +0800 Subject: [PATCH 064/229] polish league coordinator --- .../middleware/league_coordinator.py | 6 +- .../tests/test_league_coordinator.py | 69 +++++++++---------- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index f5996a3388..8a50c9f8d1 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -33,12 +33,12 @@ def _on_actor_greeting(self, actor_id): job.actor_id = actor_id task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) - def _on_actor_job(self, job: "Job"): - self.league.update_payoff(job) - def _on_learner_meta(self, player_meta: "PlayerMeta"): self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) + + def _on_actor_job(self, job: "Job"): + self.league.update_payoff(job) def __call__(self, ctx: "Context") -> None: sleep(1) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 6c8cd1c7d8..1d46539faa 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -32,45 +32,40 @@ def get_job_info(self, player_id): def _main(): - task.start() - if task.router.node_id == 0: - with patch("ding.league.BaseLeague", MockLeague): - league = MockLeague() - coordinator = LeagueCoordinator(league) + with task.start(): + if task.router.node_id == 0: + with patch("ding.league.BaseLeague", MockLeague): + league = MockLeague() + coordinator = LeagueCoordinator(league) + time.sleep(3) + assert league.update_payoff_cnt == 3 + assert league.update_active_player_cnt == 3 + assert league.create_historical_player_cnt == 3 + assert league.get_job_info_cnt == 3 + elif task.router.node_id == 1: + # test ACTOR_GREETING + res = [] + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), + lambda job: res.append(job)) + for _ in range(3): + task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) time.sleep(3) - assert league.update_payoff_cnt == 3 - assert league.update_active_player_cnt == 3 - assert league.create_historical_player_cnt == 3 - assert league.get_job_info_cnt == 3 - elif task.router.node_id == 1: - # test ACTOR_GREETING - res = [] - actor_id = "test_node_{}".format(task.router.node_id) - task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), lambda job: res.append(job)) - time.sleep(0.1) - for _ in range(3): - task.emit(EventEnum.ACTOR_GREETING, actor_id) - time.sleep(2) - assert actor_id == res[-1].actor_id - elif task.router.node_id == 2: - # test LEARNER_SEND_META - actor_id = "test_node_{}".format(task.router.node_id) - time.sleep(0.1) - for _ in range(3): - task.emit(EventEnum.LEARNER_SEND_META, {"meta": actor_id}) - time.sleep(2) - elif task.router.node_id == 3: - # test ACTOR_FINISH_JOB - actor_id = "test_node_{}".format(task.router.node_id) - time.sleep(0.1) - job = Job(-1, actor_id, False) - for _ in range(3): - task.emit(EventEnum.ACTOR_FINISH_JOB, job) - time.sleep(3) - else: - raise Exception("Invalid node id {}".format(task.router.is_active)) + assert task.router.node_id == res[-1].actor_id + elif task.router.node_id == 2: + # test LEARNER_SEND_META + for _ in range(3): + task.emit(EventEnum.LEARNER_SEND_META, {"meta": task.router.node_id}) + time.sleep(3) + elif task.router.node_id == 3: + # test ACTOR_FINISH_JOB + job = Job(-1, task.router.node_id, False) + for _ in range(3): + task.emit(EventEnum.ACTOR_FINISH_JOB, job) + time.sleep(3) + else: + raise Exception("Invalid node id {}".format(task.router.is_active)) -@pytest.mark.unittest +@pytest.mark.lxl def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) From fe26bb3b49bf98b177122c2985c679d3169eb27e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 15:54:38 +0800 Subject: [PATCH 065/229] change "policies" to "current_policies" to make it clear --- ding/framework/middleware/league_actor.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index b8f632b5c9..d4c4b5a425 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -115,7 +115,7 @@ def __call__(self, ctx: "OnlineRLContext"): except queue.Empty: logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, job.launch_player)) - # 每次训练开始把 model_queue 清空 + # TODO: 每次训练开始把 model_queue 清空 if new_model is not None: player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) policy = self._get_policy(player_meta) @@ -126,16 +126,16 @@ def __call__(self, ctx: "OnlineRLContext"): ) collector = self._get_collector(job.launch_player) - policies = [] + current_policies = [] main_player: "PlayerMeta" = None for player in job.players: - policies.append(self._get_policy(player)) + current_policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) - ctx.policies = policies + ctx.policies = current_policies self._policy_resetter(ctx) ctx.n_episode = None From bd6395b2fc049875a0cb5ca3f5df66e7a1317aed Mon Sep 17 00:00:00 2001 From: lixuelin Date: Wed, 1 Jun 2022 17:29:55 +0800 Subject: [PATCH 066/229] polish league coordinator --- ding/framework/middleware/tests/test_league_coordinator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 1d46539faa..2d3a8b65cc 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -66,6 +66,6 @@ def _main(): raise Exception("Invalid node id {}".format(task.router.is_active)) -@pytest.mark.lxl +@pytest.mark.unittest def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) From 465ce9b99f4bc80b5714cb76ef9dc6b1518162ca Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 21:02:49 +0800 Subject: [PATCH 067/229] add streaming data collection --- ding/framework/middleware/__init__.py | 1 + ding/framework/middleware/actor_data.py | 7 +++ ding/framework/middleware/collector.py | 19 +++++- ding/framework/middleware/league_actor.py | 60 ++++--------------- .../middleware/tests/test_league_actor.py | 3 +- .../tests/test_league_actor_one_process.py | 3 +- .../middleware/tests/test_league_pipeline.py | 2 +- ding/league/player.py | 8 +++ 8 files changed, 48 insertions(+), 55 deletions(-) create mode 100644 ding/framework/middleware/actor_data.py diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 8580fc2caf..039511d001 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,3 +4,4 @@ from .ckpt_handler import CkptSaver from .league_actor import LeagueActor from .league_coordinator import LeagueCoordinator +from .actor_data import ActorData diff --git a/ding/framework/middleware/actor_data.py b/ding/framework/middleware/actor_data.py new file mode 100644 index 0000000000..350022052a --- /dev/null +++ b/ding/framework/middleware/actor_data.py @@ -0,0 +1,7 @@ +from typing import Any +from dataclasses import dataclass + +@dataclass +class ActorData: + train_data: Any + env_step: int = 0 \ No newline at end of file diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index bd412dc75e..4a89fa7353 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,17 +1,16 @@ from distutils.log import info -from typing import TYPE_CHECKING, Callable, List, Optional, Tuple from easydict import EasyDict from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager -from ding.framework import task +from ding.framework import task, EventEnum from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from .actor_data import ActorData # if TYPE_CHECKING: from ding.framework import OnlineRLContext from ding.worker.collector.base_serial_collector import CachePool - class BattleCollector: def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): @@ -27,6 +26,7 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): self.total_envstep_count = 0 self.end_flag = False self.n_rollout_samples = n_rollout_samples + self.streaming_sampling_flag = n_rollout_samples > 0 self._battle_inferencer = task.wrap( battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool) @@ -79,10 +79,23 @@ def __call__(self, ctx: "OnlineRLContext") -> None: self._battle_rolloutor(ctx) self.total_envstep_count = ctx.envstep + if not ctx.job.is_eval and self.streaming_sampling_flag is True and len(ctx.train_data[0]) >= self.n_rollout_samples: + actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + ctx.train_data = [[] for _ in range(ctx.agent_num)] + if ctx.collected_episode >= ctx.n_episode: + ctx.job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + if not ctx.job.is_eval and len(ctx.train_data[0]) > 0: + actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + ctx.train_data = [[] for _ in range(ctx.agent_num)] break + + class StepCollector: """ Overview: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d4c4b5a425..90f1c8e21c 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -15,36 +15,9 @@ from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector from ding.framework.middleware.functional import policy_resetter +from ding.league.player import PlayerMeta import queue - -@dataclass -class ActorData: - train_data: Any - env_step: int = 0 - - -class Storage: - - def __init__(self, path: str) -> None: - self.path = path - - @abstractmethod - def save(self, data: Any) -> None: - raise NotImplementedError - - @abstractmethod - def load(self) -> Any: - raise NotImplementedError - - -@dataclass -class PlayerMeta: - player_id: str - checkpoint: "Storage" - total_agent_step: int = 0 - - class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): @@ -52,7 +25,8 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn - self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.n_rollout_samples = 64 self._collectors: Dict[str, BattleCollector] = {} self._policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -101,7 +75,7 @@ def __call__(self, ctx: "OnlineRLContext"): task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) try: - job = self.job_queue.get(timeout=10) + ctx.job = self.job_queue.get(timeout=10) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) return @@ -109,28 +83,28 @@ def __call__(self, ctx: "OnlineRLContext"): new_model: "LearnerModel" = None try: logging.info( - "Getting new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + "Getting new model on actor: {}, player: {}".format(task.router.node_id, ctx.job.launch_player) ) new_model = self.model_queue.get(timeout=10) except queue.Empty: - logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, job.launch_player)) + logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, ctx.job.launch_player)) - # TODO: 每次训练开始把 model_queue 清空 + # TODO: 每次循环开始前把 model_queue 清空 if new_model is not None: player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) policy = self._get_policy(player_meta) # update policy model policy.load_state_dict(new_model.state_dict) logging.info( - "Got new model on actor: {}, player: {}".format(task.router.node_id, job.launch_player) + "Got new model on actor: {}, player: {}".format(task.router.node_id, ctx.job.launch_player) ) - collector = self._get_collector(job.launch_player) + collector = self._get_collector(ctx.job.launch_player) current_policies = [] main_player: "PlayerMeta" = None - for player in job.players: + for player in ctx.job.players: current_policies.append(self._get_policy(player)) - if player.player_id == job.launch_player: + if player.player_id == ctx.job.launch_player: main_player = player # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) @@ -143,17 +117,5 @@ def __call__(self, ctx: "OnlineRLContext"): ctx.policy_kwargs = None collector(ctx) - train_data, episode_info = ctx.train_data[0], ctx.episode_info[0] # only use main player data for training - - # Send actor data. Don't send data in evaluation mode - if job.is_eval: - return - for d in train_data: - d["adv"] = d["reward"] - actor_data = ActorData(env_step=ctx.envstep, train_data=train_data) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - # Send actor job - job.result = [e['result'] for e in episode_info] - task.emit(EventEnum.ACTOR_FINISH_JOB, job) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index b9876bc6ba..53772a8a30 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -4,7 +4,8 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware.league_actor import ActorData, LeagueActor, PlayerMeta +from ding.framework.middleware import ActorData, LeagueActor +from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage from ding.framework.task import task, Parallel diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index d5370be2d6..4aaef8861d 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -4,7 +4,8 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware.league_actor import ActorData, LeagueActor, PlayerMeta +from ding.framework.middleware import ActorData, LeagueActor +from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage from ding.framework.task import task diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 518b9bff65..a84a4170a9 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -4,7 +4,7 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware import LeagueActor, LeagueCoordinator -from ding.framework.middleware.league_actor import PlayerMeta +from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage from ding.framework.task import task, Parallel diff --git a/ding/league/player.py b/ding/league/player.py index e253c0bdad..f5a7d33233 100644 --- a/ding/league/player.py +++ b/ding/league/player.py @@ -1,3 +1,4 @@ +from dataclasses import dataclass from typing import Callable, Optional, List from collections import namedtuple import numpy as np @@ -5,6 +6,13 @@ from ding.utils import import_module, PLAYER_REGISTRY from .algorithm import pfsp +from ding.framework.storage import Storage + +@dataclass +class PlayerMeta: + player_id: str + checkpoint: "Storage" + total_agent_step: int = 0 class Player: From a6e9343ac5ae33d23cfd2a9c6ea47618a4c50248 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Wed, 1 Jun 2022 21:15:49 +0800 Subject: [PATCH 068/229] demo(nyz): add distar model --- dizoo/distar/envs/__init__.py | 2 + dizoo/distar/envs/action_dict.py | 937 ++++++++++++++ dizoo/distar/envs/fake_data.py | 306 +++++ dizoo/distar/envs/meta.py | 11 + dizoo/distar/envs/static_data.py | 1152 +++++++++++++++++ dizoo/distar/model/__init__.py | 1 + .../model/actor_critic_default_config.yaml | 453 +++++++ dizoo/distar/model/encoder.py | 42 + dizoo/distar/model/head/__init__.py | 2 + dizoo/distar/model/head/action_arg_head.py | 497 +++++++ dizoo/distar/model/head/action_type_head.py | 71 + dizoo/distar/model/lstm.py | 321 +++++ dizoo/distar/model/model.py | 189 +++ dizoo/distar/model/module_utils.py | 570 ++++++++ dizoo/distar/model/obs_encoder/__init__.py | 4 + .../model/obs_encoder/entity_encoder.py | 101 ++ .../model/obs_encoder/scalar_encoder.py | 145 +++ .../model/obs_encoder/spatial_encoder.py | 99 ++ .../distar/model/obs_encoder/value_encoder.py | 84 ++ dizoo/distar/model/policy.py | 79 ++ dizoo/distar/model/tests/test_encoder.py | 31 + dizoo/distar/model/tests/test_value.py | 23 + dizoo/distar/model/value.py | 38 + 23 files changed, 5158 insertions(+) create mode 100644 dizoo/distar/envs/__init__.py create mode 100644 dizoo/distar/envs/action_dict.py create mode 100644 dizoo/distar/envs/fake_data.py create mode 100644 dizoo/distar/envs/meta.py create mode 100644 dizoo/distar/envs/static_data.py create mode 100644 dizoo/distar/model/__init__.py create mode 100644 dizoo/distar/model/actor_critic_default_config.yaml create mode 100644 dizoo/distar/model/encoder.py create mode 100644 dizoo/distar/model/head/__init__.py create mode 100644 dizoo/distar/model/head/action_arg_head.py create mode 100644 dizoo/distar/model/head/action_type_head.py create mode 100644 dizoo/distar/model/lstm.py create mode 100644 dizoo/distar/model/model.py create mode 100644 dizoo/distar/model/module_utils.py create mode 100644 dizoo/distar/model/obs_encoder/__init__.py create mode 100644 dizoo/distar/model/obs_encoder/entity_encoder.py create mode 100644 dizoo/distar/model/obs_encoder/scalar_encoder.py create mode 100644 dizoo/distar/model/obs_encoder/spatial_encoder.py create mode 100644 dizoo/distar/model/obs_encoder/value_encoder.py create mode 100644 dizoo/distar/model/policy.py create mode 100644 dizoo/distar/model/tests/test_encoder.py create mode 100644 dizoo/distar/model/tests/test_value.py create mode 100644 dizoo/distar/model/value.py diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py new file mode 100644 index 0000000000..729cd76ef8 --- /dev/null +++ b/dizoo/distar/envs/__init__.py @@ -0,0 +1,2 @@ +from .meta import * +from .static_data import BEGIN_ACTIONS diff --git a/dizoo/distar/envs/action_dict.py b/dizoo/distar/envs/action_dict.py new file mode 100644 index 0000000000..470ed978ee --- /dev/null +++ b/dizoo/distar/envs/action_dict.py @@ -0,0 +1,937 @@ +import numpy as np +from copy import deepcopy + +ACTION_INFO_MASK = \ + { + 0: {'name': 'no_op', 'func_type': 'raw_no_op', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': False}, + 168: {'name': 'raw_move_camera', 'func_type': 'raw_move_camera', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': True}, + 2: {'name': 'Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, + 3: {'name': 'Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, + 4: {'name': 'Attack_Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 6: {'name': 'Attack_AttackBuilding_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 5: {'name': 'Attack_Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 7: {'name': 'Attack_AttackBuilding_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 539: {'name': 'Attack_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 540: {'name': 'Attack_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 8: {'name': 'Attack_Redirect_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 9: {'name': 'Attack_Redirect_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 88: {'name': 'Behavior_BuildingAttackOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2082, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 87: {'name': 'Behavior_BuildingAttackOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2081, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 169: {'name': 'Behavior_CloakOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3677, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, + 170: {'name': 'Behavior_CloakOff_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 393, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, + 171: {'name': 'Behavior_CloakOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 383, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 172: {'name': 'Behavior_CloakOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3676, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, + 173: {'name': 'Behavior_CloakOn_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 392, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, + 174: {'name': 'Behavior_CloakOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 382, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 175: {'name': 'Behavior_GenerateCreepOff_quick', 'func_type': 'raw_cmd', 'ability_id': 1693, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 176: {'name': 'Behavior_GenerateCreepOn_quick', 'func_type': 'raw_cmd', 'ability_id': 1692, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 178: {'name': 'Behavior_HoldFireOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 38, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 179: {'name': 'Behavior_HoldFireOff_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2552, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, + 177: {'name': 'Behavior_HoldFireOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3689, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, + 181: {'name': 'Behavior_HoldFireOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 36, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 182: {'name': 'Behavior_HoldFireOn_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2550, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, + 180: {'name': 'Behavior_HoldFireOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3688, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, + 158: {'name': 'Behavior_PulsarBeamOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2376, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 159: {'name': 'Behavior_PulsarBeamOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2375, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 183: {'name': 'Build_Armory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 331, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 36: {'name': 'Build_Assimilator_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 882, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 184: {'name': 'Build_BanelingNest_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1162, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 185: {'name': 'Build_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 321, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 186: {'name': 'Build_Bunker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 324, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 187: {'name': 'Build_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 318, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 188: {'name': 'Build_CreepTumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3691, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED', 'ZERG_QUEEN'], 'avail_unit_type_id': [137, 126]}, + 189: {'name': 'Build_CreepTumor_Queen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1694, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 190: {'name': 'Build_CreepTumor_Tumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1733, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED'], 'avail_unit_type_id': [137]}, + 47: {'name': 'Build_CyberneticsCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 894, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 44: {'name': 'Build_DarkShrine_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 891, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 191: {'name': 'Build_EngineeringBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 322, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 192: {'name': 'Build_EvolutionChamber_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1156, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 193: {'name': 'Build_Extractor_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1154, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 194: {'name': 'Build_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 328, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 39: {'name': 'Build_FleetBeacon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 885, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 38: {'name': 'Build_Forge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 884, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 195: {'name': 'Build_FusionCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 333, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 37: {'name': 'Build_Gateway_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 883, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 196: {'name': 'Build_GhostAcademy_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 327, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 197: {'name': 'Build_Hatchery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1152, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 198: {'name': 'Build_HydraliskDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1157, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 199: {'name': 'Build_InfestationPit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1160, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 200: {'name': 'Build_Interceptors_autocast', 'func_type': 'raw_autocast', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 66: {'name': 'Build_Interceptors_quick', 'func_type': 'raw_cmd', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 201: {'name': 'Build_LurkerDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1163, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 202: {'name': 'Build_MissileTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 323, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 34: {'name': 'Build_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 880, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 203: {'name': 'Build_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 710, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 204: {'name': 'Build_NydusNetwork_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1161, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 205: {'name': 'Build_NydusWorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1768, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 41: {'name': 'Build_PhotonCannon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 887, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 35: {'name': 'Build_Pylon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 881, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 207: {'name': 'Build_Reactor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 206: {'name': 'Build_Reactor_quick', 'func_type': 'raw_cmd', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 209: {'name': 'Build_Reactor_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 208: {'name': 'Build_Reactor_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 211: {'name': 'Build_Reactor_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 210: {'name': 'Build_Reactor_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 213: {'name': 'Build_Reactor_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 212: {'name': 'Build_Reactor_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 214: {'name': 'Build_Refinery_pt', 'func_type': 'raw_cmd_unit', 'ability_id': 320, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 215: {'name': 'Build_RoachWarren_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1165, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 45: {'name': 'Build_RoboticsBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 892, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 46: {'name': 'Build_RoboticsFacility_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 893, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 216: {'name': 'Build_SensorTower_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 326, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 48: {'name': 'Build_ShieldBattery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 895, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 217: {'name': 'Build_SpawningPool_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1155, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 218: {'name': 'Build_SpineCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1166, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 219: {'name': 'Build_Spire_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1158, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 220: {'name': 'Build_SporeCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1167, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 42: {'name': 'Build_Stargate_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 889, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 221: {'name': 'Build_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 329, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 95: {'name': 'Build_StasisTrap_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2505, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 222: {'name': 'Build_SupplyDepot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 319, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 224: {'name': 'Build_TechLab_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 223: {'name': 'Build_TechLab_quick', 'func_type': 'raw_cmd', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 226: {'name': 'Build_TechLab_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 225: {'name': 'Build_TechLab_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 228: {'name': 'Build_TechLab_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 227: {'name': 'Build_TechLab_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 230: {'name': 'Build_TechLab_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 229: {'name': 'Build_TechLab_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 43: {'name': 'Build_TemplarArchive_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 890, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 40: {'name': 'Build_TwilightCouncil_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 886, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 231: {'name': 'Build_UltraliskCavern_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1159, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 232: {'name': 'BurrowDown_quick', 'func_type': 'raw_cmd', 'ability_id': 3661, 'general_id': 0, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORTERRAN', 'ZERG_LURKERMP', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_ZERGLING'], 'avail_unit_type_id': [498, 9, 104, 107, 111, 7, 502, 126, 688, 110, 494, 109, 105]}, + 233: {'name': 'BurrowDown_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1374, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 234: {'name': 'BurrowDown_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1378, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 235: {'name': 'BurrowDown_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1382, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, + 236: {'name': 'BurrowDown_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1444, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR'], 'avail_unit_type_id': [111]}, + 237: {'name': 'BurrowDown_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1394, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORTERRAN'], 'avail_unit_type_id': [7]}, + 238: {'name': 'BurrowDown_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2108, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, + 239: {'name': 'BurrowDown_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1433, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 240: {'name': 'BurrowDown_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2340, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, + 241: {'name': 'BurrowDown_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1386, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, + 242: {'name': 'BurrowDown_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2014, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [494]}, + 243: {'name': 'BurrowDown_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1512, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISK'], 'avail_unit_type_id': [109]}, + 244: {'name': 'BurrowDown_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2095, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE'], 'avail_unit_type_id': [498]}, + 245: {'name': 'BurrowDown_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1390, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, + 247: {'name': 'BurrowUp_autocast', 'func_type': 'raw_autocast', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, + 246: {'name': 'BurrowUp_quick', 'func_type': 'raw_cmd', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, + 249: {'name': 'BurrowUp_Baneling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, + 248: {'name': 'BurrowUp_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, + 250: {'name': 'BurrowUp_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1380, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONEBURROWED'], 'avail_unit_type_id': [116]}, + 252: {'name': 'BurrowUp_Hydralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, + 251: {'name': 'BurrowUp_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, + 253: {'name': 'BurrowUp_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1446, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [127]}, + 255: {'name': 'BurrowUp_InfestorTerran_autocast', 'func_type': 'raw_autocast', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, + 254: {'name': 'BurrowUp_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, + 256: {'name': 'BurrowUp_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2110, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, + 258: {'name': 'BurrowUp_Queen_autocast', 'func_type': 'raw_autocast', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, + 257: {'name': 'BurrowUp_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, + 260: {'name': 'BurrowUp_Ravager_autocast', 'func_type': 'raw_autocast', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, + 259: {'name': 'BurrowUp_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, + 262: {'name': 'BurrowUp_Roach_autocast', 'func_type': 'raw_autocast', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, + 261: {'name': 'BurrowUp_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, + 263: {'name': 'BurrowUp_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2016, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP'], 'avail_unit_type_id': [493]}, + 265: {'name': 'BurrowUp_Ultralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, + 264: {'name': 'BurrowUp_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, + 266: {'name': 'BurrowUp_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2097, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 268: {'name': 'BurrowUp_Zergling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, + 267: {'name': 'BurrowUp_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, + 98: {'name': 'Cancel_quick', 'func_type': 'raw_cmd', 'ability_id': 3659, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_CYCLONE', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOST', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB', 'TERRAN_SUPPLYDEPOT', 'TERRAN_THORAP', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_BROODLORDCOCOON', 'ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPIRE', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_ORACLE', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_VOIDRAY', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 38, 37, 24, 18, 692, 22, 27, 40, 39, 30, 50, 26, 23, 20, 25, 28, 42, 41, 19, 691, 1960, 96, 113, 87, 137, 138, 90, 88, 86, 91, 94, 111, 127, 100, 501, 95, 106, 128, 687, 97, 89, 98, 139, 92, 99, 140, 892, 93, 1956, 311, 801, 61, 72, 69, 64, 63, 62, 488, 59, 495, 732, 78, 66, 60, 70, 71, 67, 496, 68, 65, 80, 1955]}, + 123: {'name': 'Cancel_AdeptPhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2594, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, + 124: {'name': 'Cancel_AdeptShadePhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2596, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPTPHASESHIFT'], 'avail_unit_type_id': [801]}, + 269: {'name': 'Cancel_BarracksAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [38, 37]}, + 125: {'name': 'Cancel_BuildInProgress_quick', 'func_type': 'raw_cmd', 'ability_id': 314, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_INFESTATIONPIT', 'ZERG_NYDUSNETWORK', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960, 96, 90, 88, 86, 94, 95, 97, 89, 93, 1956, 61, 72, 69, 64, 63, 62, 59, 732, 66, 60, 70, 71, 67, 68, 65, 1955]}, + 270: {'name': 'Cancel_CreepTumor_quick', 'func_type': 'raw_cmd', 'ability_id': 1763, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN'], 'avail_unit_type_id': [87, 137, 138]}, + 271: {'name': 'Cancel_FactoryAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 484, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [40, 39]}, + 126: {'name': 'Cancel_GravitonBeam_quick', 'func_type': 'raw_cmd', 'ability_id': 174, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, + 272: {'name': 'Cancel_HangarQueue5_quick', 'func_type': 'raw_cmd', 'ability_id': 1038, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 129: {'name': 'Cancel_Last_quick', 'func_type': 'raw_cmd', 'ability_id': 3671, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_STARPORT', 'TERRAN_STARPORTTECHLAB', 'ZERG_BANELINGCOCOON', 'ZERG_BANELINGNEST', 'ZERG_EGG', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_GREATERSPIRE', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_LAIR', 'ZERG_LURKERDENMP', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPIRE', 'ZERG_ULTRALISKCAVERN', 'PROTOSS_CARRIER', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [29, 21, 37, 18, 22, 27, 39, 30, 26, 132, 130, 28, 41, 8, 96, 103, 90, 102, 86, 101, 91, 94, 100, 504, 97, 89, 92, 93, 79, 72, 69, 64, 63, 62, 59, 70, 71, 67, 68, 65]}, + 273: {'name': 'Cancel_LockOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2354, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 274: {'name': 'Cancel_MorphBroodlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1373, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BROODLORDCOCOON'], 'avail_unit_type_id': [113]}, + 275: {'name': 'Cancel_MorphGreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1221, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, + 276: {'name': 'Cancel_MorphHive_quick', 'func_type': 'raw_cmd', 'ability_id': 1219, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, + 277: {'name': 'Cancel_MorphLair_quick', 'func_type': 'raw_cmd', 'ability_id': 1217, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, + 279: {'name': 'Cancel_MorphLurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2113, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, + 278: {'name': 'Cancel_MorphLurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2333, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPEGG'], 'avail_unit_type_id': [501]}, + 280: {'name': 'Cancel_MorphMothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1848, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, + 281: {'name': 'Cancel_MorphOrbital_quick', 'func_type': 'raw_cmd', 'ability_id': 1517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 282: {'name': 'Cancel_MorphOverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2709, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_TRANSPORTOVERLORDCOCOON'], 'avail_unit_type_id': [892]}, + 283: {'name': 'Cancel_MorphOverseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1449, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDCOCOON'], 'avail_unit_type_id': [128]}, + 284: {'name': 'Cancel_MorphPlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 285: {'name': 'Cancel_MorphRavager_quick', 'func_type': 'raw_cmd', 'ability_id': 2331, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERCOCOON'], 'avail_unit_type_id': [687]}, + 286: {'name': 'Cancel_MorphThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2365, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, + 287: {'name': 'Cancel_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 250, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 288: {'name': 'Cancel_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 1623, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 130: {'name': 'Cancel_Queue1_quick', 'func_type': 'raw_cmd', 'ability_id': 304, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 131: {'name': 'Cancel_Queue5_quick', 'func_type': 'raw_cmd', 'ability_id': 306, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 289: {'name': 'Cancel_QueueAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 312, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_FACTORY', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 27, 28]}, + 132: {'name': 'Cancel_QueueCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 308, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 134: {'name': 'Cancel_QueuePassiveCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 1833, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 133: {'name': 'Cancel_QueuePassive_quick', 'func_type': 'raw_cmd', 'ability_id': 1831, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 290: {'name': 'Cancel_SpineCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1730, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, + 291: {'name': 'Cancel_SporeCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1732, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, + 292: {'name': 'Cancel_StarportAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [42, 41]}, + 127: {'name': 'Cancel_StasisTrap_quick', 'func_type': 'raw_cmd', 'ability_id': 2535, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 128: {'name': 'Cancel_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 3707, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, + 293: {'name': 'Effect_Abduct_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2067, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 96: {'name': 'Effect_AdeptPhaseShift_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2544, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, + 294: {'name': 'Effect_AntiArmorMissile_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3753, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 295: {'name': 'Effect_AutoTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1764, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 296: {'name': 'Effect_BlindingCloud_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2063, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 111: {'name': 'Effect_Blink_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, + 135: {'name': 'Effect_Blink_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1442, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_STALKER'], 'avail_unit_type_id': [74]}, + 112: {'name': 'Effect_Blink_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, + 297: {'name': 'Effect_CalldownMULE_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 298: {'name': 'Effect_CalldownMULE_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 299: {'name': 'Effect_CausticSpray_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2324, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, + 302: {'name': 'Effect_Charge_autocast', 'func_type': 'raw_autocast', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 300: {'name': 'Effect_Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 301: {'name': 'Effect_Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 122: {'name': 'Effect_ChronoBoostEnergyCost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3755, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 33: {'name': 'Effect_ChronoBoost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 261, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 303: {'name': 'Effect_Contaminate_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1825, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 304: {'name': 'Effect_CorrosiveBile_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2338, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, + 305: {'name': 'Effect_EMP_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 306: {'name': 'Effect_EMP_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 307: {'name': 'Effect_Explode_quick', 'func_type': 'raw_cmd', 'ability_id': 42, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING', 'ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [9, 115]}, + 157: {'name': 'Effect_Feedback_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 140, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, + 79: {'name': 'Effect_ForceField_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1526, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 308: {'name': 'Effect_FungalGrowth_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 309: {'name': 'Effect_FungalGrowth_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 310: {'name': 'Effect_GhostSnipe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2714, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 32: {'name': 'Effect_GravitonBeam_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 173, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, + 20: {'name': 'Effect_GuardianShield_quick', 'func_type': 'raw_cmd', 'ability_id': 76, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 312: {'name': 'Effect_Heal_autocast', 'func_type': 'raw_autocast', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 311: {'name': 'Effect_Heal_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 313: {'name': 'Effect_ImmortalBarrier_autocast', 'func_type': 'raw_autocast', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, + 91: {'name': 'Effect_ImmortalBarrier_quick', 'func_type': 'raw_cmd', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, + 314: {'name': 'Effect_InfestedTerrans_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 247, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 315: {'name': 'Effect_InjectLarva_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 251, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 316: {'name': 'Effect_InterferenceMatrix_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3747, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 317: {'name': 'Effect_KD8Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, + 538: {'name': 'Effect_KD8Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, + 318: {'name': 'Effect_LockOn_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 541: {'name': 'Effect_LockOn_autocast', 'func_type': 'raw_autocast', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 319: {'name': 'Effect_LocustSwoop_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2387, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_LOCUSTMPFLYING'], 'avail_unit_type_id': [693]}, + 110: {'name': 'Effect_MassRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3686, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, + 136: {'name': 'Effect_MassRecall_Mothership_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2368, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, + 162: {'name': 'Effect_MassRecall_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3757, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 137: {'name': 'Effect_MassRecall_StrategicRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 142, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, + 320: {'name': 'Effect_MedivacIgniteAfterburners_quick', 'func_type': 'raw_cmd', 'ability_id': 2116, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 321: {'name': 'Effect_NeuralParasite_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 249, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 322: {'name': 'Effect_NukeCalldown_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1622, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 90: {'name': 'Effect_OracleRevelation_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2146, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 323: {'name': 'Effect_ParasiticBomb_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2542, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 65: {'name': 'Effect_PsiStorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1036, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, + 167: {'name': 'Effect_PurificationNova_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2346, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DISRUPTOR'], 'avail_unit_type_id': [694]}, + 324: {'name': 'Effect_Repair_autocast', 'func_type': 'raw_autocast', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 108: {'name': 'Effect_Repair_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 109: {'name': 'Effect_Repair_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 326: {'name': 'Effect_Repair_Mule_autocast', 'func_type': 'raw_autocast', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 325: {'name': 'Effect_Repair_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 328: {'name': 'Effect_Repair_RepairDrone_autocast', 'func_type': 'raw_autocast', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, + 327: {'name': 'Effect_Repair_RepairDrone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, + 330: {'name': 'Effect_Repair_SCV_autocast', 'func_type': 'raw_autocast', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 329: {'name': 'Effect_Repair_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 331: {'name': 'Effect_Restore_autocast', 'func_type': 'raw_autocast', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, + 161: {'name': 'Effect_Restore_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, + 332: {'name': 'Effect_Salvage_quick', 'func_type': 'raw_cmd', 'ability_id': 32, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 333: {'name': 'Effect_Scan_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 399, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 113: {'name': 'Effect_ShadowStride_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2700, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR'], 'avail_unit_type_id': [76]}, + 334: {'name': 'Effect_SpawnChangeling_quick', 'func_type': 'raw_cmd', 'ability_id': 181, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 335: {'name': 'Effect_SpawnLocusts_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, + 336: {'name': 'Effect_SpawnLocusts_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, + 337: {'name': 'Effect_Spray_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3684, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [45, 104, 84]}, + 338: {'name': 'Effect_Spray_Protoss_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 30, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 339: {'name': 'Effect_Spray_Terran_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 26, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 340: {'name': 'Effect_Spray_Zerg_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 28, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 341: {'name': 'Effect_Stim_quick', 'func_type': 'raw_cmd', 'ability_id': 3675, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MARAUDER', 'TERRAN_MARINE'], 'avail_unit_type_id': [24, 51, 48]}, + 342: {'name': 'Effect_Stim_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 253, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, + 343: {'name': 'Effect_Stim_Marauder_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1684, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, + 344: {'name': 'Effect_Stim_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 380, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, + 345: {'name': 'Effect_Stim_Marine_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1683, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, + 346: {'name': 'Effect_SupplyDrop_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 255, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 347: {'name': 'Effect_TacticalJump_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2358, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 348: {'name': 'Effect_TimeWarp_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2244, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, + 349: {'name': 'Effect_Transfusion_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1664, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 350: {'name': 'Effect_ViperConsume_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2073, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 94: {'name': 'Effect_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 2393, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, + 353: {'name': 'Effect_WidowMineAttack_autocast', 'func_type': 'raw_autocast', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 351: {'name': 'Effect_WidowMineAttack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 352: {'name': 'Effect_WidowMineAttack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 537: {'name': 'Effect_YamatoGun_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 401, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 93: {'name': 'Hallucination_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 2391, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 22: {'name': 'Hallucination_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 146, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 23: {'name': 'Hallucination_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 148, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 92: {'name': 'Hallucination_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 2389, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 24: {'name': 'Hallucination_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 150, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 25: {'name': 'Hallucination_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 152, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 89: {'name': 'Hallucination_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 2114, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 26: {'name': 'Hallucination_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 154, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 27: {'name': 'Hallucination_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 156, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 28: {'name': 'Hallucination_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 158, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 29: {'name': 'Hallucination_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 160, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 30: {'name': 'Hallucination_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 162, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 31: {'name': 'Hallucination_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 164, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 354: {'name': 'Halt_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 315, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960]}, + 99: {'name': 'Halt_quick', 'func_type': 'raw_cmd', 'ability_id': 3660, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SCV', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 45, 25, 28, 19, 1960]}, + 355: {'name': 'Halt_TerranBuild_quick', 'func_type': 'raw_cmd', 'ability_id': 348, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 102: {'name': 'Harvest_Gather_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3666, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, + 356: {'name': 'Harvest_Gather_Drone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1183, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 357: {'name': 'Harvest_Gather_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 166, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 358: {'name': 'Harvest_Gather_Probe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 298, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 359: {'name': 'Harvest_Gather_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 295, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 103: {'name': 'Harvest_Return_quick', 'func_type': 'raw_cmd', 'ability_id': 3667, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, + 360: {'name': 'Harvest_Return_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1184, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 361: {'name': 'Harvest_Return_Mule_quick', 'func_type': 'raw_cmd', 'ability_id': 167, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 154: {'name': 'Harvest_Return_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 299, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 362: {'name': 'Harvest_Return_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 296, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 17: {'name': 'HoldPosition_quick', 'func_type': 'raw_cmd', 'ability_id': 3793, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 542: {'name': 'HoldPosition_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 3778, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 543: {'name': 'HoldPosition_Hold_quick', 'func_type': 'raw_cmd', 'ability_id': 18, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 364: {'name': 'Land_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 554, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [46]}, + 365: {'name': 'Land_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 419, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTERFLYING'], 'avail_unit_type_id': [36]}, + 366: {'name': 'Land_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 520, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [43]}, + 367: {'name': 'Land_OrbitalCommand_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1524, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMANDFLYING'], 'avail_unit_type_id': [134]}, + 363: {'name': 'Land_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3678, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_FACTORYFLYING', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [46, 36, 43, 134, 44]}, + 368: {'name': 'Land_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 522, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [44]}, + 370: {'name': 'Lift_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 452, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 371: {'name': 'Lift_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 417, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 372: {'name': 'Lift_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 485, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 373: {'name': 'Lift_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1522, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 369: {'name': 'Lift_quick', 'func_type': 'raw_cmd', 'ability_id': 3679, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_COMMANDCENTER', 'TERRAN_FACTORY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 18, 27, 132, 28]}, + 374: {'name': 'Lift_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 518, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 376: {'name': 'LoadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 416, 'general_id': 3663, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, + 375: {'name': 'LoadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3663, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, + 377: {'name': 'Load_Bunker_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 407, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 378: {'name': 'Load_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 394, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 379: {'name': 'Load_NydusNetwork_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1437, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 380: {'name': 'Load_NydusWorm_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2370, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, + 381: {'name': 'Load_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1406, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 104: {'name': 'Load_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3668, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 54, 142, 95, 893, 81, 136]}, + 382: {'name': 'Load_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 911, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 86: {'name': 'Morph_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 1766, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [76, 75]}, + 383: {'name': 'Morph_BroodLord_quick', 'func_type': 'raw_cmd', 'ability_id': 1372, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, + 78: {'name': 'Morph_Gateway_quick', 'func_type': 'raw_cmd', 'ability_id': 1520, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 384: {'name': 'Morph_GreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1220, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, + 385: {'name': 'Morph_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 1998, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLION'], 'avail_unit_type_id': [53]}, + 386: {'name': 'Morph_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 1978, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLIONTANK'], 'avail_unit_type_id': [484]}, + 387: {'name': 'Morph_Hive_quick', 'func_type': 'raw_cmd', 'ability_id': 1218, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, + 388: {'name': 'Morph_Lair_quick', 'func_type': 'raw_cmd', 'ability_id': 1216, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, + 389: {'name': 'Morph_LiberatorAAMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2560, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_LIBERATORAG'], 'avail_unit_type_id': [734]}, + 390: {'name': 'Morph_LiberatorAGMode_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_LIBERATOR'], 'avail_unit_type_id': [689]}, + 392: {'name': 'Morph_LurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2112, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, + 391: {'name': 'Morph_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2332, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, + 393: {'name': 'Morph_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1847, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, + 121: {'name': 'Morph_ObserverMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3739, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVERSURVEILLANCEMODE'], 'avail_unit_type_id': [1911]}, + 394: {'name': 'Morph_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1516, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 395: {'name': 'Morph_OverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2708, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, + 397: {'name': 'Morph_OverseerMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3745, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEEROVERSIGHTMODE'], 'avail_unit_type_id': [1912]}, + 396: {'name': 'Morph_Overseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1448, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 398: {'name': 'Morph_OversightMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3743, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 399: {'name': 'Morph_PlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1450, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 400: {'name': 'Morph_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2330, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, + 401: {'name': 'Morph_Root_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3680, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [139, 140]}, + 402: {'name': 'Morph_SiegeMode_quick', 'func_type': 'raw_cmd', 'ability_id': 388, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANK'], 'avail_unit_type_id': [33]}, + 403: {'name': 'Morph_SpineCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1729, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, + 404: {'name': 'Morph_SpineCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1725, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER'], 'avail_unit_type_id': [98]}, + 405: {'name': 'Morph_SporeCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1731, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, + 406: {'name': 'Morph_SporeCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1727, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLER'], 'avail_unit_type_id': [99]}, + 407: {'name': 'Morph_SupplyDepot_Lower_quick', 'func_type': 'raw_cmd', 'ability_id': 556, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOT'], 'avail_unit_type_id': [19]}, + 408: {'name': 'Morph_SupplyDepot_Raise_quick', 'func_type': 'raw_cmd', 'ability_id': 558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOTLOWERED'], 'avail_unit_type_id': [47]}, + 160: {'name': 'Morph_SurveillanceMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3741, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVER'], 'avail_unit_type_id': [82]}, + 409: {'name': 'Morph_ThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2364, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, + 410: {'name': 'Morph_ThorHighImpactMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2362, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THOR'], 'avail_unit_type_id': [52]}, + 411: {'name': 'Morph_Unsiege_quick', 'func_type': 'raw_cmd', 'ability_id': 390, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANKSIEGED'], 'avail_unit_type_id': [32]}, + 412: {'name': 'Morph_Uproot_quick', 'func_type': 'raw_cmd', 'ability_id': 3681, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER'], 'avail_unit_type_id': [98, 99]}, + 413: {'name': 'Morph_VikingAssaultMode_quick', 'func_type': 'raw_cmd', 'ability_id': 403, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGFIGHTER'], 'avail_unit_type_id': [35]}, + 414: {'name': 'Morph_VikingFighterMode_quick', 'func_type': 'raw_cmd', 'ability_id': 405, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGASSAULT'], 'avail_unit_type_id': [34]}, + 77: {'name': 'Morph_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 544: {'name': 'Morph_WarpGate_autocast', 'func_type': 'raw_autocast', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 80: {'name': 'Morph_WarpPrismPhasingMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1528, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM'], 'avail_unit_type_id': [81]}, + 81: {'name': 'Morph_WarpPrismTransportMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1530, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [136]}, + 13: {'name': 'Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 14: {'name': 'Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 545: {'name': 'Move_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 546: {'name': 'Move_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 547: {'name': 'Move_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 548: {'name': 'Move_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 15: {'name': 'Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 16: {'name': 'Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 549: {'name': 'Patrol_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 550: {'name': 'Patrol_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 551: {'name': 'Patrol_Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 552: {'name': 'Patrol_Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 415: {'name': 'Rally_Building_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, + 416: {'name': 'Rally_Building_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, + 417: {'name': 'Rally_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 418: {'name': 'Rally_CommandCenter_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 419: {'name': 'Rally_Hatchery_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 420: {'name': 'Rally_Hatchery_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 421: {'name': 'Rally_Hatchery_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 422: {'name': 'Rally_Hatchery_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 423: {'name': 'Rally_Morphing_Unit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, + 424: {'name': 'Rally_Morphing_Unit_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, + 138: {'name': 'Rally_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 165: {'name': 'Rally_Nexus_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 106: {'name': 'Rally_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, + 107: {'name': 'Rally_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, + 114: {'name': 'Rally_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, + 115: {'name': 'Rally_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, + 425: {'name': 'Research_AdaptiveTalons_quick', 'func_type': 'raw_cmd', 'ability_id': 3709, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERDENMP'], 'avail_unit_type_id': [504]}, + 85: {'name': 'Research_AdeptResonatingGlaives_quick', 'func_type': 'raw_cmd', 'ability_id': 1594, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 426: {'name': 'Research_AdvancedBallistics_quick', 'func_type': 'raw_cmd', 'ability_id': 805, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 553: {'name': 'Research_AnabolicSynthesis_quick', 'func_type': 'raw_cmd', 'ability_id': 263, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, + 427: {'name': 'Research_BansheeCloakingField_quick', 'func_type': 'raw_cmd', 'ability_id': 790, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 428: {'name': 'Research_BansheeHyperflightRotors_quick', 'func_type': 'raw_cmd', 'ability_id': 799, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 429: {'name': 'Research_BattlecruiserWeaponRefit_quick', 'func_type': 'raw_cmd', 'ability_id': 1532, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FUSIONCORE'], 'avail_unit_type_id': [30]}, + 84: {'name': 'Research_Blink_quick', 'func_type': 'raw_cmd', 'ability_id': 1593, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 430: {'name': 'Research_Burrow_quick', 'func_type': 'raw_cmd', 'ability_id': 1225, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 431: {'name': 'Research_CentrifugalHooks_quick', 'func_type': 'raw_cmd', 'ability_id': 1482, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGNEST'], 'avail_unit_type_id': [96]}, + 83: {'name': 'Research_Charge_quick', 'func_type': 'raw_cmd', 'ability_id': 1592, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 432: {'name': 'Research_ChitinousPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 265, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, + 433: {'name': 'Research_CombatShield_quick', 'func_type': 'raw_cmd', 'ability_id': 731, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 434: {'name': 'Research_ConcussiveShells_quick', 'func_type': 'raw_cmd', 'ability_id': 732, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 554: {'name': 'Research_CycloneLockOnDamage_quick', 'func_type': 'raw_cmd', 'ability_id': 769, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 435: {'name': 'Research_CycloneRapidFireLaunchers_quick', 'func_type': 'raw_cmd', 'ability_id': 768, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 436: {'name': 'Research_DrillingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 764, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 563: {'name': 'Research_EnhancedShockwaves_quick', 'func_type': 'raw_cmd', 'ability_id': 822, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 69: {'name': 'Research_ExtendedThermalLance_quick', 'func_type': 'raw_cmd', 'ability_id': 1097, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 437: {'name': 'Research_GlialRegeneration_quick', 'func_type': 'raw_cmd', 'ability_id': 216, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, + 67: {'name': 'Research_GraviticBooster_quick', 'func_type': 'raw_cmd', 'ability_id': 1093, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 68: {'name': 'Research_GraviticDrive_quick', 'func_type': 'raw_cmd', 'ability_id': 1094, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 438: {'name': 'Research_GroovedSpines_quick', 'func_type': 'raw_cmd', 'ability_id': 1282, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, + 440: {'name': 'Research_HighCapacityFuelTanks_quick', 'func_type': 'raw_cmd', 'ability_id': 804, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 439: {'name': 'Research_HiSecAutoTracking_quick', 'func_type': 'raw_cmd', 'ability_id': 650, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 441: {'name': 'Research_InfernalPreigniter_quick', 'func_type': 'raw_cmd', 'ability_id': 761, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 18: {'name': 'Research_InterceptorGravitonCatapult_quick', 'func_type': 'raw_cmd', 'ability_id': 44, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, + 442: {'name': 'Research_MuscularAugments_quick', 'func_type': 'raw_cmd', 'ability_id': 1283, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, + 443: {'name': 'Research_NeosteelFrame_quick', 'func_type': 'raw_cmd', 'ability_id': 655, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 444: {'name': 'Research_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 1455, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, + 445: {'name': 'Research_PathogenGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1454, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, + 446: {'name': 'Research_PersonalCloaking_quick', 'func_type': 'raw_cmd', 'ability_id': 820, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 19: {'name': 'Research_PhoenixAnionPulseCrystals_quick', 'func_type': 'raw_cmd', 'ability_id': 46, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, + 447: {'name': 'Research_PneumatizedCarapace_quick', 'func_type': 'raw_cmd', 'ability_id': 1223, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 139: {'name': 'Research_ProtossAirArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1565, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 140: {'name': 'Research_ProtossAirArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1566, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 141: {'name': 'Research_ProtossAirArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1567, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 116: {'name': 'Research_ProtossAirArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3692, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 142: {'name': 'Research_ProtossAirWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1562, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 143: {'name': 'Research_ProtossAirWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1563, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 144: {'name': 'Research_ProtossAirWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1564, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 117: {'name': 'Research_ProtossAirWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3693, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 145: {'name': 'Research_ProtossGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1065, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 146: {'name': 'Research_ProtossGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1066, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 147: {'name': 'Research_ProtossGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1067, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 118: {'name': 'Research_ProtossGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3694, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 148: {'name': 'Research_ProtossGroundWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1062, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 149: {'name': 'Research_ProtossGroundWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1063, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 150: {'name': 'Research_ProtossGroundWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1064, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 119: {'name': 'Research_ProtossGroundWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3695, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 151: {'name': 'Research_ProtossShieldsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1068, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 152: {'name': 'Research_ProtossShieldsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1069, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 153: {'name': 'Research_ProtossShieldsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1070, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 120: {'name': 'Research_ProtossShields_quick', 'func_type': 'raw_cmd', 'ability_id': 3696, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 70: {'name': 'Research_PsiStorm_quick', 'func_type': 'raw_cmd', 'ability_id': 1126, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TEMPLARARCHIVE'], 'avail_unit_type_id': [68]}, + 448: {'name': 'Research_RavenCorvidReactor_quick', 'func_type': 'raw_cmd', 'ability_id': 793, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 449: {'name': 'Research_RavenRecalibratedExplosives_quick', 'func_type': 'raw_cmd', 'ability_id': 803, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 97: {'name': 'Research_ShadowStrike_quick', 'func_type': 'raw_cmd', 'ability_id': 2720, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKSHRINE'], 'avail_unit_type_id': [69]}, + 450: {'name': 'Research_SmartServos_quick', 'func_type': 'raw_cmd', 'ability_id': 766, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 451: {'name': 'Research_Stimpack_quick', 'func_type': 'raw_cmd', 'ability_id': 730, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 453: {'name': 'Research_TerranInfantryArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 656, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 454: {'name': 'Research_TerranInfantryArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 657, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 455: {'name': 'Research_TerranInfantryArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 658, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 452: {'name': 'Research_TerranInfantryArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3697, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 457: {'name': 'Research_TerranInfantryWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 652, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 458: {'name': 'Research_TerranInfantryWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 653, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 459: {'name': 'Research_TerranInfantryWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 654, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 456: {'name': 'Research_TerranInfantryWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3698, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 461: {'name': 'Research_TerranShipWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 861, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 462: {'name': 'Research_TerranShipWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 862, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 463: {'name': 'Research_TerranShipWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 863, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 460: {'name': 'Research_TerranShipWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3699, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 464: {'name': 'Research_TerranStructureArmorUpgrade_quick', 'func_type': 'raw_cmd', 'ability_id': 651, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 466: {'name': 'Research_TerranVehicleAndShipPlatingLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 864, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 467: {'name': 'Research_TerranVehicleAndShipPlatingLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 865, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 468: {'name': 'Research_TerranVehicleAndShipPlatingLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 866, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 465: {'name': 'Research_TerranVehicleAndShipPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 3700, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 470: {'name': 'Research_TerranVehicleWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 855, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 471: {'name': 'Research_TerranVehicleWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 856, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 472: {'name': 'Research_TerranVehicleWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 857, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 469: {'name': 'Research_TerranVehicleWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3701, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 473: {'name': 'Research_TunnelingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 217, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, + 82: {'name': 'Research_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1568, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 475: {'name': 'Research_ZergFlyerArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1315, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 476: {'name': 'Research_ZergFlyerArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1316, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 477: {'name': 'Research_ZergFlyerArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1317, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 474: {'name': 'Research_ZergFlyerArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3702, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 479: {'name': 'Research_ZergFlyerAttackLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1312, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 480: {'name': 'Research_ZergFlyerAttackLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1313, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 481: {'name': 'Research_ZergFlyerAttackLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1314, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 478: {'name': 'Research_ZergFlyerAttack_quick', 'func_type': 'raw_cmd', 'ability_id': 3703, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 483: {'name': 'Research_ZergGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1189, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 484: {'name': 'Research_ZergGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1190, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 485: {'name': 'Research_ZergGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1191, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 482: {'name': 'Research_ZergGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3704, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 494: {'name': 'Research_ZerglingAdrenalGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1252, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, + 495: {'name': 'Research_ZerglingMetabolicBoost_quick', 'func_type': 'raw_cmd', 'ability_id': 1253, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, + 487: {'name': 'Research_ZergMeleeWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1186, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 488: {'name': 'Research_ZergMeleeWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1187, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 489: {'name': 'Research_ZergMeleeWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1188, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 486: {'name': 'Research_ZergMeleeWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3705, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 491: {'name': 'Research_ZergMissileWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1192, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 492: {'name': 'Research_ZergMissileWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1193, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 493: {'name': 'Research_ZergMissileWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1194, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 490: {'name': 'Research_ZergMissileWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3706, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 10: {'name': 'Scan_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, + 11: {'name': 'Scan_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, + 1: {'name': 'Smart_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, + 12: {'name': 'Smart_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, + 101: {'name': 'Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 3665, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 46, 57, 24, 36, 692, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 134, 130, 56, 49, 45, 33, 32, 44, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 142, 95, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 136, 73]}, + 496: {'name': 'Stop_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 2057, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 497: {'name': 'Stop_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1691, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 155: {'name': 'Stop_Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 4, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 54: {'name': 'Train_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 922, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 498: {'name': 'Train_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 80, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, + 499: {'name': 'Train_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 621, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 500: {'name': 'Train_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 623, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 56: {'name': 'Train_Carrier_quick', 'func_type': 'raw_cmd', 'ability_id': 948, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 62: {'name': 'Train_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 978, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 501: {'name': 'Train_Corruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 1353, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 502: {'name': 'Train_Cyclone_quick', 'func_type': 'raw_cmd', 'ability_id': 597, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 52: {'name': 'Train_DarkTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 920, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 166: {'name': 'Train_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 994, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 503: {'name': 'Train_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1342, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 504: {'name': 'Train_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 562, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 505: {'name': 'Train_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 596, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 506: {'name': 'Train_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 595, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 51: {'name': 'Train_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 919, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 507: {'name': 'Train_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1345, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 63: {'name': 'Train_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 979, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 508: {'name': 'Train_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1352, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 509: {'name': 'Train_Liberator_quick', 'func_type': 'raw_cmd', 'ability_id': 626, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 510: {'name': 'Train_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 563, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 511: {'name': 'Train_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 560, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 512: {'name': 'Train_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 620, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 513: {'name': 'Train_MothershipCore_quick', 'func_type': 'raw_cmd', 'ability_id': 1853, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 21: {'name': 'Train_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 110, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 514: {'name': 'Train_Mutalisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1346, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 61: {'name': 'Train_Observer_quick', 'func_type': 'raw_cmd', 'ability_id': 977, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 58: {'name': 'Train_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 954, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 515: {'name': 'Train_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1344, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 55: {'name': 'Train_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 946, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 64: {'name': 'Train_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 1006, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 516: {'name': 'Train_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1632, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 517: {'name': 'Train_Raven_quick', 'func_type': 'raw_cmd', 'ability_id': 622, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 518: {'name': 'Train_Reaper_quick', 'func_type': 'raw_cmd', 'ability_id': 561, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 519: {'name': 'Train_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1351, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 520: {'name': 'Train_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 524, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 53: {'name': 'Train_Sentry_quick', 'func_type': 'raw_cmd', 'ability_id': 921, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 521: {'name': 'Train_SiegeTank_quick', 'func_type': 'raw_cmd', 'ability_id': 591, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 50: {'name': 'Train_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 917, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 522: {'name': 'Train_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 1356, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 59: {'name': 'Train_Tempest_quick', 'func_type': 'raw_cmd', 'ability_id': 955, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 523: {'name': 'Train_Thor_quick', 'func_type': 'raw_cmd', 'ability_id': 594, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 524: {'name': 'Train_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1348, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 525: {'name': 'Train_VikingFighter_quick', 'func_type': 'raw_cmd', 'ability_id': 624, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 526: {'name': 'Train_Viper_quick', 'func_type': 'raw_cmd', 'ability_id': 1354, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 57: {'name': 'Train_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 950, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 76: {'name': 'TrainWarp_Adept_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1419, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 74: {'name': 'TrainWarp_DarkTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1417, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 73: {'name': 'TrainWarp_HighTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1416, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 60: {'name': 'Train_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 976, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 75: {'name': 'TrainWarp_Sentry_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1418, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 72: {'name': 'TrainWarp_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1414, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 71: {'name': 'TrainWarp_Zealot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1413, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 527: {'name': 'Train_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 614, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 49: {'name': 'Train_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 916, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 528: {'name': 'Train_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1343, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 529: {'name': 'UnloadAllAt_Medivac_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 530: {'name': 'UnloadAllAt_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 531: {'name': 'UnloadAllAt_Overlord_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 532: {'name': 'UnloadAllAt_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 105: {'name': 'UnloadAllAt_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, + 164: {'name': 'UnloadAllAt_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, + 156: {'name': 'UnloadAllAt_WarpPrism_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 163: {'name': 'UnloadAllAt_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 533: {'name': 'UnloadAll_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 408, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 534: {'name': 'UnloadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 413, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 535: {'name': 'UnloadAll_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1438, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 536: {'name': 'UnloadAll_NydusWorm_quick', 'func_type': 'raw_cmd', 'ability_id': 2371, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, + 100: {'name': 'UnloadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3664, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [24, 18, 36, 142, 95]}, + 556: {'name': 'UnloadUnit_quick', 'func_type': 'raw_cmd', 'ability_id': 3796, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 18, 54, 142, 95, 893, 81, 136]}, + 557: {'name': 'UnloadUnit_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 410, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 558: {'name': 'UnloadUnit_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 415, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 559: {'name': 'UnloadUnit_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 397, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 560: {'name': 'UnloadUnit_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1440, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 561: {'name': 'UnloadUnit_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1409, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, + 562: {'name': 'UnloadUnit_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 914, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + } + +ACTIONS_STAT = { + 0: {'action_name': 'no_op', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, + 1: {'action_name': 'Smart_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 2: {'action_name': 'Attack_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 3: {'action_name': 'Attack_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 12: {'action_name': 'Smart_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 13: {'action_name': 'Move_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 14: {'action_name': 'Move_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 15: {'action_name': 'Patrol_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 16: {'action_name': 'Patrol_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 17: {'action_name': 'HoldPosition_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 19: {'action_name': 'Research_PhoenixAnionPulseCrystals_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, + 20: {'action_name': 'Effect_GuardianShield_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 21: {'action_name': 'Train_Mothership_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, + 22: {'action_name': 'Hallucination_Archon_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 23: {'action_name': 'Hallucination_Colossus_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 25: {'action_name': 'Hallucination_Immortal_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 26: {'action_name': 'Hallucination_Phoenix_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 27: {'action_name': 'Hallucination_Probe_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 28: {'action_name': 'Hallucination_Stalker_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 29: {'action_name': 'Hallucination_VoidRay_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 30: {'action_name': 'Hallucination_WarpPrism_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 31: {'action_name': 'Hallucination_Zealot_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 32: {'action_name': 'Effect_GravitonBeam_unit', 'selected_type': [78], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Phoenix'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 34: {'action_name': 'Build_Nexus_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 35: {'action_name': 'Build_Pylon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 36: {'action_name': 'Build_Assimilator_unit', 'selected_type': [84], 'target_type': [344, 342, 343, 880, 881, 665], 'selected_type_name': ['Probe'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'LabMineralField']}, + 37: {'action_name': 'Build_Gateway_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 38: {'action_name': 'Build_Forge_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 39: {'action_name': 'Build_FleetBeacon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 40: {'action_name': 'Build_TwilightCouncil_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 41: {'action_name': 'Build_PhotonCannon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 42: {'action_name': 'Build_Stargate_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 43: {'action_name': 'Build_TemplarArchive_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 44: {'action_name': 'Build_DarkShrine_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 45: {'action_name': 'Build_RoboticsBay_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 46: {'action_name': 'Build_RoboticsFacility_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 47: {'action_name': 'Build_CyberneticsCore_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 48: {'action_name': 'Build_ShieldBattery_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 49: {'action_name': 'Train_Zealot_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 50: {'action_name': 'Train_Stalker_quick', 'selected_type': [62, 133], 'target_type': [], 'selected_type_name': ['Gateway', 'WarpGate'], 'target_type_name': []}, + 51: {'action_name': 'Train_HighTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 52: {'action_name': 'Train_DarkTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 53: {'action_name': 'Train_Sentry_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 54: {'action_name': 'Train_Adept_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 55: {'action_name': 'Train_Phoenix_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 56: {'action_name': 'Train_Carrier_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 57: {'action_name': 'Train_VoidRay_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 58: {'action_name': 'Train_Oracle_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 59: {'action_name': 'Train_Tempest_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 60: {'action_name': 'Train_WarpPrism_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 61: {'action_name': 'Train_Observer_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 62: {'action_name': 'Train_Colossus_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 63: {'action_name': 'Train_Immortal_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 64: {'action_name': 'Train_Probe_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, + 65: {'action_name': 'Effect_PsiStorm_pt', 'selected_type': [75], 'target_type': [], 'selected_type_name': ['HighTemplar'], 'target_type_name': []}, + 66: {'action_name': 'Build_Interceptors_quick', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, + 67: {'action_name': 'Research_GraviticBooster_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 68: {'action_name': 'Research_GraviticDrive_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 69: {'action_name': 'Research_ExtendedThermalLance_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 70: {'action_name': 'Research_PsiStorm_quick', 'selected_type': [68], 'target_type': [], 'selected_type_name': ['TemplarArchive'], 'target_type_name': []}, + 71: {'action_name': 'TrainWarp_Zealot_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 72: {'action_name': 'TrainWarp_Stalker_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 73: {'action_name': 'TrainWarp_HighTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 74: {'action_name': 'TrainWarp_DarkTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 75: {'action_name': 'TrainWarp_Sentry_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 76: {'action_name': 'TrainWarp_Adept_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 77: {'action_name': 'Morph_WarpGate_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 78: {'action_name': 'Morph_Gateway_quick', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 79: {'action_name': 'Effect_ForceField_pt', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 80: {'action_name': 'Morph_WarpPrismPhasingMode_quick', 'selected_type': [81, 136], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing'], 'target_type_name': []}, + 81: {'action_name': 'Morph_WarpPrismTransportMode_quick', 'selected_type': [136, 81], 'target_type': [], 'selected_type_name': ['WarpPrismPhasing', 'WarpPrism'], 'target_type_name': []}, + 82: {'action_name': 'Research_WarpGate_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 83: {'action_name': 'Research_Charge_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 84: {'action_name': 'Research_Blink_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 85: {'action_name': 'Research_AdeptResonatingGlaives_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 86: {'action_name': 'Morph_Archon_quick', 'selected_type': [75, 76], 'target_type': [], 'selected_type_name': ['HighTemplar', 'DarkTemplar'], 'target_type_name': []}, + 87: {'action_name': 'Behavior_BuildingAttackOn_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, + 88: {'action_name': 'Behavior_BuildingAttackOff_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, + 89: {'action_name': 'Hallucination_Oracle_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 90: {'action_name': 'Effect_OracleRevelation_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 92: {'action_name': 'Hallucination_Disruptor_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 94: {'action_name': 'Effect_VoidRayPrismaticAlignment_quick', 'selected_type': [80], 'target_type': [], 'selected_type_name': ['VoidRay'], 'target_type_name': []}, + 95: {'action_name': 'Build_StasisTrap_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 96: {'action_name': 'Effect_AdeptPhaseShift_pt', 'selected_type': [311], 'target_type': [], 'selected_type_name': ['Adept'], 'target_type_name': []}, + 97: {'action_name': 'Research_ShadowStrike_quick', 'selected_type': [69], 'target_type': [], 'selected_type_name': ['DarkShrine'], 'target_type_name': []}, + 98: {'action_name': 'Cancel_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 99: {'action_name': 'Halt_quick', 'selected_type': [45, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], 'target_type': [], 'selected_type_name': ['SCV', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore'], 'target_type_name': []}, + 100: {'action_name': 'UnloadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 101: {'action_name': 'Stop_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 102: {'action_name': 'Harvest_Gather_unit', 'selected_type': [104, 45, 84, 268], 'target_type': [483, 20, 341, 88, 665, 666, 61, 884, 885, 796, 797, 1961, 146, 147, 1955, 1960, 1956], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': ['MineralField750', 'Refinery', 'MineralField', 'Extractor', 'LabMineralField', 'LabMineralField750', 'Assimilator', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450', 'RichMineralField', 'RichMineralField750', 'AssimilatorRich', 'RefineryRich', 'ExtractorRich']}, + 103: {'action_name': 'Harvest_Return_quick', 'selected_type': [104, 45, 84, 268], 'target_type': [], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': []}, + 104: {'action_name': 'Load_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 105: {'action_name': 'UnloadAllAt_pt', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 106: {'action_name': 'Rally_Units_pt', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 107: {'action_name': 'Rally_Units_unit', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 109: {'action_name': 'Effect_Repair_unit', 'selected_type': [268, 45], 'target_type': [29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 26, 144, 53, 484, 689, 734, 268, 54, 23, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': ['Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'GhostAcademy', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed']}, + 110: {'action_name': 'Effect_MassRecall_pt', 'selected_type': [10, 59], 'target_type': [], 'selected_type_name': ['Mothership', 'Nexus'], 'target_type_name': []}, + 111: {'action_name': 'Effect_Blink_pt', 'selected_type': [74, 76], 'target_type': [], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': []}, + 114: {'action_name': 'Rally_Workers_pt', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': []}, + 115: {'action_name': 'Rally_Workers_unit', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 116: {'action_name': 'Research_ProtossAirArmor_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 117: {'action_name': 'Research_ProtossAirWeapons_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 118: {'action_name': 'Research_ProtossGroundArmor_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 119: {'action_name': 'Research_ProtossGroundWeapons_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 120: {'action_name': 'Research_ProtossShields_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 121: {'action_name': 'Morph_ObserverMode_quick', 'selected_type': [1911], 'target_type': [], 'selected_type_name': ['ObserverSurveillanceMode'], 'target_type_name': []}, + 122: {'action_name': 'Effect_ChronoBoostEnergyCost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, + 129: {'action_name': 'Cancel_Last_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 157: {'action_name': 'Effect_Feedback_unit', 'selected_type': [75], 'target_type': [129, 75, 111, 499, 1912, 126, 127, 78, 10, 77, 144, 56, 495, 50, 54, 55, 125], 'selected_type_name': ['HighTemplar'], 'target_type_name': ['Overseer', 'HighTemplar', 'Infestor', 'Viper', 'OverseerOversightMode', 'Queen', 'InfestorBurrowed', 'Phoenix', 'Mothership', 'Sentry', 'GhostAlternate', 'Raven', 'Oracle', 'Ghost', 'Medivac', 'Banshee', 'QueenBurrowed']}, + 158: {'action_name': 'Behavior_PulsarBeamOff_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 159: {'action_name': 'Behavior_PulsarBeamOn_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 160: {'action_name': 'Morph_SurveillanceMode_quick', 'selected_type': [82], 'target_type': [], 'selected_type_name': ['Observer'], 'target_type_name': []}, + 161: {'action_name': 'Effect_Restore_unit', 'selected_type': [1910], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73], 'selected_type_name': ['ShieldBattery'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot']}, + 164: {'action_name': 'UnloadAllAt_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress']}, + 166: {'action_name': 'Train_Disruptor_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 167: {'action_name': 'Effect_PurificationNova_pt', 'selected_type': [694], 'target_type': [], 'selected_type_name': ['Disruptor'], 'target_type_name': []}, + 168: {'action_name': 'raw_move_camera', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, + 169: {'action_name': 'Behavior_CloakOff_quick', 'selected_type': [144, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'Banshee'], 'target_type_name': []}, + 172: {'action_name': 'Behavior_CloakOn_quick', 'selected_type': [144, 145, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost', 'Banshee'], 'target_type_name': []}, + 175: {'action_name': 'Behavior_GenerateCreepOff_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 176: {'action_name': 'Behavior_GenerateCreepOn_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 177: {'action_name': 'Behavior_HoldFireOff_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, + 180: {'action_name': 'Behavior_HoldFireOn_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, + 183: {'action_name': 'Build_Armory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 184: {'action_name': 'Build_BanelingNest_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 185: {'action_name': 'Build_Barracks_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 186: {'action_name': 'Build_Bunker_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 187: {'action_name': 'Build_CommandCenter_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 188: {'action_name': 'Build_CreepTumor_pt', 'selected_type': [137, 126], 'target_type': [], 'selected_type_name': ['CreepTumorBurrowed', 'Queen'], 'target_type_name': []}, + 191: {'action_name': 'Build_EngineeringBay_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 192: {'action_name': 'Build_EvolutionChamber_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 193: {'action_name': 'Build_Extractor_unit', 'selected_type': [104], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['Drone'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, + 194: {'action_name': 'Build_Factory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 195: {'action_name': 'Build_FusionCore_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 196: {'action_name': 'Build_GhostAcademy_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 197: {'action_name': 'Build_Hatchery_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 198: {'action_name': 'Build_HydraliskDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 199: {'action_name': 'Build_InfestationPit_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 201: {'action_name': 'Build_LurkerDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 202: {'action_name': 'Build_MissileTurret_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 203: {'action_name': 'Build_Nuke_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 204: {'action_name': 'Build_NydusNetwork_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 205: {'action_name': 'Build_NydusWorm_pt', 'selected_type': [95], 'target_type': [], 'selected_type_name': ['NydusNetwork'], 'target_type_name': []}, + 206: {'action_name': 'Build_Reactor_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 207: {'action_name': 'Build_Reactor_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 214: {'action_name': 'Build_Refinery_pt', 'selected_type': [45], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['SCV'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, + 215: {'action_name': 'Build_RoachWarren_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 216: {'action_name': 'Build_SensorTower_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 217: {'action_name': 'Build_SpawningPool_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 218: {'action_name': 'Build_SpineCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 219: {'action_name': 'Build_Spire_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 220: {'action_name': 'Build_SporeCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 221: {'action_name': 'Build_Starport_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 222: {'action_name': 'Build_SupplyDepot_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 223: {'action_name': 'Build_TechLab_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 224: {'action_name': 'Build_TechLab_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 231: {'action_name': 'Build_UltraliskCavern_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 232: {'action_name': 'BurrowDown_quick', 'selected_type': [7, 104, 105, 9, 107, 109, 110, 494, 111, 688, 498, 502, 503, 126], 'target_type': [], 'selected_type_name': ['InfestedTerran', 'Drone', 'Zergling', 'Baneling', 'Hydralisk', 'Ultralisk', 'Roach', 'SwarmHost', 'Infestor', 'Ravager', 'WidowMine', 'Lurker', 'LurkerBurrowed', 'Queen'], 'target_type_name': []}, + 246: {'action_name': 'BurrowUp_quick', 'selected_type': [131, 503, 493, 690, 115, 500, 116, 118, 119, 117, 125, 127, 120], 'target_type': [], 'selected_type_name': ['UltraliskBurrowed', 'LurkerBurrowed', 'SwarmHostBurrowed', 'RavagerBurrowed', 'BanelingBurrowed', 'WidowMineBurrowed', 'DroneBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'HydraliskBurrowed', 'QueenBurrowed', 'InfestorBurrowed', 'InfestedTerranBurrowed'], 'target_type_name': []}, + 293: {'action_name': 'Effect_Abduct_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 294: {'action_name': 'Effect_AntiArmorMissile_unit', 'selected_type': [56], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Raven'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 295: {'action_name': 'Effect_AutoTurret_pt', 'selected_type': [56], 'target_type': [], 'selected_type_name': ['Raven'], 'target_type_name': []}, + 296: {'action_name': 'Effect_BlindingCloud_pt', 'selected_type': [499], 'target_type': [], 'selected_type_name': ['Viper'], 'target_type_name': []}, + 297: {'action_name': 'Effect_CalldownMULE_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, + 298: {'action_name': 'Effect_CalldownMULE_unit', 'selected_type': [132], 'target_type': [665, 666, 483, 341, 146, 147, 884, 885, 796, 797, 1961], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['LabMineralField', 'LabMineralField750', 'MineralField750', 'MineralField', 'RichMineralField', 'RichMineralField750', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450']}, + 299: {'action_name': 'Effect_CausticSpray_unit', 'selected_type': [112], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Corruptor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 301: {'action_name': 'Effect_Charge_unit', 'selected_type': [73], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Zealot'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 303: {'action_name': 'Effect_Contaminate_unit', 'selected_type': [1912, 129], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 304: {'action_name': 'Effect_CorrosiveBile_pt', 'selected_type': [688], 'target_type': [], 'selected_type_name': ['Ravager'], 'target_type_name': []}, + 305: {'action_name': 'Effect_EMP_pt', 'selected_type': [144, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost'], 'target_type_name': []}, + 307: {'action_name': 'Effect_Explode_quick', 'selected_type': [9, 115], 'target_type': [], 'selected_type_name': ['Baneling', 'BanelingBurrowed'], 'target_type_name': []}, + 308: {'action_name': 'Effect_FungalGrowth_pt', 'selected_type': [111], 'target_type': [], 'selected_type_name': ['Infestor'], 'target_type_name': []}, + 310: {'action_name': 'Effect_GhostSnipe_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 311: {'action_name': 'Effect_Heal_unit', 'selected_type': [54], 'target_type': [48, 51, 49], 'selected_type_name': ['Medivac'], 'target_type_name': ['Marine', 'Marauder', 'Reaper']}, + 314: {'action_name': 'Effect_InfestedTerrans_pt', 'selected_type': [111, 127], 'target_type': [], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': []}, + 315: {'action_name': 'Effect_InjectLarva_unit', 'selected_type': [126], 'target_type': [100, 101, 86], 'selected_type_name': ['Queen'], 'target_type_name': ['Lair', 'Hive', 'Hatchery']}, + 316: {'action_name': 'Effect_InterferenceMatrix_unit', 'selected_type': [56], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Raven'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 317: {'action_name': 'Effect_KD8Charge_pt', 'selected_type': [49], 'target_type': [], 'selected_type_name': ['Reaper'], 'target_type_name': []}, + 318: {'action_name': 'Effect_LockOn_unit', 'selected_type': [692], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Cyclone'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 319: {'action_name': 'Effect_LocustSwoop_pt', 'selected_type': [693], 'target_type': [], 'selected_type_name': ['LocustFlying'], 'target_type_name': []}, + 320: {'action_name': 'Effect_MedivacIgniteAfterburners_quick', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, + 321: {'action_name': 'Effect_NeuralParasite_unit', 'selected_type': [111, 127], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 322: {'action_name': 'Effect_NukeCalldown_pt', 'selected_type': [144, 145, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': []}, + 323: {'action_name': 'Effect_ParasiticBomb_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 332: {'action_name': 'Effect_Salvage_quick', 'selected_type': [24], 'target_type': [], 'selected_type_name': ['Bunker'], 'target_type_name': []}, + 333: {'action_name': 'Effect_Scan_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, + 334: {'action_name': 'Effect_SpawnChangeling_quick', 'selected_type': [1912, 129], 'target_type': [], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': []}, + 335: {'action_name': 'Effect_SpawnLocusts_pt', 'selected_type': [493, 494], 'target_type': [], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': []}, + 337: {'action_name': 'Effect_Spray_pt', 'selected_type': [104, 84, 45], 'target_type': [], 'selected_type_name': ['Drone', 'Probe', 'SCV'], 'target_type_name': []}, + 341: {'action_name': 'Effect_Stim_quick', 'selected_type': [48, 24, 51], 'target_type': [], 'selected_type_name': ['Marine', 'Bunker', 'Marauder'], 'target_type_name': []}, + 346: {'action_name': 'Effect_SupplyDrop_unit', 'selected_type': [132], 'target_type': [19, 47], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['SupplyDepot', 'SupplyDepotLowered']}, + 347: {'action_name': 'Effect_TacticalJump_pt', 'selected_type': [57], 'target_type': [], 'selected_type_name': ['Battlecruiser'], 'target_type_name': []}, + 348: {'action_name': 'Effect_TimeWarp_pt', 'selected_type': [10], 'target_type': [], 'selected_type_name': ['Mothership'], 'target_type_name': []}, + 349: {'action_name': 'Effect_Transfusion_unit', 'selected_type': [126], 'target_type': [9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Queen'], 'target_type_name': ['Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 350: {'action_name': 'Effect_ViperConsume_unit', 'selected_type': [499], 'target_type': [96, 97, 98, 99, 100, 101, 1956, 504, 142, 86, 88, 89, 90, 91, 92, 94, 95, 102, 139, 93, 140], 'selected_type_name': ['Viper'], 'target_type_name': ['BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'ExtractorRich', 'LurkerDen', 'NydusCanal', 'Hatchery', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'InfestationPit', 'NydusNetwork', 'GreaterSpire', 'SpineCrawlerUprooted', 'UltraliskCavern', 'SporeCrawlerUprooted']}, + 363: {'action_name': 'Land_pt', 'selected_type': [36, 134, 43, 44, 46], 'target_type': [], 'selected_type_name': ['CommandCenterFlying', 'OrbitalCommandFlying', 'FactoryFlying', 'StarportFlying', 'BarracksFlying'], 'target_type_name': []}, + 369: {'action_name': 'Lift_quick', 'selected_type': [132, 18, 21, 27, 28], 'target_type': [], 'selected_type_name': ['OrbitalCommand', 'CommandCenter', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 375: {'action_name': 'LoadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 383: {'action_name': 'Morph_BroodLord_quick', 'selected_type': [112], 'target_type': [], 'selected_type_name': ['Corruptor'], 'target_type_name': []}, + 384: {'action_name': 'Morph_GreaterSpire_quick', 'selected_type': [92], 'target_type': [], 'selected_type_name': ['Spire'], 'target_type_name': []}, + 385: {'action_name': 'Morph_Hellbat_quick', 'selected_type': [53], 'target_type': [], 'selected_type_name': ['Hellion'], 'target_type_name': []}, + 386: {'action_name': 'Morph_Hellion_quick', 'selected_type': [484], 'target_type': [], 'selected_type_name': ['Hellbat'], 'target_type_name': []}, + 387: {'action_name': 'Morph_Hive_quick', 'selected_type': [100], 'target_type': [], 'selected_type_name': ['Lair'], 'target_type_name': []}, + 388: {'action_name': 'Morph_Lair_quick', 'selected_type': [86], 'target_type': [], 'selected_type_name': ['Hatchery'], 'target_type_name': []}, + 389: {'action_name': 'Morph_LiberatorAAMode_quick', 'selected_type': [734], 'target_type': [], 'selected_type_name': ['LiberatorAG'], 'target_type_name': []}, + 390: {'action_name': 'Morph_LiberatorAGMode_pt', 'selected_type': [689], 'target_type': [], 'selected_type_name': ['Liberator'], 'target_type_name': []}, + 391: {'action_name': 'Morph_Lurker_quick', 'selected_type': [107], 'target_type': [], 'selected_type_name': ['Hydralisk'], 'target_type_name': []}, + 394: {'action_name': 'Morph_OrbitalCommand_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, + 395: {'action_name': 'Morph_OverlordTransport_quick', 'selected_type': [106], 'target_type': [], 'selected_type_name': ['Overlord'], 'target_type_name': []}, + 396: {'action_name': 'Morph_Overseer_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 397: {'action_name': 'Morph_OverseerMode_quick', 'selected_type': [1912], 'target_type': [], 'selected_type_name': ['OverseerOversightMode'], 'target_type_name': []}, + 398: {'action_name': 'Morph_OversightMode_quick', 'selected_type': [129], 'target_type': [], 'selected_type_name': ['Overseer'], 'target_type_name': []}, + 399: {'action_name': 'Morph_PlanetaryFortress_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, + 400: {'action_name': 'Morph_Ravager_quick', 'selected_type': [110], 'target_type': [], 'selected_type_name': ['Roach'], 'target_type_name': []}, + 401: {'action_name': 'Morph_Root_pt', 'selected_type': [139, 140, 98, 99], 'target_type': [], 'selected_type_name': ['SpineCrawlerUprooted', 'SporeCrawlerUprooted'], 'target_type_name': []}, + 402: {'action_name': 'Morph_SiegeMode_quick', 'selected_type': [33], 'target_type': [], 'selected_type_name': ['SiegeTank'], 'target_type_name': []}, + 407: {'action_name': 'Morph_SupplyDepot_Lower_quick', 'selected_type': [19], 'target_type': [], 'selected_type_name': ['SupplyDepot'], 'target_type_name': []}, + 408: {'action_name': 'Morph_SupplyDepot_Raise_quick', 'selected_type': [47], 'target_type': [], 'selected_type_name': ['SupplyDepotLowered'], 'target_type_name': []}, + 409: {'action_name': 'Morph_ThorExplosiveMode_quick', 'selected_type': [691], 'target_type': [], 'selected_type_name': ['ThorHighImpactMode'], 'target_type_name': []}, + 410: {'action_name': 'Morph_ThorHighImpactMode_quick', 'selected_type': [52], 'target_type': [], 'selected_type_name': ['Thor'], 'target_type_name': []}, + 411: {'action_name': 'Morph_Unsiege_quick', 'selected_type': [32], 'target_type': [], 'selected_type_name': ['SiegeTankSieged'], 'target_type_name': []}, + 412: {'action_name': 'Morph_Uproot_quick', 'selected_type': [98, 99, 139, 140], 'target_type': [], 'selected_type_name': ['SpineCrawler', 'SporeCrawler'], 'target_type_name': []}, + 413: {'action_name': 'Morph_VikingAssaultMode_quick', 'selected_type': [35], 'target_type': [], 'selected_type_name': ['VikingFighter'], 'target_type_name': []}, + 414: {'action_name': 'Morph_VikingFighterMode_quick', 'selected_type': [34], 'target_type': [], 'selected_type_name': ['VikingAssault'], 'target_type_name': []}, + 425: {'action_name': 'Research_AdaptiveTalons_quick', 'selected_type': [504], 'target_type': [], 'selected_type_name': ['LurkerDen'], 'target_type_name': []}, + 426: {'action_name': 'Research_AdvancedBallistics_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 427: {'action_name': 'Research_BansheeCloakingField_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 428: {'action_name': 'Research_BansheeHyperflightRotors_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 429: {'action_name': 'Research_BattlecruiserWeaponRefit_quick', 'selected_type': [30], 'target_type': [], 'selected_type_name': ['FusionCore'], 'target_type_name': []}, + 430: {'action_name': 'Research_Burrow_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 431: {'action_name': 'Research_CentrifugalHooks_quick', 'selected_type': [96], 'target_type': [], 'selected_type_name': ['BanelingNest'], 'target_type_name': []}, + 432: {'action_name': 'Research_ChitinousPlating_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, + 433: {'action_name': 'Research_CombatShield_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 434: {'action_name': 'Research_ConcussiveShells_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 436: {'action_name': 'Research_DrillingClaws_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 437: {'action_name': 'Research_GlialRegeneration_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, + 438: {'action_name': 'Research_GroovedSpines_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 439: {'action_name': 'Research_HiSecAutoTracking_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 440: {'action_name': 'Research_HighCapacityFuelTanks_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 441: {'action_name': 'Research_InfernalPreigniter_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 442: {'action_name': 'Research_MuscularAugments_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 444: {'action_name': 'Research_NeuralParasite_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, + 445: {'action_name': 'Research_PathogenGlands_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, + 446: {'action_name': 'Research_PersonalCloaking_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 447: {'action_name': 'Research_PneumatizedCarapace_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 448: {'action_name': 'Research_RavenCorvidReactor_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 450: {'action_name': 'Research_SmartServos_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 451: {'action_name': 'Research_Stimpack_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 452: {'action_name': 'Research_TerranInfantryArmor_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 456: {'action_name': 'Research_TerranInfantryWeapons_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 460: {'action_name': 'Research_TerranShipWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 464: {'action_name': 'Research_TerranStructureArmorUpgrade_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 465: {'action_name': 'Research_TerranVehicleAndShipPlating_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 469: {'action_name': 'Research_TerranVehicleWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 473: {'action_name': 'Research_TunnelingClaws_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, + 474: {'action_name': 'Research_ZergFlyerArmor_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, + 478: {'action_name': 'Research_ZergFlyerAttack_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, + 482: {'action_name': 'Research_ZergGroundArmor_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 486: {'action_name': 'Research_ZergMeleeWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 490: {'action_name': 'Research_ZergMissileWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 494: {'action_name': 'Research_ZerglingAdrenalGlands_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, + 495: {'action_name': 'Research_ZerglingMetabolicBoost_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, + 498: {'action_name': 'Train_Baneling_quick', 'selected_type': [105], 'target_type': [], 'selected_type_name': ['Zergling'], 'target_type_name': []}, + 499: {'action_name': 'Train_Banshee_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 500: {'action_name': 'Train_Battlecruiser_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 501: {'action_name': 'Train_Corruptor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 502: {'action_name': 'Train_Cyclone_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 503: {'action_name': 'Train_Drone_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 504: {'action_name': 'Train_Ghost_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 505: {'action_name': 'Train_Hellbat_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 506: {'action_name': 'Train_Hellion_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 507: {'action_name': 'Train_Hydralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 508: {'action_name': 'Train_Infestor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 509: {'action_name': 'Train_Liberator_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 510: {'action_name': 'Train_Marauder_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 511: {'action_name': 'Train_Marine_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 512: {'action_name': 'Train_Medivac_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 514: {'action_name': 'Train_Mutalisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 515: {'action_name': 'Train_Overlord_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 516: {'action_name': 'Train_Queen_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 517: {'action_name': 'Train_Raven_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 518: {'action_name': 'Train_Reaper_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 519: {'action_name': 'Train_Roach_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 520: {'action_name': 'Train_SCV_quick', 'selected_type': [18, 132, 130], 'target_type': [], 'selected_type_name': ['CommandCenter', 'OrbitalCommand', 'PlanetaryFortress'], 'target_type_name': []}, + 521: {'action_name': 'Train_SiegeTank_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 522: {'action_name': 'Train_SwarmHost_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 523: {'action_name': 'Train_Thor_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 524: {'action_name': 'Train_Ultralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 525: {'action_name': 'Train_VikingFighter_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 526: {'action_name': 'Train_Viper_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 527: {'action_name': 'Train_WidowMine_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 528: {'action_name': 'Train_Zergling_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 537: {'action_name': 'Effect_YamatoGun_unit', 'selected_type': [57], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Battlecruiser'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 538: {'action_name': 'Effect_KD8Charge_unit', 'selected_type': [49], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Reaper'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 553: {'action_name': 'Research_AnabolicSynthesis_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, + 554: {'action_name': 'Research_CycloneLockOnDamage_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 556: {'action_name': 'UnloadUnit_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 24: {'action_name': 'Hallucination_HighTemplar_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 93: {'action_name': 'Hallucination_Adept_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 200: {'action_name': 'Build_Interceptors_autocast', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, + 247: {'action_name': 'BurrowUp_autocast', 'selected_type': [115, 117, 119], 'target_type': [], 'selected_type_name': ['BanelingBurrowed', 'HydraliskBurrowed', 'ZerglingBurrowed'], 'target_type_name': []}, + 302: {'action_name': 'Effect_Charge_autocast', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, + 312: {'action_name': 'Effect_Heal_autocast', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, + 324: {'action_name': 'Effect_Repair_autocast', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, + 331: {'action_name': 'Effect_Restore_autocast', 'selected_type': [1910], 'target_type': [], 'selected_type_name': ['ShieldBattery'], 'target_type_name': []}, + 541: {'action_name': 'Effect_LockOn_autocast', 'selected_type': [692], 'target_type': [], 'selected_type_name': ['Cyclone'], 'target_type_name': []}, + 544: {'action_name': 'Morph_WarpGate_autocast', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 112: {'action_name': 'Effect_Blink_unit', 'selected_type': [74, 76], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 300: {'action_name': 'Effect_Charge_pt', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, + 33: {'action_name': 'Effect_ChronoBoost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, + 306: {'action_name': 'Effect_EMP_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 309: {'action_name': 'Effect_FungalGrowth_unit', 'selected_type': [111], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Infestor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 313: {'action_name': 'Effect_ImmortalBarrier_autocast', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, + 91: {'action_name': 'Effect_ImmortalBarrier_quick', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, + 108: {'action_name': 'Effect_Repair_pt', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, + 336: {'action_name': 'Effect_SpawnLocusts_unit', 'selected_type': [493, 494], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 353: {'action_name': 'Effect_WidowMineAttack_autocast', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, + 351: {'action_name': 'Effect_WidowMineAttack_pt', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, + 352: {'action_name': 'Effect_WidowMineAttack_unit', 'selected_type': [498, 500], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 392: {'action_name': 'Morph_LurkerDen_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 393: {'action_name': 'Morph_Mothership_quick', 'selected_type': [488], 'target_type': [], 'selected_type_name': ['MothershipCore'], 'target_type_name': []}, + 435: {'action_name': 'Research_CycloneRapidFireLaunchers_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 563: {'action_name': 'Research_EnhancedShockwaves_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 18: {'action_name': 'Research_InterceptorGravitonCatapult_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, + 443: {'action_name': 'Research_NeosteelFrame_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 449: {'action_name': 'Research_RavenRecalibratedExplosives_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 513: {'action_name': 'Train_MothershipCore_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, +} + +def get_general(general_id): + return {k: v for k, v in ACTION_INFO_MASK.items() if v['ability_id'] == general_id} + + +def merge_judge(target_general_action, val): + ret = [] + for k, v in target_general_action.items(): + if v['target_unit'] != val['target_unit']: + continue + if v['target_location'] != val['target_location']: + continue + if v['func_type'] != val['func_type']: + continue + ret.append(k) + try: + assert(len(ret) == 1) + except AssertionError: + print(target_general_action) + print(val) + print(ret) + return ret[0] + + +GENERAL_ACTION_INFO_MASK = {} +ACT_TO_GENERAL_ACT = {} +ACT_TO_GENERAL_ACT_ARRAY = np.full(max(ACTION_INFO_MASK.keys()) + 1, -1, dtype=np.int) +for k, v in ACTION_INFO_MASK.items(): + general_id = v['general_id'] + if general_id is None or general_id == 0: + GENERAL_ACTION_INFO_MASK[k] = v + ACT_TO_GENERAL_ACT[k] = k + ACT_TO_GENERAL_ACT_ARRAY[k] = k + else: + target_general_action = get_general(general_id) + action_id = merge_judge(target_general_action, v) + ACT_TO_GENERAL_ACT[k] = action_id + ACT_TO_GENERAL_ACT_ARRAY[k] = action_id diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py new file mode 100644 index 0000000000..1b98ddbda7 --- /dev/null +++ b/dizoo/distar/envs/fake_data.py @@ -0,0 +1,306 @@ +from typing import Sequence +import torch + +from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, ENTITY_TYPE_NUM, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ + NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON +#from distar.ctools.data.collate_fn import default_collate_with_dim + +currTrainCount_MAX = 5 +H, W = 152, 160 + + +def hidden_state(): + return [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)] + + +def spatial_info(): + return { + 'height_map': torch.rand(H, W), + 'visibility_map': torch.randint(0, 4, size=(H, W), dtype=torch.float), + 'creep': torch.randint(0, 2, size=(H, W), dtype=torch.float), + 'player_relative': torch.randint(0, 5, size=(H, W), dtype=torch.float), + 'alerts': torch.randint(0, 2, size=(H, W), dtype=torch.float), + 'pathable': torch.randint(0, 2, size=(H, W), dtype=torch.float), + 'buildable': torch.randint(0, 2, size=(H, W), dtype=torch.float), + 'effect_PsiStorm': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + 'effect_NukeDot': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + 'effect_LiberatorDefenderZone': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + 'effect_BlindingCloud': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + 'effect_CorrosiveBile': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + 'effect_LurkerSpines': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), + } + + +def entity_info(): + data = { + 'unit_type': torch.randint(0, ENTITY_TYPE_NUM, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'alliance': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'cargo_space_taken': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'build_progress': torch.rand(MAX_ENTITY_NUM), + 'health_ratio': torch.rand(MAX_ENTITY_NUM), + 'shield_ratio': torch.rand(MAX_ENTITY_NUM), + 'energy_ratio': torch.rand(MAX_ENTITY_NUM), + 'display_type': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'x': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'y': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'cloak': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_blip': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_powered': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'mineral_contents': torch.rand(MAX_ENTITY_NUM), + 'vespene_contents': torch.rand(MAX_ENTITY_NUM), + 'cargo_space_max': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'assigned_harvesters': torch.randint(0, 24, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'weapon_cooldown': torch.randint(0, 32, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_length': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_0': torch.randint(0, NUM_ACTIONS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_1': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_hallucination': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'buff_id_0': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'buff_id_1': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'addon_unit_type': torch.randint(0, NUM_ADDON, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_active': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_progress_0': torch.rand(MAX_ENTITY_NUM), + 'order_progress_1': torch.rand(MAX_ENTITY_NUM), + 'order_id_2': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_3': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_in_cargo': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'attack_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'armor_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'shield_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'last_selected_units': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'last_targeted_unit': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + } + return data + + +def scalar_info(): + data = { + 'home_race': torch.randint(0, 4, size=(), dtype=torch.float), + 'away_race': torch.randint(0, 4, size=(), dtype=torch.float), + 'agent_statistics': torch.rand(10), + 'time': torch.randint(0, 100, size=(), dtype=torch.float), + 'unit_counts_bow': torch.randint(0, 10, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), + 'beginning_build_order': torch.randint(0, 20, size=(20, ), dtype=torch.float), + 'cumulative_stat': torch.randint(0, 2, size=(NUM_CUMULATIVE_STAT_ACTIONS, ), dtype=torch.float), + 'last_delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.float), + 'last_queued': torch.randint(0, 2, size=(), dtype=torch.float), + 'last_action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.float), + 'upgrades': torch.randint(0, 2, size=(NUM_UPGRADES, ), dtype=torch.float), + 'beginning_order': torch.randint(0, NUM_BEGINNING_ORDER_ACTIONS, size=(20, ), dtype=torch.float), + 'bo_location': torch.randint(0, 100*100, size=(20, ), dtype=torch.float), + 'unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), + 'enemy_unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), + 'unit_order_type': torch.randint(0, 2, size=(NUM_UNIT_MIX_ABILITIES, ), dtype=torch.float) + } + return data + + +def action_info(): + data = { + 'action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.long), + 'delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.long), + 'selected_units': torch.randint(0, 5, size=(MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), + 'target_unit': torch.randint(0, MAX_ENTITY_NUM, size=(), dtype=torch.long), + 'target_location': torch.randint(0, SPATIAL_SIZE, size=(), dtype=torch.long) + } + return data + + +def action_mask(): + data = { + 'action_type': torch.randint(0, 1, size=(), dtype=torch.long), + 'delay': torch.randint(0, 1, size=(), dtype=torch.long), + 'selected_units': torch.randint(0, 1, size=(), dtype=torch.long), + 'target_unit': torch.randint(0, 1, size=(), dtype=torch.long), + 'target_location': torch.randint(0, 1, size=(), dtype=torch.long) + } + return data + + +def action_logp(): + data = { + 'action_type': torch.rand(size=()) + 2, + 'delay': torch.rand(size=()) + 2, + 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, )) + 2, + 'target_unit': torch.rand(size=()) + 2, + 'target_location': torch.rand(size=()) + 2 + } + return data + + +def action_logits(): + data = { + 'action_type': torch.rand(size=(NUM_ACTIONS + 1, )) - 1, + 'delay': torch.rand(size=(MAX_DELAY, )) - 1, + 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1)) - 1, + 'target_unit': torch.rand(size=(MAX_ENTITY_NUM, )) - 1, + 'target_location': torch.rand(size=(16384, )) - 1 + } + + mask = dict() + mask['selected_units_logits_mask'] = data['selected_units'].sum(0) + mask['target_units_logits_mask'] = data['target_unit'] + mask['actions_mask'] = {k: val.sum() for k, val in data.items()} + mask['selected_units_mask'] = data['selected_units'].sum(-1) + + return data, mask + + +def fake_step_data(): + data = ( + spatial_info(), + entity_info(), + scalar_info(), + action_info(), + action_mask(), + torch.randint(5, 100, size=(1, ), dtype=torch.long), # entity num + torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), # selected_units_num + torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long) # entity location + ) + return data + + +def fake_inference_data(): + data = ( + spatial_info(), + entity_info(), + scalar_info(), + torch.randint(5, 100, size=(1, ), dtype=torch.long), # entity_num + torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), # entity_location + ) + return data + + +def rl_step_data(): + teacher_action_logits, mask = action_logits() + data = { + 'spatial_info': spatial_info(), + 'entity_info': entity_info(), + 'scalar_info': scalar_info(), + 'entity_num': torch.randint(5, 100, size=(1, ), dtype=torch.long), + 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), + 'entity_location': torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), + 'hidden_state': [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)], # hidden state + 'action_info': action_info(), + 'behaviour_logp': action_logp(), + 'teacher_logit': teacher_action_logits, + 'reward': { + 'winloss': torch.randint(-1, 1, size=(), dtype=torch.float), + 'build_order': torch.randint(-1, 1, size=(), dtype=torch.float), + 'built_unit': torch.randint(-1, 1, size=(), dtype=torch.float), + 'effect': torch.randint(-1, 1, size=(), dtype=torch.float), + 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), + 'battle': torch.randint(-1, 1, size=(), dtype=torch.float), + }, + 'step': torch.randint(100, 1000, size=(), dtype=torch.long), + 'mask': mask, + } + return data + + +def transfer_data(data, cuda=False, share_memory=False, device=None): + assert cuda or share_memory + new_data = [] + for d in data: + if isinstance(d, torch.Tensor): + if cuda: + d = d.to(device) + if share_memory: + d.share_memory_() + new_data.append(d) + elif isinstance(d, dict): + if cuda: + d = {k: v.to(device) for k, v in d.items()} + if share_memory: + d = {k: v.share_memory_() for k, v in d.items()} + new_data.append(d) + return tuple(new_data) + + +def fake_step_data_share_memory(): + data = fake_step_data() + data = transfer_data(data) + return data + + +def fake_rl_data_batch(batch_size=1): + list_step_data = [] + # list_hidden_state = [] + for i in range(batch_size): + step_data = rl_step_data() + # hidden_state = step_data.pop('hidden_state') + list_step_data.append(step_data) + # list_hidden_state.append(hidden_state) + + step_data_batch = default_collate_with_dim(list_step_data) + # hidden_state_batch = default_collate_with_dim(list_hidden_state,dim=0) + batch = step_data_batch + # batch['hidden_state'] = hidden_state_batch + return batch + + +def fake_rl_data_batch_with_last(unroll_len=3): + list_step_data = [] + # list_hidden_state = [] + for i in range(unroll_len): + step_data = rl_step_data() + # hidden_state = step_data.pop('hidden_state') + list_step_data.append(step_data) + # list_hidden_state.append(hidden_state) + last_step_data = { + 'spatial_info': spatial_info(), + 'entity_info': entity_info(), + 'scalar_info': scalar_info(), + 'entity_num': torch.randint(5, 100, size=(1, ), dtype=torch.long), + # 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), + 'entity_location': torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), + 'hidden_state': [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)], # hidden state + } + list_step_data.append(last_step_data) + step_data_batch = default_collate_with_dim(list_step_data) + # hidden_state_batch = default_collate_with_dim(list_hidden_state,dim=0) + batch = step_data_batch + # batch['hidden_state'] = hidden_state_batch + return batch + + +def fake_rl_learner_data_batch(batch_size=6, unroll_len=4): + data_batch_list = [fake_rl_data_batch_with_last(unroll_len) for _ in range(batch_size)] + data_batch = default_collate_with_dim(data_batch_list, dim=1) + return data_batch + + +def flat(data): + if isinstance(data, torch.Tensor): + return torch.flatten(data, start_dim=0, end_dim=1) # (1, (T+1) * B) + elif isinstance(data, dict): + new_data = {} + for k, val in data.items(): + new_data[k] = flat(val) + return new_data + elif isinstance(data, Sequence): + new_data = [flat(v) for v in data] + return new_data + else: + print(type(data)) + + +def rl_learner_forward_data(batch_size=6, unroll_len=4): + data = fake_rl_learner_data_batch(batch_size, unroll_len) + new_data = {} + for k, val in data.items(): + if k in [ + 'spatial_info', + 'entity_info', + 'scalar_info', + 'entity_num', # 'action_info' + # 'selected_units_num', + 'entity_location', + 'hidden_state', + ]: + new_data[k] = flat(val) + else: + new_data[k] = val + new_data['batch_size'] = batch_size + new_data['unroll_len'] = unroll_len + return new_data diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py new file mode 100644 index 0000000000..6eb39b1661 --- /dev/null +++ b/dizoo/distar/envs/meta.py @@ -0,0 +1,11 @@ +MAX_DELAY = 64 +MAX_ENTITY_NUM = 512 +ENTITY_TYPE_NUM = 260 +NUM_ACTIONS = 327 +NUM_UPGRADES = 90 +NUM_CUMULATIVE_STAT_ACTIONS = 167 +NUM_BEGINNING_ORDER_ACTIONS = 174 +NUM_UNIT_MIX_ABILITIES = 269 +NUM_QUEUE_ACTION = 49 +NUM_BUFFS = 50 +NUM_ADDON = 9 diff --git a/dizoo/distar/envs/static_data.py b/dizoo/distar/envs/static_data.py new file mode 100644 index 0000000000..a0674c7bb1 --- /dev/null +++ b/dizoo/distar/envs/static_data.py @@ -0,0 +1,1152 @@ +# Copyright 2017 Google Inc. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS-IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Expose static data in a more useful form than the raw protos.""" + +import six +import torch +import numpy as np +from .action_dict import ACTION_INFO_MASK, GENERAL_ACTION_INFO_MASK, ACTIONS_STAT + + +class StaticData(object): + """Expose static data in a more useful form than the raw protos.""" + + def __init__(self, data): + """Takes data from RequestData.""" + self._units = {u.unit_id: u.name for u in data.units} + self._unit_stats = {u.unit_id: u for u in data.units} + self._upgrades = {a.upgrade_id: a for a in data.upgrades} + self._abilities = {a.ability_id: a for a in data.abilities} + self._general_abilities = {a.remaps_to_ability_id for a in data.abilities if a.remaps_to_ability_id} + + for a in six.itervalues(self._abilities): + a.hotkey = a.hotkey.lower() + + @property + def abilities(self): + return self._abilities + + @property + def upgrades(self): + return self._upgrades + + @property + def units(self): + return self._units + + @property + def unit_stats(self): + return self._unit_stats + + @property + def general_abilities(self): + return self._general_abilities + + +def get_reorder_lookup_array(input): + num = max(input) + # use -1 as marker for invalid entry + array = torch.full((num + 1, ), -1, dtype=torch.long) + for index, item in enumerate(input): + array[item] = index + return array + + +# List of used/available abilities found by parsing replays. +ABILITIES = [ + 0, # invalid + 1, + 4, + 6, + 7, + 16, + 17, + 18, + 19, + 23, + 26, + 28, + 30, + 32, + 36, + 38, + 42, + 44, + 46, + 74, + 76, + 78, + 80, + 110, + 140, + 142, + 144, + 146, + 148, + 150, + 152, + 154, + 156, + 158, + 160, + 162, + 164, + 166, + 167, + 169, + 171, + 173, + 174, + 181, + 195, + 199, + 203, + 207, + 211, + 212, + 216, + 217, + 247, + 249, + 250, + 251, + 253, + 255, + 261, + 263, + 265, + 295, + 296, + 298, + 299, + 304, + 305, + 306, + 307, + 308, + 309, + 312, + 313, + 314, + 315, + 316, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 326, + 327, + 328, + 329, + 331, + 333, + 348, + 380, + 382, + 383, + 386, + 388, + 390, + 392, + 393, + 394, + 396, + 397, + 399, + 401, + 403, + 405, + 407, + 408, + 410, + 413, + 415, + 416, + 417, + 419, + 421, + 422, + 451, + 452, + 454, + 455, + 484, + 485, + 487, + 488, + 517, + 518, + 520, + 522, + 524, + 554, + 556, + 558, + 560, + 561, + 562, + 563, + 591, + 594, + 595, + 596, + 597, + 614, + 620, + 621, + 622, + 623, + 624, + 626, + 650, + 651, + 652, + 653, + 654, + 655, + 656, + 657, + 658, + 710, + 730, + 731, + 732, + 761, + 764, + 766, + 768, + 769, + 790, + 793, + 799, + 803, + 804, + 805, + 820, + 822, + 855, + 856, + 857, + 861, + 862, + 863, + 864, + 865, + 866, + 880, + 881, + 882, + 883, + 884, + 885, + 886, + 887, + 889, + 890, + 891, + 892, + 893, + 894, + 895, + 911, + 913, + 914, + 916, + 917, + 919, + 920, + 921, + 922, + 946, + 948, + 950, + 954, + 955, + 976, + 977, + 978, + 979, + 994, + 1006, + 1036, + 1038, + 1039, + 1042, + 1062, + 1063, + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1093, + 1094, + 1097, + 1126, + 1152, + 1154, + 1155, + 1156, + 1157, + 1158, + 1159, + 1160, + 1161, + 1162, + 1163, + 1165, + 1166, + 1167, + 1183, + 1184, + 1186, + 1187, + 1188, + 1189, + 1190, + 1191, + 1192, + 1193, + 1194, + 1216, + 1217, + 1218, + 1219, + 1220, + 1221, + 1223, + 1225, + 1252, + 1253, + 1282, + 1283, + 1312, + 1313, + 1314, + 1315, + 1316, + 1317, + 1342, + 1343, + 1344, + 1345, + 1346, + 1348, + 1351, + 1352, + 1353, + 1354, + 1356, + 1372, + 1373, + 1374, + 1376, + 1378, + 1380, + 1382, + 1384, + 1386, + 1388, + 1390, + 1392, + 1394, + 1396, + 1406, + 1408, + 1409, + 1413, + 1414, + 1416, + 1417, + 1418, + 1419, + 1433, + 1435, + 1437, + 1438, + 1440, + 1442, + 1444, + 1446, + 1448, + 1449, + 1450, + 1451, + 1454, + 1455, + 1482, + 1512, + 1514, + 1516, + 1517, + 1518, + 1520, + 1522, + 1524, + 1526, + 1528, + 1530, + 1532, + 1562, + 1563, + 1564, + 1565, + 1566, + 1567, + 1568, + 1592, + 1593, + 1594, + 1622, + 1623, + 1628, + 1632, + 1664, + 1682, + 1683, + 1684, + 1691, + 1692, + 1693, + 1694, + 1725, + 1727, + 1729, + 1730, + 1731, + 1732, + 1733, + 1763, + 1764, + 1766, + 1768, + 1819, + 1825, + 1831, + 1832, + 1833, + 1834, + 1847, + 1848, + 1853, + 1974, + 1978, + 1998, + 2014, + 2016, + 2048, + 2057, + 2063, + 2067, + 2073, + 2081, + 2082, + 2095, + 2097, + 2099, + 2108, + 2110, + 2112, + 2113, + 2114, + 2116, + 2146, + 2162, + 2244, + 2324, + 2328, + 2330, + 2331, + 2332, + 2333, + 2338, + 2340, + 2342, + 2346, + 2350, + 2354, + 2358, + 2362, + 2364, + 2365, + 2368, + 2370, + 2371, + 2373, + 2375, + 2376, + 2387, + 2389, + 2391, + 2393, + 2505, + 2535, + 2542, + 2544, + 2550, + 2552, + 2558, + 2560, + 2588, + 2594, + 2596, + 2700, + 2704, + 2708, + 2709, + 2714, + 2720, + 3707, + 3709, + 3739, + 3741, + 3743, + 3745, + 3747, + 3749, + 3751, + 3753, + 3755, + 3757, + 3765, + 3771, + 3776, + 3777, + 3778, + 3783, +] + +# 356, 503, 547, 360, 515, 193, 10, 197, 528, 495, 516, 184, 491, 190, 483, # TODO +# 498, 192, 215, 189, 437, 519, 514, 219, 198, 507, 204, 400, 349, 492, 431, +# 543, 201, 387, 442, 479, 551, 489, 425, 218, 447, 238, 220, 501, 391, 445, +# 438, 526, 350, 256, 494, 493, + +NUM_ABILITIES = len(ABILITIES) + +ABILITIES_REORDER = {item: idx for idx, item in enumerate(ABILITIES)} + +ABILITIES_REORDER_ARRAY = get_reorder_lookup_array(ABILITIES) + +# List of known unit types. It is generated by parsing replays and from: +# https://github.com/Blizzard/s2client-api/blob/master/include/sc2api/sc2_typeenums.h +UNIT_TYPES = [ + 0, + 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, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 63, + 64, + 65, + 66, + 67, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 77, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 85, + 86, + 87, + 88, + 89, + 90, + 91, + 92, + 93, + 94, + 95, + 96, + 97, + 98, + 99, + 100, + 101, + 102, + 103, + 104, + 105, + 106, + 107, + 108, + 109, + 110, + 111, + 112, + 113, + 114, + 115, + 116, + 117, + 118, + 119, + 120, + 125, + 126, + 127, + 128, + 129, + 130, + 131, + 132, + 133, + 134, + 135, + 136, + 137, + 138, + 139, + 140, + 141, + 142, + 143, + 144, + 145, + 146, + 147, + 149, + 150, + 151, + 268, + 289, + 311, + 321, + 322, + 324, + 330, + 335, + 336, + 341, + 342, + 343, + 344, + 350, + 364, + 365, + 371, + 372, + 373, + 376, + 377, + 472, + 473, + 474, + 475, + 483, + 484, + 485, + 486, + 487, + 488, + 489, + 490, + 493, + 494, + 495, + 496, + 498, + 499, + 500, + 501, + 502, + 503, + 504, + 517, + 518, + 559, + 560, + 561, + 562, + 563, + 564, + 588, + 589, + 590, + 591, + 608, + 609, + 610, + 612, + 628, + 629, + 630, + 638, + 639, + 640, + 641, + 642, + 643, + 648, + 649, + 651, + 661, + 662, + 663, + 664, + 665, + 666, + 687, + 688, + 689, + 690, + 691, + 692, + 693, + 694, + 732, + 733, + 734, + 796, + 797, + 801, + 824, + 830, + 877, + 880, + 881, + 884, + 885, + 886, + 887, + 892, + 893, + 894, + 1904, + 1908, + 1910, + 1911, + 1912, + 1913, + 1955, + 1956, + 1957, + 1958, + 1960, + 1961, +] + +UNIT_TYPES_REORDER = {item: idx for idx, item in enumerate(UNIT_TYPES)} + +NUM_UNIT_TYPES = len(UNIT_TYPES) + +UNIT_TYPES_REORDER_ARRAY = get_reorder_lookup_array(UNIT_TYPES) + +# List of used buffs found by parsing replays. +BUFFS = [ + 0, # TODO + 5, + 6, + 7, + 8, + 11, + 12, + 13, + 16, + 17, + 18, + 22, + 24, + 25, + 27, + 28, + 29, + 30, + 33, + 36, + 38, + 49, + 59, + 83, + 89, + 99, + 102, + 116, + 121, + 122, + 129, + 132, + 133, + 134, + 136, + 137, + 145, + 271, + 272, + 273, + 274, + 275, + 277, + 279, + 280, + 281, + 288, + 289, + 20, + 97, +] + +NUM_BUFFS = len(BUFFS) + +BUFFS_REORDER = {item: idx for idx, item in enumerate(BUFFS)} + +BUFFS_REORDER_ARRAY = get_reorder_lookup_array(BUFFS) + +# List of used upgrades found by parsing replays. +UPGRADES = [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 15, + 16, + 17, + 19, + 20, + 22, + 25, + 30, + 31, + 32, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 49, + 50, + 52, + 53, + 54, + 55, + 56, + 57, + 58, + 59, + 60, + 61, + 62, + 64, + 65, + 66, + 68, + 69, + 70, + 71, + 72, + 73, + 74, + 75, + 76, + 78, + 79, + 80, + 81, + 82, + 83, + 84, + 86, + 87, + 88, + 99, + 101, + 116, + 117, + 118, + 122, + 130, + 134, + 135, + 136, + 139, + 140, + 141, + 144, + 289, + 291, + 293, + 296, +] + +NUM_UPGRADES = len(UPGRADES) + +UPGRADES_REORDER = {item: idx for idx, item in enumerate(UPGRADES)} + +UPGRADES_REORDER_ARRAY = get_reorder_lookup_array(UPGRADES) + +UPGRADES_REORDER_INV = {v: k for k, v in UPGRADES_REORDER.items()} + +UPGRADES_REORDER_INV_ARRAY = UPGRADES + +ADDON = [0, 5, 6, 37, 38, 39, 40, 41, 42] + +NUM_ADDON = len(ADDON) + +ADDON_REORDER = {item: idx for idx, item in enumerate(ADDON)} + +ADDON_REORDER_ARRAY = get_reorder_lookup_array(ADDON) + +ACTIONS = list(GENERAL_ACTION_INFO_MASK.keys()) + +NUM_ACTIONS = len(ACTIONS) + +NUM_ACTIONS_RAW = len(list(ACTION_INFO_MASK.keys())) + +# this is for the translation from distar.ctools.pysc2 ability id to distar.ctools.pysc2 raw ability id +# _FUNCTIONS: +# https://github.com/deepmind/ctools.pysc2/blob/5ca04dbf6dd0b852966418379e2d95d9ad3393f8/ctools.pysc2/lib/actions.py#L583 +# _RAW_FUNCTIONS: +# https://github.com/deepmind/ctools.pysc2/blob/5ca04dbf6dd0b852966418379e2d95d9ad3393f8/ctools.pysc2/lib/actions.py#L1186 +# ACTIONS_REORDER[ctools.pysc2_ability_id] = distar.ctools.pysc2_raw_ability_id +ACTIONS_REORDER = {item: idx for idx, item in enumerate(ACTIONS)} + +ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(ACTIONS) + +ACTIONS_REORDER_INV = {v: k for k, v in ACTIONS_REORDER.items()} + +ACTIONS_REORDER_INV_ARRAY = ACTIONS + +# Begin actions: actions (raw ability ids) included in the beginning_build_order +target_list = ['unit', 'build', 'research'] +BEGIN_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in target_list] +OLD_BEGIN_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in target_list + ['effect']] + +removed_actions = [35, 64, 520, 222, 515, 503] +for i in removed_actions: + BEGIN_ACTIONS.remove(i) +NUM_BEGIN_ACTIONS = len(BEGIN_ACTIONS) + +OLD_BEGIN_ACTIONS_REORDER = {item: idx for idx, item in enumerate(OLD_BEGIN_ACTIONS)} + +OLD_BEGIN_ACTIONS_REORDER_INV = {v: k for k, v in OLD_BEGIN_ACTIONS_REORDER.items()} + +BUILD_ORDER_REWARD_ACTIONS = BEGIN_ACTIONS + +BEGIN_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(BEGIN_ACTIONS) + +UNIT_BUILD_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['unit', 'build']] + +NUM_UNIT_BUILD_ACTIONS = len(UNIT_BUILD_ACTIONS) + +UNIT_BUILD_ACTIONS_REORDER = {item: idx for idx, item in enumerate(UNIT_BUILD_ACTIONS)} + +UNIT_BUILD_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(UNIT_BUILD_ACTIONS) + +EFFECT_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['effect']] + +NUM_EFFECT_ACTIONS = len(EFFECT_ACTIONS) + +EFFECT_ACTIONS_REORDER = {item: idx for idx, item in enumerate(EFFECT_ACTIONS)} + +EFFECT_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(EFFECT_ACTIONS) + +RESEARCH_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['research']] + +NUM_RESEARCH_ACTIONS = len(RESEARCH_ACTIONS) + +RESEARCH_ACTIONS_REORDER = {item: idx for idx, item in enumerate(RESEARCH_ACTIONS)} + +RESEARCH_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(RESEARCH_ACTIONS) + +ORDER_ACTIONS = [ + 425, 85, 426, 553, 427, 428, 429, 84, 430, 431, 83, 432, 433, 434, 554, 435, 436, 563, 69, 437, 67, 68, 438, 440, + 439, 441, 18, 442, 443, 444, 445, 446, 19, 447, 116, 117, 118, 119, 120, 70, 448, 449, 97, 450, 451, 452, 456, 460, + 464, 465, 469, 473, 82, 474, 478, 482, 494, 495, 486, 490, 54, 499, 500, 56, 62, 501, 502, 52, 166, 504, 505, 506, + 51, 63, 509, 510, 511, 512, 513, 21, 61, 58, 55, 64, 516, 517, 518, 520, 53, 521, 50, 59, 523, 525, 57, 76, 74, 73, + 60, 75, 72, 71, 527, 49 +] + +NUM_ORDER_ACTIONS = len(ORDER_ACTIONS) + 1 +ORDER_ACTIONS_REORDER_ARRAY = torch.zeros(max(GENERAL_ACTION_INFO_MASK.keys()) + 1, dtype=torch.long) +for idx, v in enumerate(ORDER_ACTIONS): + ORDER_ACTIONS_REORDER_ARRAY[v] = idx + 1 + + +def ger_reorder_tag(val, template): + low = 0 + high = len(template) + while low < high: + mid = (low + high) // 2 + mid_val = template[mid] + if val == mid_val: + return mid + elif val > mid_val: + low = mid + 1 + else: + high = mid + raise ValueError("unknow found val: {}".format(val)) + + +SELECTED_UNITS_MASK = torch.zeros(NUM_ACTIONS, NUM_UNIT_TYPES) +TARGET_UNITS_MASK = torch.zeros(NUM_ACTIONS, NUM_UNIT_TYPES) +for i in range(NUM_ACTIONS): + a = ACTIONS_REORDER_INV[i] + type_set = set(ACTIONS_STAT[a]['selected_type']) + reorder_type_list = [UNIT_TYPES_REORDER[i] for i in type_set] + SELECTED_UNITS_MASK[i, reorder_type_list] = 1 + type_set = set(ACTIONS_STAT[a]['target_type']) + reorder_type_list = [UNIT_TYPES_REORDER[i] for i in type_set] + TARGET_UNITS_MASK[i, reorder_type_list] = 1 + +UNIT_SPECIFIC_ABILITIES = [ + 4, 6, 7, 9, 2063, 16, 17, 18, 19, 2067, 23, 2073, 26, 28, 30, 2081, 36, 38, 40, 42, 46, 2095, 2097, 2099, 2108, + 2110, 2116, 74, 76, 78, 80, 2146, 110, 140, 142, 146, 148, 152, 154, 166, 167, 173, 181, 2244, 216, 217, 247, 249, + 251, 253, 263, 265, 2324, 2330, 2332, 2338, 2340, 2342, 295, 296, 2346, 298, 299, 2350, 2358, 2362, 316, 2364, 318, + 319, 320, 321, 322, 323, 324, 2370, 326, 2375, 2376, 327, 328, 329, 331, 333, 2383, 2385, 2387, 2393, 380, 382, 383, + 386, 388, 390, 392, 393, 394, 396, 397, 401, 403, 405, 407, 412, 413, 416, 417, 419, 421, 422, 452, 454, 455, 2505, + 485, 487, 488, 2536, 2542, 2544, 2554, 2556, 2558, 2560, 518, 520, 522, 524, 2588, 2594, 2596, 554, 556, 558, 560, + 561, 562, 563, 591, 594, 595, 596, 597, 614, 620, 621, 622, 623, 624, 626, 650, 651, 652, 653, 654, 2700, 656, 657, + 2706, 658, 2708, 2704, 2714, 2720, 710, 730, 731, 732, 761, 764, 766, 769, 790, 793, 799, 804, 805, 820, 855, 856, + 857, 861, 862, 863, 864, 865, 866, 880, 881, 882, 883, 884, 885, 886, 887, 889, 890, 891, 892, 893, 894, 895, 911, + 913, 914, 916, 917, 919, 920, 921, 922, 946, 948, 950, 954, 955, 976, 977, 978, 979, 994, 1006, 1036, 1042, 1062, + 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1093, 1094, 1097, 1126, 1152, 1154, 1155, 1156, 1157, 1158, 1159, + 1160, 1161, 1162, 1163, 1165, 1166, 1167, 1183, 1184, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1216, + 1218, 1220, 1223, 1225, 1252, 1253, 1282, 1283, 1312, 1313, 1314, 1315, 1316, 1317, 1342, 1343, 1344, 1345, 1346, + 1348, 1351, 1352, 1353, 1354, 1356, 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, + 1406, 1408, 1409, 1433, 1435, 1437, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1454, 1455, 1482, 1512, 1514, 1516, + 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1592, 1593, 1594, 1622, + 1628, 1632, 3707, 3709, 1662, 1664, 3739, 1692, 1693, 1694, 3741, 3743, 3745, 3747, 3753, 3765, 3771, 1725, 1727, + 3776, 1729, 3778, 1731, 3777, 1733, 3783, 1764, 1767, 1768, 1819, 1825, 1978, 1998, 2014, 2016 +] + +# correspond to UNIT_SPECIFIC_ABILITIES +UNIT_GENERAL_ABILITIES = [ + 3665, 3665, 3665, 3665, 0, 3794, 3795, 3793, 3674, 0, 3674, 0, 3684, 3684, 3684, 0, 3688, 3689, 0, 0, 0, 3661, 3662, + 0, 3661, 3662, 0, 0, 0, 3685, 0, 0, 0, 0, 3686, 0, 0, 0, 0, 3666, 3667, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, + 0, 3661, 3662, 3666, 3667, 0, 3666, 3667, 0, 0, 0, 3685, 0, 0, 0, 0, 0, 0, 0, 0, 3668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3675, 3676, 3677, 0, 0, 0, 3676, 3677, 3668, 3669, 3796, 0, 0, 0, 3668, 3668, 3664, 3663, 3679, 3678, 3682, + 3683, 3679, 3682, 3683, 0, 3679, 3682, 3683, 0, 0, 0, 0, 0, 0, 0, 3679, 3678, 3678, 0, 0, 3659, 3659, 3678, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3698, 3698, 3698, 3687, 3697, 3697, 0, 3697, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3701, 3701, 3701, 3699, 3699, 3699, 3700, 3700, 3700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 3668, 3669, 3796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3695, 3695, 3695, 3694, + 3694, 3694, 3696, 3696, 3696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3666, 3667, 3705, 3705, 3705, + 3704, 3704, 3704, 3706, 3706, 3706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3703, 3703, 3703, 3702, 3702, 3702, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3668, 3669, 3796, 3661, + 3662, 3668, 3664, 3796, 3687, 3661, 3662, 0, 0, 0, 0, 0, 3661, 3662, 0, 0, 0, 3679, 3678, 0, 0, 0, 0, 3693, 3693, + 3693, 3692, 3692, 3692, 0, 0, 0, 0, 0, 0, 0, 3659, 0, 3661, 0, 0, 0, 0, 3691, 0, 0, 0, 0, 0, 0, 3674, 3681, 3681, + 3794, 3680, 3793, 3680, 3795, 3691, 3665, 0, 0, 0, 0, 0, 0, 0, 3661, 3662 +] + +# UNIT_MIX_ABILITIES = [] +# for idx in range(len(UNIT_SPECIFIC_ABILITIES)): +# if UNIT_GENERAL_ABILITIES[idx] == 0: +# UNIT_MIX_ABILITIES.append(UNIT_SPECIFIC_ABILITIES[idx]) +# else: +# UNIT_MIX_ABILITIES.append(UNIT_GENERAL_ABILITIES[idx]) +# UNIT_MIX_ABILITIES = [0] + list(set(UNIT_MIX_ABILITIES)) # use 0 as no op + +UNIT_MIX_ABILITIES = [ + 0, 2560, 524, 1036, 2063, 1042, 2067, 1530, 2073, 1344, 2588, 1532, 1568, 2081, 1126, 40, 42, 556, 46, 558, 560, + 561, 562, 2099, 563, 1345, 1592, 1593, 1594, 2116, 1093, 1094, 1097, 74, 3659, 76, 3661, 3662, 3663, 3664, 80, 3665, + 3666, 3667, 3669, 3668, 591, 594, 595, 3674, 3675, 3676, 3677, 3678, 3679, 1628, 1632, 2146, 3682, 3684, 3685, 3686, + 3683, 3688, 3689, 614, 3687, 620, 621, 110, 622, 623, 624, 626, 3698, 3697, 3701, 3699, 3700, 3695, 3696, 3705, + 3704, 3706, 3703, 3702, 1348, 1152, 3709, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 650, 651, 140, 1162, 1163, + 1165, 2704, 1166, 146, 2706, 148, 2708, 1167, 3693, 152, 3692, 154, 2714, 3694, 1354, 3739, 1692, 2720, 1693, 3741, + 3743, 3745, 3747, 3753, 173, 181, 1664, 3765, 3691, 1216, 1218, 2244, 1220, 710, 1223, 1225, 3793, 3794, 3795, 3796, + 216, 217, 730, 731, 732, 1252, 1253, 1764, 1767, 1768, 247, 249, 761, 251, 764, 766, 769, 1282, 1283, 263, 265, + 2324, 790, 793, 2330, 1819, 2332, 799, 1825, 2338, 804, 805, 2346, 2350, 820, 2358, 2362, 2364, 318, 319, 320, 321, + 322, 323, 324, 1342, 326, 2375, 2376, 327, 328, 331, 329, 333, 1351, 2383, 1352, 2385, 1353, 2387, 1356, 2393, 1372, + 880, 881, 882, 883, 884, 885, 886, 887, 1346, 889, 890, 891, 892, 893, 894, 895, 386, 388, 390, 401, 403, 916, 405, + 917, 919, 920, 921, 922, 1448, 3680, 1450, 1454, 1455, 946, 948, 950, 596, 954, 955, 597, 1978, 3681, 2505, 1482, + 1998, 976, 977, 978, 979, 1622, 994, 2536, 1516, 2542, 1006, 2544, 1518, 1520, 1526, 1528, 2554, 1343, 2556, 2558 +] diff --git a/dizoo/distar/model/__init__.py b/dizoo/distar/model/__init__.py new file mode 100644 index 0000000000..8ea35e8f96 --- /dev/null +++ b/dizoo/distar/model/__init__.py @@ -0,0 +1 @@ +#from .model import Model, alphastar_model_default_config diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml new file mode 100644 index 0000000000..5cdef334e5 --- /dev/null +++ b/dizoo/distar/model/actor_critic_default_config.yaml @@ -0,0 +1,453 @@ +var1: &NUM_ADDON 9 +var2: &NUM_BUFFS 50 +var3: &NUM_UNIT_TYPES 260 +var4: &NUM_UPGRADES 90 +var5: &NUM_ACTIONS 327 +var6: &NUM_QUEUE_ACTIONS 49 +var7: &NUM_BEGINNING_ORDER_ACTIONS 174 +var8: &NUM_CUMULATIVE_STAT_ACTIONS 167 +var9: &SPATIAL_X 160 +var10: &SPATIAL_Y 152 +var11: &NUM_UNIT_MIX_ABILITIES 269 + + +learner: + use_value_feature: False +model: + spatial_x: *SPATIAL_X + spatial_y: *SPATIAL_Y + temperature: 1.0 + # ===== Tuning ===== + freeze_targets: [] + state_dict_mask: [] + use_value_network: False + enable_baselines: ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] + entity_reduce_type: 'selected_units_num' # ['constant', 'entity_num', 'selected_units_num'] + # ===== Value ===== + value: + encoder: + modules: + enemy_unit_counts_bow: + arc: fc + input_dim: *NUM_UNIT_TYPES + output_dim: 64 + enemy_unit_type_bool: + arc: fc + input_dim: *NUM_UNIT_TYPES + output_dim: 64 + enemy_agent_statistics: + arc: fc + input_dim: 10 + output_dim: 64 + enemy_upgrades: + arc: fc + input_dim: *NUM_UPGRADES + output_dim: 32 + unit_alliance: + arc: one_hot + num_embeddings: 2 + embedding_dim: 16 + unit_type: + arc: one_hot + num_embeddings: *NUM_UNIT_TYPES + embedding_dim: 48 + beginning_order: + arc: transformer + action_one_hot_dim: *NUM_BEGINNING_ORDER_ACTIONS + binary_dim: 10 + head_dim: 8 + output_dim: 64 + activation: 'relu' + cumulative_stat: + arc: fc + input_dim: *NUM_CUMULATIVE_STAT_ACTIONS + output_dim: 128 + scatter: + scatter_input_dim: 64 + scatter_dim: 8 + scatter_type: add + spatial: + input_dim: 10 # 8 + 2 + project_dim: 16 + down_channels: [16, 32, 32] + resblock_num: 4 + spatial_fc_dim: 128 + + winloss: + name: winloss + cum_stat_keys: ['unit_build', 'research'] + param: + name: 'winloss' + input_dim: 384 #1920 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: True + build_order: + name: build_order + cum_stat_keys: ['unit_build', 'effect', 'research'] + param: + name: 'build_order' + input_dim: 384 #2016 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: False + built_unit: + name: built_unit + cum_stat_keys: ['unit_build'] + param: + name: 'built_unit' + input_dim: 384 #1824 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: False + effect: + name: effect + cum_stat_keys: ['effect'] + param: + name: 'effect' + input_dim: 384 #1824 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: False + upgrade: + name: upgrade + cum_stat_keys: ['research'] + param: + name: 'upgrade' + input_dim: 384 #1824 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: False + battle: + name: battle + cum_stat_keys: ['unit_build', 'effect', 'research'] + param: + name: 'battle' + input_dim: 384 #2016 + activation: 'relu' + norm_type: 'LN' + res_dim: 256 + res_num: 16 + atan: False + # ===== Encoder ===== + encoder: + obs_encoder: + encoder_names: [scalar_encoder, spatial_encoder, entity_encoder] + scalar_encoder: + module: + agent_statistics: + arc: fc + input_dim: 10 + output_dim: 64 + baseline_feature: True + home_race: + arc: one_hot + num_embeddings: 5 + embedding_dim: 32 + scalar_context: True + away_race: + arc: one_hot + num_embeddings: 5 + embedding_dim: 32 + scalar_context: True + upgrades: + arc: fc + input_dim: *NUM_UPGRADES + output_dim: 128 + baseline_feature: True + time: + arc: identity + output_dim: 32 + unit_counts_bow: + arc: fc + input_dim: *NUM_UNIT_TYPES + output_dim: 128 + baseline_feature: True + last_delay: + arc: one_hot + num_embeddings: 128 + embedding_dim: 64 + last_queued: + arc: one_hot + num_embeddings: 2 + embedding_dim: 32 + last_action_type: + arc: one_hot + num_embeddings: *NUM_ACTIONS + embedding_dim: 128 + cumulative_stat: + arc: fc + input_dim: *NUM_CUMULATIVE_STAT_ACTIONS + output_dim: 128 + scalar_context: True + baseline_feature: True + beginning_order: + arc: transformer + action_one_hot_dim: *NUM_BEGINNING_ORDER_ACTIONS + binary_dim: 10 + head_dim: 8 + output_dim: 64 + scalar_context: True + activation: 'relu' + baseline_feature: True + unit_type_bool: + arc: fc + input_dim: *NUM_UNIT_TYPES + output_dim: 64 + scalar_context: True + enemy_unit_type_bool: + arc: fc + input_dim: *NUM_UNIT_TYPES + output_dim: 64 + scalar_context: True + unit_order_type: + arc: fc + input_dim: *NUM_UNIT_MIX_ABILITIES + output_dim: 64 + scalar_context: True + activation: 'relu' + output_dim: 1024 + spatial_encoder: + module: + height_map: + arc: other + visibility_map: + arc: one_hot + num_embeddings: 4 + creep: + arc: one_hot + num_embeddings: 2 + player_relative: + arc: one_hot + num_embeddings: 5 + alerts: + arc: one_hot + num_embeddings: 2 + pathable: + arc: one_hot + num_embeddings: 2 + buildable: + arc: one_hot + num_embeddings: 2 + effect_PsiStorm: + arc: scatter + effect_NukeDot: + arc: scatter + effect_LiberatorDefenderZone: + arc: scatter + effect_BlindingCloud: + arc: scatter + effect_CorrosiveBile: + arc: scatter + effect_LurkerSpines: + arc: scatter + input_dim: 56 + resblock_num: 4 + fc_dim: 256 + project_dim: 32 + downsample_type: 'maxpool' + down_channels: [64, 128, 128] + activation: 'relu' + norm_type: 'none' + head_type: 'fc' + entity_encoder: + module: + unit_type: + arc: one_hot + num_embeddings: *NUM_UNIT_TYPES + alliance: + arc: one_hot + num_embeddings: 5 + cargo_space_taken: + arc: one_hot + num_embeddings: 9 + build_progress: + arc: unsqueeze + health_ratio: + arc: unsqueeze + shield_ratio: + arc: unsqueeze + energy_ratio: + arc: unsqueeze + display_type: + arc: one_hot + num_embeddings: 5 + x: + arc: binary + num_embeddings: 11 + y: + arc: binary + num_embeddings: 11 + cloak: + arc: one_hot + num_embeddings: 5 + is_blip: + arc: one_hot + num_embeddings: 2 + is_powered: + arc: one_hot + num_embeddings: 2 + mineral_contents: + arc: unsqueeze + vespene_contents: + arc: unsqueeze + cargo_space_max: + arc: one_hot + num_embeddings: 9 + assigned_harvesters: + arc: one_hot + num_embeddings: 24 + weapon_cooldown: + arc: one_hot + num_embeddings: 32 + order_length: + arc: one_hot + num_embeddings: 9 + order_id_0: + arc: one_hot + num_embeddings: *NUM_ACTIONS + order_id_1: + arc: one_hot + num_embeddings: *NUM_QUEUE_ACTIONS + is_hallucination: + arc: one_hot + num_embeddings: 2 + buff_id_0: + arc: one_hot + num_embeddings: *NUM_BUFFS + buff_id_1: + arc: one_hot + num_embeddings: *NUM_BUFFS + addon_unit_type: + arc: one_hot + num_embeddings: *NUM_ADDON + is_active: + arc: one_hot + num_embeddings: 2 + order_progress_0: + arc: unsqueeze + order_progress_1: + arc: unsqueeze + order_id_2: + arc: one_hot + num_embeddings: *NUM_QUEUE_ACTIONS + order_id_3: + arc: one_hot + num_embeddings: *NUM_QUEUE_ACTIONS + is_in_cargo: + arc: one_hot + num_embeddings: 2 + attack_upgrade_level: + arc: one_hot + num_embeddings: 4 + armor_upgrade_level: + arc: one_hot + num_embeddings: 4 + shield_upgrade_level: + arc: one_hot + num_embeddings: 4 + last_selected_units: + arc: one_hot + num_embeddings: 2 + last_targeted_unit: + arc: one_hot + num_embeddings: 2 + input_dim: 997 # cat all entity info + head_dim: 128 + hidden_dim: 1024 + output_dim: 256 + head_num: 2 + mlp_num: 2 + layer_num: 3 + dropout_ratio: 0 + activation: 'relu' + ln_type: 'post' + use_score_cumulative: False + scatter: + input_dim: 256 # entity_encoder.output_dim + output_dim: 32 + scatter_type: 'add' + core_lstm: + lstm_type: 'normal' + input_size: 1536 # spatial_encoder.fc_dim + entity_encoder.output_dim + scalar_encoder.output_dim + hidden_size: 384 + num_layers: 3 + dropout: 0.0 + score_cumulative: + input_dim: 13 + output_dim: 64 + activation: 'relu' + # ===== Policy ===== + policy: + head: + head_names: [action_type_head, delay_head, queued_head, selected_units_head, target_unit_head, location_head] + action_type_head: + input_dim: 384 # core.hidden_size + res_dim: 256 + res_num: 2 + action_num: *NUM_ACTIONS + action_map_dim: 256 # scalar context + gate_dim: 1024 + context_dim: 448 + activation: 'relu' + norm_type: 'LN' + ln_type: 'normal' + use_mask: False + delay_head: + input_dim: 1024 # action_type_head.gate_dim + decode_dim: 256 + delay_dim: 128 + delay_map_dim: 256 + activation: 'relu' + queued_head: + input_dim: 1024 # action_type_head.gate_dim + decode_dim: 256 + queued_dim: 2 + queued_map_dim: 256 + activation: 'relu' + selected_units_head: + lstm_type: 'pytorch' + lstm_norm_type: 'none' + lstm_dropout: 0. + input_dim: 1024 # action_type_head.gate_dim + entity_embedding_dim: 256 # entity_encoder.output_dim + key_dim: 32 + unit_type_dim: 259 + func_dim: 256 + hidden_dim: 32 + num_layers: 1 + max_entity_num: 64 + activation: 'relu' + target_unit_head: + input_dim: 1024 # action_type_head.gate_dim + entity_embedding_dim: 256 # entity_encoder.output_dim + key_dim: 32 + unit_type_dim: 259 + func_dim: 256 + activation: 'relu' + embedding_norm: True + location_head: + input_dim: 1024 + project_dim: 1024 + upsample_type: 'bilinear' + upsample_dims: [64, 32, 1] # len(upsample_dims)-len(down_channels)+1 = ratio + res_dim: 128 + res_num: 4 + film: False + gate: True + unet: False + reshape_size: [16, 16] + reshape_channel: 4 # entity_encoder.gate_dim / reshape_size + map_skip_dim: 128 # spatial_encoder.down_channels[-1] + activation: 'relu' + # loc_type: 'alphastar' diff --git a/dizoo/distar/model/encoder.py b/dizoo/distar/model/encoder.py new file mode 100644 index 0000000000..f6d849f901 --- /dev/null +++ b/dizoo/distar/model/encoder.py @@ -0,0 +1,42 @@ +import collections + +import torch +import torch.nn as nn +from typing import Dict +from torch import Tensor + +from ding.torch_utils import fc_block, ScatterConnection + +from .obs_encoder import ScalarEncoder, SpatialEncoder, EntityEncoder +from .lstm import script_lnlstm + + +class Encoder(nn.Module): + + def __init__(self, cfg): + super(Encoder, self).__init__() + self.whole_cfg = cfg + self.cfg = cfg.model.encoder + self.encoder = nn.ModuleDict() + self.scalar_encoder = ScalarEncoder(self.whole_cfg) + self.spatial_encoder = SpatialEncoder(self.whole_cfg) + self.entity_encoder = EntityEncoder(self.whole_cfg) + self.scatter_project = fc_block(self.cfg.scatter.input_dim, self.cfg.scatter.output_dim, activation=nn.ReLU()) + self.scatter_dim = self.cfg.scatter.output_dim + self.scatter_connection = ScatterConnection(self.cfg.scatter.scatter_type) + + def forward( + self, spatial_info: Dict[str, Tensor], entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], + entity_num: Tensor + ): + embedded_scalar, scalar_context, baseline_feature = self.scalar_encoder(scalar_info) + entity_embeddings, embedded_entity, entity_mask = self.entity_encoder(entity_info, entity_num) + entity_location = torch.cat([entity_info['y'].unsqueeze(dim=-1), entity_info['x'].unsqueeze(dim=-1)], dim=-1) + shape = spatial_info['height_map'].shape[-2:] + project_embeddings = self.scatter_project(entity_embeddings) + project_embeddings = project_embeddings * entity_mask.unsqueeze(dim=2) + + scatter_map = self.scatter_connection(project_embeddings, shape, entity_location) + embedded_spatial, map_skip = self.spatial_encoder(spatial_info, scatter_map) + lstm_input = torch.cat([embedded_scalar, embedded_entity, embedded_spatial], dim=-1) + return lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip diff --git a/dizoo/distar/model/head/__init__.py b/dizoo/distar/model/head/__init__.py new file mode 100644 index 0000000000..94e44e0486 --- /dev/null +++ b/dizoo/distar/model/head/__init__.py @@ -0,0 +1,2 @@ +from .action_arg_head import DelayHead, SelectedUnitsHead, TargetUnitHead, LocationHead, QueuedHead +from .action_type_head import ActionTypeHead diff --git a/dizoo/distar/model/head/action_arg_head.py b/dizoo/distar/model/head/action_arg_head.py new file mode 100644 index 0000000000..34d36b086e --- /dev/null +++ b/dizoo/distar/model/head/action_arg_head.py @@ -0,0 +1,497 @@ +''' +Copyright 2020 Sensetime X-lab. All Rights Reserved + +Main Function: + 1. Implementation for action_type_head, including basic processes. + 2. Implementation for delay_head, including basic processes. + 3. Implementation for queue_type_head, including basic processes. + 4. Implementation for selected_units_type_head, including basic processes. + 5. Implementation for target_unit_head, including basic processes. + 6. Implementation for location_head, including basic processes. +''' +from typing import Optional, List +from torch import Tensor +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.torch_utils import fc_block, conv2d_block, deconv2d_block, build_activation, ResBlock, NearestUpsample, \ + BilinearUpsample, sequence_mask, GatedResBlock, FiLMedResBlock, AttentionPool +from dizoo.distar.envs import MAX_ENTITY_NUM, MAX_SELECTED_UNITS_NUM +from ..lstm import script_lnlstm, script_lstm + + +class DelayHead(nn.Module): + + def __init__(self, cfg): + super(DelayHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.delay_head + self.act = build_activation(self.cfg.activation) + self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) + self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) + self.fc3 = fc_block(self.cfg.decode_dim, self.cfg.delay_dim, activation=None, norm_type=None) # regression + self.embed_fc1 = fc_block(self.cfg.delay_dim, self.cfg.delay_map_dim, activation=self.act, norm_type=None) + self.embed_fc2 = fc_block(self.cfg.delay_map_dim, self.cfg.input_dim, activation=None, norm_type=None) + + self.delay_dim = self.cfg.delay_dim + + def forward(self, embedding, delay: Optional[torch.Tensor] = None): + x = self.fc1(embedding) + x = self.fc2(x) + x = self.fc3(x) + if delay is None: + p = F.softmax(x, dim=1) + delay = torch.multinomial(p, 1)[:, 0] + + delay_encode = torch.nn.functional.one_hot(delay.long(), self.delay_dim).float() + embedding_delay = self.embed_fc1(delay_encode) + embedding_delay = self.embed_fc2(embedding_delay) # get autoregressive_embedding + + return x, delay, embedding + embedding_delay + + +class QueuedHead(nn.Module): + + def __init__(self, cfg): + super(QueuedHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.queued_head + self.act = build_activation(self.cfg.activation) + # to get queued logits + self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) + self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) + self.fc3 = fc_block(self.cfg.decode_dim, self.cfg.queued_dim, activation=None, norm_type=None) + + # to get autoregressive_embedding + self.embed_fc1 = fc_block(self.cfg.queued_dim, self.cfg.queued_map_dim, activation=self.act, norm_type=None) + self.embed_fc2 = fc_block(self.cfg.queued_map_dim, self.cfg.input_dim, activation=None, norm_type=None) + + self.queued_dim = self.cfg.queued_dim + + def forward(self, embedding, queued=None): + x = self.fc1(embedding) + x = self.fc2(x) + x = self.fc3(x) + x.div_(self.whole_cfg.model.temperature) + if queued is None: + p = F.softmax(x, dim=1) + queued = torch.multinomial(p, 1)[:, 0] + + queued_one_hot = torch.nn.functional.one_hot(queued.long(), self.queued_dim).float() + embedding_queued = self.embed_fc1(queued_one_hot) + embedding_queued = self.embed_fc2(embedding_queued) # get autoregressive_embedding + + return x, queued, embedding + embedding_queued + + +class SelectedUnitsHead(nn.Module): + + def __init__(self, cfg): + super(SelectedUnitsHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.selected_units_head + self.act = build_activation(self.cfg.activation) + self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) + self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.func_dim, activation=self.act) + self.query_fc2 = fc_block(self.cfg.func_dim, self.cfg.key_dim, activation=None) + self.embed_fc1 = fc_block(self.cfg.key_dim, self.cfg.func_dim, activation=self.act, norm_type=None) + self.embed_fc2 = fc_block(self.cfg.func_dim, self.cfg.input_dim, activation=None, norm_type=None) + + self.max_select_num = MAX_SELECTED_UNITS_NUM + self.max_entity_num = MAX_ENTITY_NUM + self.key_dim = self.cfg.key_dim + + self.num_layers = self.cfg.num_layers + self.test_iou = self.cfg.get('test_iou', False) + + self.lstm = script_lnlstm(self.cfg.key_dim, self.cfg.hidden_dim, self.cfg.num_layers) + self.end_embedding = torch.nn.Parameter(torch.FloatTensor(1, self.key_dim)) + stdv = 1. / math.sqrt(self.end_embedding.size(1)) + self.end_embedding.data.uniform_(-stdv, stdv) + if self.whole_cfg.model.entity_reduce_type == 'attention_pool': + self.attention_pool = AttentionPool(key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + self.attention_pool = AttentionPool( + key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim, max_num=MAX_SELECTED_UNITS_NUM + 1 + ) + self.extra_units = self.whole_cfg.get('agent', {}).get('extra_units', False) + + def _get_key_mask(self, entity_embedding, entity_num): + bs = entity_embedding.shape[0] + padding_end = torch.zeros(1, self.end_embedding.shape[1]).repeat(bs, 1, + 1).to(entity_embedding.device) # b, 1, c + key = self.key_fc(entity_embedding) # b, n, c + key = torch.cat([key, padding_end], dim=1) + end_embeddings = torch.ones(key.shape, dtype=key.dtype, device=key.device) * self.end_embedding.squeeze(dim=0) + flag = torch.ones(key.shape[:2], dtype=torch.bool, device=key.device).unsqueeze(dim=2) + flag[torch.arange(bs), entity_num] = 0 + end_embeddings = end_embeddings * ~flag + key = key * flag + key = key + end_embeddings + reduce_type = self.whole_cfg.model.entity_reduce_type + if reduce_type == 'entity_num': + key_reduce = torch.div(key, entity_num.reshape(-1, 1, 1)) + key_embeddings = self.embed_fc(key_reduce) + elif reduce_type == 'constant': + key_reduce = torch.div(key, 512) + key_embeddings = self.embed_fc(key_reduce) + elif reduce_type == 'selected_units_num' or 'attention' in reduce_type: + key_embeddings = key + else: + raise NotImplementedError + + new_entity_num = entity_num + 1 # add end entity + mask = sequence_mask(new_entity_num, max_len=entity_embedding.shape[1] + 1) + return key, mask, key_embeddings + + def _get_pred_with_logit(self, logit): + logit.div_(self.whole_cfg.model.temperature) + p = F.softmax(logit, dim=-1) + units = torch.multinomial(p, 1)[:, 0] + return units + + def _query( + self, + key: Tensor, + entity_num: Tensor, + autoregressive_embedding: Tensor, + logits_mask: Tensor, + key_embeddings: Tensor, + selected_units_num: Optional[Tensor] = None, + selected_units: Optional[Tensor] = None, + su_mask: Tensor = None + ): + ae = autoregressive_embedding + bs = ae.shape[0] + end_flag = torch.zeros(bs, dtype=torch.bool).to(ae.device) + results_list, logits_list = [], [] + state = [ + (torch.zeros(ae.shape[0], 32, device=ae.device), torch.zeros(ae.shape[0], 32, device=ae.device)) + for _ in range(self.num_layers) + ] + logits_mask[torch.arange(bs), entity_num] = torch.tensor([0], dtype=torch.bool, device=ae.device) + + result: Optional[Tensor] = None + results: Optional[Tensor] = None + extra_units = torch.zeros(bs, MAX_ENTITY_NUM + 1, device=ae.device) + if selected_units is not None and selected_units_num is not None: # train + bs = selected_units.shape[0] + seq_len = selected_units_num.max() + queries = [] + selected_mask = sequence_mask(selected_units_num) # b, s + if self.test_iou: + iou_ae = ae.detach().clone() + iou_logits_mask = logits_mask.detach().clone() + iou_state = [ + (torch.zeros(ae.shape[0], 32, device=ae.device), torch.zeros(ae.shape[0], 32, device=ae.device)) + for _ in range(self.num_layers) + ] + logits_mask = logits_mask.repeat(max(seq_len, 1), 1, 1) # b, n -> s, b, n + logits_mask[0, torch.arange(bs), entity_num] = 0 # end flag is not available at first selection + selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) + for i in range(max(seq_len, 1)): + if i > 0: + logits_mask[i] = logits_mask[i - 1] + if i == 1: # enable end flag + logits_mask[i, torch.arange(bs), entity_num] = 1 + logits_mask[i, torch.arange(bs), selected_units[:, i - 1]] = 0 # mask selected units + lstm_input = self.query_fc2(self.query_fc1(ae)).unsqueeze(0) + lstm_output, state = self.lstm(lstm_input, state) + queries.append(lstm_output) + reduce_type = self.whole_cfg.model.entity_reduce_type + if reduce_type == 'selected_units_num' or 'attention' in reduce_type: + new_selected_units_one_hot = selected_units_one_hot.clone() # inplace operation can not backward + end_flag[selected_units[:, i] == entity_num] = 1 + new_selected_units_one_hot[torch.arange(bs)[~end_flag], selected_units[:, i][~end_flag], :] = 1 + if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': + selected_units_emebedding = (key_embeddings * new_selected_units_one_hot).sum(dim=1) + S = selected_units_num + selected_units_emebedding[S != 0] = \ + selected_units_emebedding[S != 0] / new_selected_units_one_hot.sum(dim=1)[S != 0] + selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) + ae = autoregressive_embedding + selected_units_emebedding + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + ae = autoregressive_embedding + self.attention_pool( + key_embeddings, mask=new_selected_units_one_hot + ) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + ae = autoregressive_embedding + self.attention_pool( + key_embeddings, + num=new_selected_units_one_hot.sum(dim=1).squeeze(dim=1), + mask=new_selected_units_one_hot, + ) + selected_units_one_hot = new_selected_units_one_hot.clone() + else: + ae = ae + key_embeddings[torch.arange(bs), + selected_units[:, i]] * (i + 1 < selected_units_num).unsqueeze(1) + + queries = torch.cat(queries, dim=0).unsqueeze(dim=2) # s, b, 1, -1 + key = key.unsqueeze(dim=0) # 1, b, n, -1 + query_result = queries * key + logits = query_result.sum(dim=3) # s, b, n + logits = logits.masked_fill(~logits_mask, -1e9) + logits = logits.permute(1, 0, 2).contiguous() + if self.test_iou: + with torch.no_grad(): + selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) + selected_units_num = torch.ones(bs, dtype=torch.long, device=ae.device) * seq_len + key = key.squeeze(dim=0) + for i in range(seq_len): + if i > 0: + if i == 1: # end flag can be selected at second selection + iou_logits_mask[torch.arange(bs), + entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) + if result is not None: + iou_logits_mask[torch.arange(bs), result.detach()] = torch.tensor( + [0], dtype=torch.bool, device=ae.device + ) # mask selected units + lstm_input = self.query_fc2(self.query_fc1(iou_ae)).unsqueeze(0) + lstm_output, iou_state = self.lstm(lstm_input, iou_state) + queries = lstm_output.permute(1, 0, 2) # b, 1, c + query_result = queries * key + step_logits = query_result.sum(dim=2) # b, n + step_logits = step_logits.masked_fill(~iou_logits_mask, -1e9) + step_logits = step_logits.div(1) + result = self._get_pred_with_logit(step_logits) + selected_units_num[(result == entity_num) * ~(end_flag)] = torch.tensor(i + 1).to(result.device) + end_flag[result == entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) + results_list.append(result) + reduce_type = self.whole_cfg.model.entity_reduce_type + if reduce_type == 'selected_units_num' or 'attention' in reduce_type: + selected_units_one_hot[torch.arange(bs)[~end_flag], result[~end_flag], :] = 1 + if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': + selected_units_emebedding = (key_embeddings * selected_units_one_hot + ).sum(dim=1) / selected_units_one_hot.sum(dim=1) + selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) + iou_ae = autoregressive_embedding + selected_units_emebedding + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + iou_ae = autoregressive_embedding + self.attention_pool( + key_embeddings, mask=selected_units_one_hot + ) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + iou_ae = autoregressive_embedding + self.attention_pool( + key_embeddings, + num=selected_units_one_hot.sum(dim=1).squeeze(dim=1), + mask=selected_units_one_hot, + ) + else: + iou_ae = iou_ae + key_embeddings[torch.arange(bs), result] * ~end_flag.unsqueeze(dim=1) + results = torch.stack(results_list, dim=0) + results = results.transpose(1, 0).contiguous() + + else: + selected_units_num = torch.ones(bs, dtype=torch.long, device=ae.device) * self.max_select_num + end_flag[~su_mask] = 1 + selected_units_num[~su_mask] = 0 + selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) + for i in range(self.max_select_num): + if i > 0: + if i == 1: # end flag can be selected at second selection + logits_mask[torch.arange(bs), + entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) + if result is not None: + logits_mask[torch.arange(bs), result.detach()] = torch.tensor( + [0], dtype=torch.bool, device=ae.device + ) # mask selected units + lstm_input = self.query_fc2(self.query_fc1(ae)).unsqueeze(0) + lstm_output, state = self.lstm(lstm_input, state) + queries = lstm_output.permute(1, 0, 2) # b, 1, c + query_result = queries * key + step_logits = query_result.sum(dim=2) # b, n + step_logits = step_logits.masked_fill(~logits_mask, -1e9) + step_logits = step_logits.div(1) + result = self._get_pred_with_logit(step_logits) + selected_units_num[(result == entity_num) * ~(end_flag)] = torch.tensor(i + 1).to(result.device) + end_flag[result == entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) + results_list.append(result) + logits_list.append(step_logits) + reduce_type = self.whole_cfg.model.entity_reduce_type + if reduce_type == 'selected_units_num' or 'attention' in reduce_type: + selected_units_one_hot[torch.arange(bs)[~end_flag], result[~end_flag], :] = 1 + if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': + selected_units_emebedding = (key_embeddings * selected_units_one_hot).sum(dim=1) + slected_num = selected_units_one_hot.sum(dim=1).squeeze(dim=1) + selected_units_emebedding[slected_num != 0] = selected_units_emebedding[ + slected_num != 0] / slected_num[slected_num != 0].unsqueeze(dim=1) + selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) + ae = autoregressive_embedding + selected_units_emebedding + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + ae = autoregressive_embedding + self.attention_pool(key_embeddings, mask=selected_units_one_hot) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + ae = autoregressive_embedding + self.attention_pool( + key_embeddings, + num=selected_units_one_hot.sum(dim=1).squeeze(dim=1), + mask=selected_units_one_hot, + ) + else: + ae = ae + key_embeddings[torch.arange(bs), result] * ~end_flag.unsqueeze(dim=1) + if end_flag.all(): + break + if self.extra_units: + end_flag_logit = step_logits[torch.arange(bs), entity_num] + extra_units = ((step_logits > end_flag_logit.unsqueeze(dim=1)) * ~end_flag.unsqueeze(dim=1)).float() + results = torch.stack(results_list, dim=0) + results = results.transpose(1, 0).contiguous() + logits = torch.stack(logits_list, dim=0) + logits = logits.transpose(1, 0).contiguous() + return logits, results, ae, selected_units_num, extra_units + + def forward( + self, + embedding, + entity_embedding, + entity_num, + selected_units_num: Optional[Tensor] = None, + selected_units: Optional[Tensor] = None, + su_mask: Optional[Tensor] = None + ): + key, mask, key_embeddings = self._get_key_mask(entity_embedding, entity_num) + logits, units, embedding, selected_units_num, extra_units = self._query( + key, entity_num, embedding, mask, key_embeddings, selected_units_num, selected_units, su_mask + ) + return logits, units, embedding, selected_units_num, extra_units + + +class TargetUnitHead(nn.Module): + + def __init__(self, cfg): + super(TargetUnitHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.target_unit_head + self.act = build_activation(self.cfg.activation) + self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) + self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.key_dim, activation=self.act, norm_type=None) + self.query_fc2 = fc_block(self.cfg.key_dim, self.cfg.key_dim, activation=None, norm_type=None) + self.key_dim = self.cfg.key_dim + self.max_entity_num = MAX_ENTITY_NUM + + def forward(self, embedding, entity_embedding, entity_num, target_unit: Optional[torch.Tensor] = None): + key = self.key_fc(entity_embedding) + mask = sequence_mask(entity_num, max_len=entity_embedding.shape[1]) + + query = self.query_fc2(self.query_fc1(embedding)) + + logits = query.unsqueeze(1) * key + logits = logits.sum(dim=2) # b, n, -1 + logits.masked_fill_(~mask, value=-1e9) + + logits.div_(self.whole_cfg.model.temperature) + if target_unit is None: + p = F.softmax(logits, dim=1) + target_unit = torch.multinomial(p, 1)[:, 0] + return logits, target_unit + + +class LocationHead(nn.Module): + + def __init__(self, cfg): + super(LocationHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.location_head + self.act = build_activation(self.cfg.activation) + self.reshape_size = self.cfg.reshape_size + self.reshape_channel = self.cfg.reshape_channel + + self.conv1 = conv2d_block( + self.cfg.map_skip_dim + self.cfg.reshape_channel, + self.cfg.res_dim, + 1, + 1, + 0, + activation=build_activation(self.cfg.activation), + norm_type=None + ) + self.res = nn.ModuleList() + self.res_act = nn.ModuleList() + self.res_dim = self.cfg.res_dim + self.use_film = self.cfg.get('film', False) + self.use_gate = self.cfg.get('gate', False) + self.use_unet = self.cfg.get('unet', False) + self.project_embed = fc_block( + self.cfg.input_dim, + self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8 * 4, + activation=build_activation(self.cfg.activation) + ) + if self.use_film: + self.film_fc = fc_block(self.cfg.input_dim, self.res_dim, activation=build_activation(self.cfg.activation)) + self.film_gamma = nn.ModuleList() + self.film_beta = nn.ModuleList() + self.film = nn.ModuleList() + + self.res = nn.ModuleList() + for i in range(self.cfg.res_num): + if self.use_gate: + self.res.append( + GatedResBlock( + self.res_dim, + self.res_dim, + 3, + 1, + 1, + activation=build_activation(self.cfg.activation), + norm_type=None + ) + ) + else: + self.res.append(ResBlock(self.dim, build_activation(self.cfg.activation), norm_type=None)) + if self.use_film: + self.film_gamma.append(nn.Linear(self.res_dim, self.res_dim)) + self.film_beta.append(nn.Linear(self.res_dim, self.res_dim)) + self.film.append(FiLMedResBlock(self.res_dim, with_cond=[True])) + torch.nn.init.xavier_uniform_(self.film_gamma[i].weight) + torch.nn.init.xavier_uniform_(self.film_beta[i].weight) + + self.upsample = nn.ModuleList() # upsample list + dims = [self.res_dim] + self.cfg.upsample_dims + assert (self.cfg.upsample_type in ['deconv', 'nearest', 'bilinear']) + for i in range(len(self.cfg.upsample_dims)): + if i == len(self.cfg.upsample_dims) - 1: + activation = None + else: + activation = build_activation(self.cfg.activation) + if self.cfg.upsample_type == 'deconv': + self.upsample.append( + deconv2d_block(dims[i], dims[i + 1], 4, 2, 1, activation=activation, norm_type=None) + ) + else: + self.upsample.append(conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=activation, norm_type=None)) + + def forward(self, embedding, map_skip: List[Tensor], location=None): + projected_embedding = self.project_embed(embedding) + reshape_embedding = projected_embedding.reshape( + projected_embedding.shape[0], self.reshape_channel, self.whole_cfg.model.spatial_y // 8, + self.whole_cfg.model.spatial_x // 8 + ) + cat_feature = torch.cat([reshape_embedding, map_skip[-1]], dim=1) + + x1 = self.act(cat_feature) + x = self.conv1(x1) + if self.use_film: + film_embedding = self.film_fc(embedding) + + # reverse cat_feature instead of reversing resblock + for i in range(self.cfg.res_num): + x = x + map_skip[len(map_skip) - i - 1] + if self.use_gate: + x = self.res[i](x, x) + else: + x = self.res[i](x) + if self.use_film: + x = self.film[i](x, gammas=self.film_gamma[i](film_embedding), betas=self.film_beta[i](film_embedding)) + for i, layer in enumerate(self.upsample): + if self.cfg.upsample_type == 'nearest': + x = F.interpolate(x, scale_factor=2., mode='nearest') + elif self.cfg.upsample_type == 'bilinear': + x = F.interpolate(x, scale_factor=2., mode='bilinear') + if self.use_unet: + x = x + map_skip[len(map_skip) - self.cfg.res_num - i - 1] + x = layer(x) + + logits_flatten = x.view(x.shape[0], -1) + logits_flatten.div_(self.whole_cfg.model.temperature) + p = F.softmax(logits_flatten, dim=1) + if location is None: + location = torch.multinomial(p, 1)[:, 0] + return logits_flatten, location diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py new file mode 100644 index 0000000000..98eaa250e1 --- /dev/null +++ b/dizoo/distar/model/head/action_type_head.py @@ -0,0 +1,71 @@ +''' +Copyright 2020 Sensetime X-lab. All Rights Reserved + +Main Function: + 1. Implementation for action_type_head, including basic processes. +''' +from typing import Optional, List, Tuple +from torch import Tensor +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.torch_utils import ResFCBlock, fc_block, build_activation +from dizoo.distar.envs import ACTION_RACE_MASK + + +class ActionTypeHead(nn.Module): + __constants__ = ['mask_action'] + + def __init__(self, cfg): + super(ActionTypeHead, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.policy.head.action_type_head + self.act = build_activation(self.cfg.activation) # use relu as default + self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim, activation=self.act, norm_type=None) + # self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim) + blocks = [ResFCBlock(self.cfg.res_dim, self.act, self.cfg.norm_type) for _ in range(self.cfg.res_num)] + self.res = nn.Sequential(*blocks) + self.weight_norm = self.cfg.get('weight_norm', False) + self.drop_Z = torch.nn.Dropout(p=self.cfg.get('drop_ratio', 0.0)) + self.drop_ratio = self.cfg.get('drop_ratio', 0.0) + self.action_fc = build_activation('glu')(self.cfg.res_dim, self.cfg.action_num, self.cfg.context_dim) + + self.action_map_fc1 = fc_block( + self.cfg.action_num, self.cfg.action_map_dim, activation=self.act, norm_type=None + ) + self.action_map_fc2 = fc_block( + self.cfg.action_map_dim, self.cfg.action_map_dim, activation=None, norm_type=None + ) + self.glu1 = build_activation('glu')(self.cfg.action_map_dim, self.cfg.gate_dim, self.cfg.context_dim) + self.glu2 = build_activation('glu')(self.cfg.input_dim, self.cfg.gate_dim, self.cfg.context_dim) + self.action_num = self.cfg.action_num + if self.whole_cfg.common.type == 'play': + self.use_mask = True + else: + self.use_mask = False + self.race = 'zerg' + + def forward(self, + lstm_output, + scalar_context, + action_type: Optional[torch.Tensor] = None) -> Tuple[Tensor, Tensor, Tensor]: + x = self.project(lstm_output) + x = self.res(x) + x = self.action_fc(x, scalar_context) + x.div_(self.whole_cfg.model.temperature) + if self.use_mask: + mask = ACTION_RACE_MASK[self.race].to(x.device) + x = x.masked_fill(~mask.unsqueeze(dim=0), -1e9) + if action_type is None: + p = F.softmax(x, dim=1) + action_type = torch.multinomial(p, 1)[:, 0] + + # one-hot version of action_type + action_one_hot = torch.nn.functional.one_hot(action_type.long(), self.action_num).float() + embedding1 = self.action_map_fc1(action_one_hot) + embedding1 = self.action_map_fc2(embedding1) + embedding1 = self.glu1(embedding1, scalar_context) + embedding2 = self.glu2(lstm_output, scalar_context) + embedding = embedding1 + embedding2 + + return x, action_type, embedding diff --git a/dizoo/distar/model/lstm.py b/dizoo/distar/model/lstm.py new file mode 100644 index 0000000000..8671a8ff05 --- /dev/null +++ b/dizoo/distar/model/lstm.py @@ -0,0 +1,321 @@ +from collections import namedtuple +from typing import List, Tuple +from torch import Tensor +from torch.nn import Parameter +import warnings +import numbers +import torch +import torch.nn as nn +import torch.jit as jit +warnings.filterwarnings( + "ignore", + message=r"'layers' was found in ScriptModule constants, but it is a non-constant submodule. Consider removing it." +) + + +def script_lstm(input_size, hidden_size, num_layers, dropout=False, bidirectional=False): + '''Returns a ScriptModule that mimics a PyTorch native LSTM.''' + + if bidirectional: + stack_type = StackedLSTM2 + layer_type = BidirLSTMLayer + dirs = 2 + elif dropout: + stack_type = StackedLSTMWithDropout + layer_type = LSTMLayer + dirs = 1 + else: + stack_type = StackedLSTM + layer_type = LSTMLayer + dirs = 1 + + return stack_type( + num_layers, + layer_type, + first_layer_args=[LSTMCell, input_size, hidden_size], + other_layer_args=[LSTMCell, hidden_size * dirs, hidden_size] + ) + + +def script_lnlstm( + input_size, + hidden_size, + num_layers, + bias=True, + batch_first=False, + dropout=False, + bidirectional=False, + decompose_layernorm=False +): + '''Returns a ScriptModule that mimics a PyTorch native LSTM.''' + + # The following are not implemented. + assert bias + assert not batch_first + assert not dropout + + if bidirectional: + stack_type = StackedLSTM2 + layer_type = BidirLSTMLayer + dirs = 2 + else: + stack_type = StackedLSTM + layer_type = LSTMLayer + dirs = 1 + + return stack_type( + num_layers, + layer_type, + first_layer_args=[LayerNormLSTMCell, input_size, hidden_size, decompose_layernorm], + other_layer_args=[LayerNormLSTMCell, hidden_size * dirs, hidden_size, decompose_layernorm] + ) + + +LSTMState = namedtuple('LSTMState', ['hx', 'cx']) + + +def reverse(lst: List[Tensor]) -> List[Tensor]: + return lst[::-1] + + +class LSTMCell(nn.Module): + + def __init__(self, input_size, hidden_size): + super(LSTMCell, self).__init__() + self.input_size = input_size + self.hidden_size = hidden_size + self.weight_ih = Parameter(torch.randn(4 * hidden_size, input_size)) + self.weight_hh = Parameter(torch.randn(4 * hidden_size, hidden_size)) + self.bias_ih = Parameter(torch.randn(4 * hidden_size)) + self.bias_hh = Parameter(torch.randn(4 * hidden_size)) + + def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, Tuple[Tensor, Tensor]]: + hx, cx = state + gates = (torch.mm(input, self.weight_ih.t()) + self.bias_ih + torch.mm(hx, self.weight_hh.t()) + self.bias_hh) + ingate, forgetgate, cellgate, outgate = gates.chunk(4, 1) + + ingate = torch.sigmoid(ingate) + forgetgate = torch.sigmoid(forgetgate) + cellgate = torch.tanh(cellgate) + outgate = torch.sigmoid(outgate) + + cy = (forgetgate * cx) + (ingate * cellgate) + hy = outgate * torch.tanh(cy) + + return hy, (hy, cy) + + +class LayerNorm(nn.Module): + + def __init__(self, normalized_shape): + super(LayerNorm, self).__init__() + if isinstance(normalized_shape, numbers.Integral): + normalized_shape = (normalized_shape, ) + normalized_shape = torch.Size(normalized_shape) + + # XXX: This is true for our LSTM / NLP use case and helps simplify code + assert len(normalized_shape) == 1 + + self.weight = Parameter(torch.ones(normalized_shape)) + self.bias = Parameter(torch.zeros(normalized_shape)) + self.normalized_shape = normalized_shape + + def compute_layernorm_stats(self, input): + mu = input.mean(-1, keepdim=True) + sigma = input.std(-1, keepdim=True, unbiased=False) + return mu, sigma + + def forward(self, input): + mu, sigma = self.compute_layernorm_stats(input) + return (input - mu) / sigma * self.weight + self.bias + + +class LayerNormLSTMCell(nn.Module): + + def __init__(self, input_size, hidden_size, decompose_layernorm=False): + super(LayerNormLSTMCell, self).__init__() + self.input_size = input_size + self.hidden_size = hidden_size + self.weight_ih = Parameter(torch.randn(4 * hidden_size, input_size)) + self.weight_hh = Parameter(torch.randn(4 * hidden_size, hidden_size)) + # The layernorms provide learnable biases + + if decompose_layernorm: + ln = LayerNorm + else: + ln = nn.LayerNorm + + self.layernorm_i = ln(4 * hidden_size) + self.layernorm_h = ln(4 * hidden_size) + self.layernorm_c = ln(hidden_size) + + def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, Tuple[Tensor, Tensor]]: + hx, cx = state + igates = self.layernorm_i(torch.mm(input, self.weight_ih.t())) + hgates = self.layernorm_h(torch.mm(hx, self.weight_hh.t())) + gates = igates + hgates + ingate, forgetgate, cellgate, outgate = gates.chunk(4, 1) + + ingate = torch.sigmoid(ingate) + forgetgate = torch.sigmoid(forgetgate) + cellgate = torch.tanh(cellgate) + outgate = torch.sigmoid(outgate) + + cy = self.layernorm_c((forgetgate * cx) + (ingate * cellgate)) + hy = outgate * torch.tanh(cy) + + return hy, (hy, cy) + + +class LSTMLayer(nn.Module): + + def __init__(self, cell, *cell_args): + super(LSTMLayer, self).__init__() + self.cell = cell(*cell_args) + + def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, Tuple[Tensor, Tensor]]: + inputs = input.unbind(0) + outputs = torch.jit.annotate(List[Tensor], []) + for i in range(len(inputs)): + out, state = self.cell(inputs[i], state) + outputs += [out] + return torch.stack(outputs), state + + +class ReverseLSTMLayer(nn.Module): + + def __init__(self, cell, *cell_args): + super(ReverseLSTMLayer, self).__init__() + self.cell = cell(*cell_args) + + def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, Tuple[Tensor, Tensor]]: + inputs = reverse(input.unbind(0)) + outputs = jit.annotate(List[Tensor], []) + for i in range(len(inputs)): + out, state = self.cell(inputs[i], state) + outputs += [out] + return torch.stack(reverse(outputs)), state + + +class BidirLSTMLayer(nn.Module): + __constants__ = ['directions'] + + def __init__(self, cell, *cell_args): + super(BidirLSTMLayer, self).__init__() + self.directions = nn.ModuleList([ + LSTMLayer(cell, *cell_args), + ReverseLSTMLayer(cell, *cell_args), + ]) + + def forward(self, input: Tensor, states: List[Tuple[Tensor, Tensor]]) -> Tuple[Tensor, List[Tuple[Tensor, Tensor]]]: + # List[LSTMState]: [forward LSTMState, backward LSTMState] + outputs = jit.annotate(List[Tensor], []) + output_states = jit.annotate(List[Tuple[Tensor, Tensor]], []) + # XXX: enumerate https://github.com/pytorch/pytorch/issues/14471 + i = 0 + for direction in self.directions: + state = states[i] + out, out_state = direction(input, state) + outputs += [out] + output_states += [out_state] + i += 1 + return torch.cat(outputs, -1), output_states + + +def init_stacked_lstm(num_layers, layer, first_layer_args, other_layer_args): + layers = [layer(*first_layer_args)] + [layer(*other_layer_args) for _ in range(num_layers - 1)] + return nn.ModuleList(layers) + + +class StackedLSTM(nn.Module): + __constants__ = ['layers'] # Necessary for iterating through self.layers + + def __init__(self, num_layers, layer, first_layer_args, other_layer_args): + super(StackedLSTM, self).__init__() + self.layers = init_stacked_lstm(num_layers, layer, first_layer_args, other_layer_args) + + def forward(self, input: Tensor, states: List[Tuple[Tensor, Tensor]]) -> Tuple[Tensor, List[Tuple[Tensor, Tensor]]]: + # List[LSTMState]: One state per layer + output_states = jit.annotate(List[Tuple[Tensor, Tensor]], []) + output = input + # XXX: enumerate https://github.com/pytorch/pytorch/issues/14471 + i = 0 + for rnn_layer in self.layers: + state = states[i] + output, out_state = rnn_layer(output, state) + output_states += [out_state] + i += 1 + return output, output_states + + +# Differs from StackedLSTM in that its forward method takes +# List[List[Tuple[Tensor,Tensor]]]. It would be nice to subclass StackedLSTM +# except we don't support overriding script methods. +# https://github.com/pytorch/pytorch/issues/10733 +class StackedLSTM2(nn.Module): + __constants__ = ['layers'] # Necessary for iterating through self.layers + + def __init__(self, num_layers, layer, first_layer_args, other_layer_args): + super(StackedLSTM2, self).__init__() + self.layers = init_stacked_lstm(num_layers, layer, first_layer_args, other_layer_args) + + def forward(self, input: Tensor, + states: List[List[Tuple[Tensor, Tensor]]]) -> Tuple[Tensor, List[List[Tuple[Tensor, Tensor]]]]: + # List[List[LSTMState]]: The outer list is for layers, + # inner list is for directions. + output_states = jit.annotate(List[List[Tuple[Tensor, Tensor]]], []) + output = input + # XXX: enumerate https://github.com/pytorch/pytorch/issues/14471 + i = 0 + for rnn_layer in self.layers: + state = states[i] + output, out_state = rnn_layer(output, state) + output_states += [out_state] + i += 1 + return output, output_states + + +class StackedLSTMWithDropout(nn.Module): + # Necessary for iterating through self.layers and dropout support + __constants__ = ['layers', 'num_layers'] + + def __init__(self, num_layers, layer, first_layer_args, other_layer_args): + super(StackedLSTMWithDropout, self).__init__() + self.layers = init_stacked_lstm(num_layers, layer, first_layer_args, other_layer_args) + # Introduces a Dropout layer on the outputs of each LSTM layer except + # the last layer, with dropout probability = 0.4. + self.num_layers = num_layers + + if (num_layers == 1): + warnings.warn( + "dropout lstm adds dropout layers after all but last " + "recurrent layer, it expects num_layers greater than " + "1, but got num_layers = 1" + ) + + self.dropout_layer = nn.Dropout(0.4) + + def forward(self, input: Tensor, states: List[Tuple[Tensor, Tensor]]) -> Tuple[Tensor, List[Tuple[Tensor, Tensor]]]: + # List[LSTMState]: One state per layer + output_states = jit.annotate(List[Tuple[Tensor, Tensor]], []) + output = input + # XXX: enumerate https://github.com/pytorch/pytorch/issues/14471 + i = 0 + for rnn_layer in self.layers: + state = states[i] + output, out_state = rnn_layer(output, state) + # Apply the dropout layer except the last layer + if i < self.num_layers - 1: + output = self.dropout_layer(output) + output_states += [out_state] + i += 1 + return output, output_states + + +def test_script_stacked_lnlstm(seq_len, batch, input_size, hidden_size, num_layers): + inp = torch.randn(seq_len, batch, input_size) + states = [LSTMState(torch.randn(batch, hidden_size), torch.randn(batch, hidden_size)) for _ in range(num_layers)] + rnn = script_lnlstm(input_size, hidden_size, num_layers) + + # just a smoke test + out, out_state = rnn(inp, states) diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py new file mode 100644 index 0000000000..74ef6a208b --- /dev/null +++ b/dizoo/distar/model/model.py @@ -0,0 +1,189 @@ +from collections import OrderedDict +from typing import Dict, Tuple, List +from torch import Tensor + +import os.path as osp +import torch +import torch.nn as nn + +from ding.utils import read_yaml_config, deep_merge_dicts, default_collate +from ding.torch_utils import detach_grad +from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM +from .encoder import Encoder +from .obs_encoder.value_encoder import ValueEncoder +from .lstm import script_lnlstm +from .policy import Policy +from .value import ValueBaseline + +alphastar_model_default_config = read_yaml_config(osp.join(osp.dirname(__file__), "actor_critic_default_config.yaml")) + + +class Model(nn.Module): + + def __init__(self, cfg={}, use_value_network=False, temperature=None): + super(Model, self).__init__() + self.whole_cfg = deep_merge_dicts(alphastar_model_default_config, cfg) + if temperature is not None: + self.whole_cfg.model.temperature = temperature + self.cfg = self.whole_cfg.model + self.encoder = Encoder(self.whole_cfg) + self.policy = Policy(self.whole_cfg) + self._use_value_feature = self.whole_cfg.learner.get('use_value_feature', False) + if use_value_network: + if self._use_value_feature: + self.value_encoder = ValueEncoder(self.whole_cfg) + self.value_networks = nn.ModuleDict() + for k, v in self.cfg.value.items(): + if k in self.cfg.enable_baselines: + # creating a ValueBaseline network for each baseline, to be used in _critic_forward + self.value_networks[v.name] = ValueBaseline(v.param, self._use_value_feature) + # name of needed cumulative stat items + self.only_update_baseline = self.cfg.get('only_update_baseline', False) + self.core_lstm = script_lnlstm( + self.cfg.encoder.core_lstm.input_size, self.cfg.encoder.core_lstm.hidden_size, + self.cfg.encoder.core_lstm.num_layers + ) + + def forward( + self, + spatial_info: Tensor, + entity_info: Dict[str, Tensor], + scalar_info: Dict[str, Tensor], + entity_num: Tensor, + hidden_state: List[Tuple[Tensor, Tensor]], + ): + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ + self.encoder(spatial_info, entity_info, scalar_info, entity_num) + lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) + action_info, selected_units_num, logit, extra_units = self.policy( + lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num + ) + return action_info, selected_units_num, out_state + + def compute_logp_action( + self, spatial_info: Tensor, entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], entity_num: Tensor, + hidden_state: List[Tuple[Tensor, Tensor]], **kwargs + ): + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ + self.encoder(spatial_info, entity_info, scalar_info, entity_num) + lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) + action_info, selected_units_num, logit, extra_units = self.policy( + lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num + ) + log_action_probs = {} + for k, action in action_info.items(): + dist = torch.distributions.Categorical(logits=logit[k]) + action_log_probs = dist.log_prob(action) + log_action_probs[k] = action_log_probs + return { + 'action_info': action_info, + 'action_logp': log_action_probs, + 'selected_units_num': selected_units_num, + 'entity_num': entity_num, + 'hidden_state': out_state, + 'logit': logit, + 'extra_units': extra_units + } + + def compute_teacher_logit( + self, spatial_info: Tensor, entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], entity_num: Tensor, + hidden_state: List[Tuple[Tensor, Tensor]], selected_units_num, action_info: Dict[str, Tensor], **kwargs + ): + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ + self.encoder(spatial_info, entity_info, scalar_info, entity_num) + lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) + action_info, selected_units_num, logit = self.policy.train_forward( + lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num, action_info, + selected_units_num + ) + return { + 'logit': logit, + 'hidden_state': out_state, + 'entity_num': entity_num, + 'selected_units_num': selected_units_num + } + + def rl_learner_forward( + self, spatial_info, entity_info, scalar_info, entity_num, hidden_state, action_info, selected_units_num, + behaviour_logp, teacher_logit, mask, reward, step, batch_size, unroll_len, **kwargs + ): + flat_action_info = {} + for k, val in action_info.items(): + flat_action_info[k] = torch.flatten(val, start_dim=0, end_dim=1) + flat_selected_units_num = torch.flatten(selected_units_num, start_dim=0, end_dim=1) + + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ + self.encoder(spatial_info, entity_info, scalar_info, entity_num) + hidden_size = hidden_state[0][0].shape[-1] + + hidden_state = [ + [hidden_state[i][j].view(-1, batch_size, hidden_size)[0, :, :] for j in range(len(hidden_state[i]))] + for i in range(len(hidden_state)) + ] + lstm_output, out_state = self.core_lstm(lstm_input.view(-1, batch_size, lstm_input.shape[-1]), hidden_state) + lstm_output = lstm_output.view(-1, lstm_output.shape[-1]) + + policy_lstm_input = lstm_output.squeeze(dim=0)[:-batch_size] + policy_entity_embeddings = entity_embeddings[:-batch_size] + policy_map_skip = [map[:-batch_size] for map in map_skip] + policy_scalar_context = scalar_context[:-batch_size] + policy_entity_num = entity_num[:-batch_size] + _, _, logits = self.policy.train_forward( + policy_lstm_input, policy_entity_embeddings, policy_map_skip, policy_scalar_context, policy_entity_num, + flat_action_info, flat_selected_units_num + ) + + # logits['selected_units'] = logits['selected_units'].mean(dim=1) + critic_input = lstm_output.squeeze(0) + # add state info + if self.only_update_baseline: + critic_input = detach_grad(critic_input) + baseline_feature = detach_grad(baseline_feature) + if self._use_value_feature: + value_feature = kwargs['value_feature'] + value_feature = self.value_encoder(value_feature) + critic_input = torch.cat([critic_input, value_feature, baseline_feature], dim=1) + baseline_values = {} + for k, v in self.value_networks.items(): + baseline_values[k] = v(critic_input) + for k, val in logits.items(): + logits[k] = val.view(unroll_len, batch_size, *val.shape[1:]) + for k, val in baseline_values.items(): + baseline_values[k] = val.view(unroll_len + 1, batch_size) + outputs = {} + outputs['unroll_len'] = unroll_len + outputs['batch_size'] = batch_size + outputs['selected_units_num'] = selected_units_num + logits['selected_units'] = torch.nn.functional.pad( + logits['selected_units'], ( + 0, + 0, + 0, + MAX_SELECTED_UNITS_NUM - logits['selected_units'].shape[2], + ), 'constant', -1e9 + ) + outputs['target_logit'] = logits + outputs['value'] = baseline_values + outputs['action_log_prob'] = behaviour_logp + outputs['teacher_logit'] = teacher_logit + outputs['mask'] = mask + outputs['action'] = action_info + outputs['reward'] = reward + outputs['step'] = step + + return outputs + + def sl_train( + self, spatial_info, entity_info, scalar_info, entity_num, selected_units_num, traj_lens, hidden_state, + action_info, **kwargs + ): + batch_size = len(traj_lens) + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ + self.encoder(spatial_info, entity_info, scalar_info, entity_num) + lstm_input = lstm_input.view(-1, lstm_input.shape[0] // batch_size, lstm_input.shape[-1]).permute(1, 0, 2) + lstm_output, out_state = self.core_lstm(lstm_input, hidden_state) + lstm_output = lstm_output.permute(1, 0, 2).contiguous().view(-1, lstm_output.shape[-1]) + action_info, selected_units_num, logits = self.policy.train_forward( + lstm_output, entity_embeddings, map_skip, scalar_context, entity_num, action_info, selected_units_num + ) + return logits, action_info, out_state diff --git a/dizoo/distar/model/module_utils.py b/dizoo/distar/model/module_utils.py new file mode 100644 index 0000000000..d28d311dfd --- /dev/null +++ b/dizoo/distar/model/module_utils.py @@ -0,0 +1,570 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import math +from torch.nn.init import kaiming_normal_, kaiming_uniform_ +from distar.ctools.torch_utils import conv2d_block, sequence_mask, fc_block, build_normalization +from typing import Optional, Dict, Tuple +from torch import Tensor + + +def scatter_connection(shape, project_embeddings, entity_location, scatter_dim, scatter_type='add'): + B, H, W = shape + device = entity_location.device + entity_num = entity_location.shape[1] + index = entity_location.view(-1, 2).long() + bias = torch.arange(B).unsqueeze(1).repeat(1, entity_num).view(-1).to(device) + bias *= H * W + index[:, 0].clamp_(0, W - 1) + index[:, 1].clamp_(0, H - 1) + index = index[:, 1] * W + index[:, 0] # entity_location: (x, y), spatial_info: (y, x) + index += bias + index = index.repeat(scatter_dim, 1) + # flat scatter map and project embeddings + scatter_map = torch.zeros(scatter_dim, B * H * W, device=device) + project_embeddings = project_embeddings.view(-1, scatter_dim).permute(1, 0) + if scatter_type == 'cover': + scatter_map.scatter_(dim=1, index=index, src=project_embeddings) + elif scatter_type == 'add': + scatter_map.scatter_add_(dim=1, index=index, src=project_embeddings) + else: + raise NotImplementedError + scatter_map = scatter_map.reshape(scatter_dim, B, H, W) + scatter_map = scatter_map.permute(1, 0, 2, 3) + return scatter_map + + +class AttentionPool(nn.Module): + + def __init__(self, key_dim, head_num, output_dim, max_num=None): + super(AttentionPool, self).__init__() + self.queries = torch.nn.Parameter(torch.zeros(1, 1, head_num, key_dim)) + torch.nn.init.xavier_uniform_(self.queries) + self.head_num = head_num + self.add_num = False + if max_num is not None: + self.add_num = True + self.num_ebed = torch.nn.Embedding(num_embeddings=max_num, embedding_dim=output_dim) + self.embed_fc = fc_block(key_dim * self.head_num, output_dim) + + def forward(self, x, num=None, mask=None): + assert len(x.shape) == 3 # batch size, tokens, channels + x_with_head = x.unsqueeze(dim=2) # add head dim + score = x_with_head * self.queries + score = score.sum(dim=3) # b, t, h + if mask is not None: + assert len(mask.shape) == 3 and mask.shape[-1] == 1 + mask = mask.repeat(1, 1, self.head_num) + score.masked_fill_(~mask.bool(), value=-1e9) + score = F.softmax(score, dim=1) + x = x.unsqueeze(dim=3).repeat(1, 1, 1, self.head_num) # b, t, c, h + score = score.unsqueeze(dim=2) # b, t, 1, h + x = x * score + x = x.sum(dim=1) # b, c, h + x = x.view(x.shape[0], -1) # b, c * h + x = self.embed_fc(x) # b, c + if self.add_num: + x = x + F.relu(self.num_ebed(num.long())) + x = F.relu(x) + return x + + +class Attention(nn.Module): + + def __init__(self, input_dim, head_dim, output_dim, head_num, dropout): + super(Attention, self).__init__() + self.head_num = head_num + self.head_dim = head_dim + self.dropout = dropout + self.attention_pre = fc_block(input_dim, head_dim * head_num * 3) # query, key, value + self.project = fc_block(head_dim * head_num, output_dim) + + def split(self, x, T: bool = False): + B, N = x.shape[:2] + x = x.view(B, N, self.head_num, self.head_dim) + x = x.permute(0, 2, 1, 3).contiguous() # B, head_num, N, head_dim + if T: + x = x.permute(0, 1, 3, 2).contiguous() + return x + + def forward(self, x, mask: Optional[torch.Tensor] = None): + """ + Overview: + x: [batch_size, seq_len, embeddding_size] + """ + assert (len(x.shape) == 3) + B, N = x.shape[:2] + x = self.attention_pre(x) + query, key, value = torch.chunk(x, 3, dim=2) + query, key, value = self.split(query), self.split(key, T=True), self.split(value) + + score = torch.matmul(query, key) # B, head_num, N, N + score /= math.sqrt(self.head_dim) + if mask is not None: + score.masked_fill_(~mask, value=-1e9) + + score = F.softmax(score, dim=-1) + if self.dropout: + score = self.dropout(score) + attention = torch.matmul(score, value) # B, head_num, N, head_dim + + attention = attention.permute(0, 2, 1, 3).contiguous() # B, N, head_num, head_dim + attention = self.project(attention.view(B, N, -1)) # B, N, output_dim + return attention + + +class TransformerLayer(nn.Module): + + def __init__(self, input_dim, head_dim, hidden_dim, output_dim, head_num, mlp_num, dropout, activation, ln_type): + super(TransformerLayer, self).__init__() + self.attention = Attention(input_dim, head_dim, output_dim, head_num, dropout) + self.layernorm1 = build_normalization('LN')(output_dim) + self.dropout = dropout + layers = [] + dims = [output_dim] + [hidden_dim] * (mlp_num - 1) + [output_dim] + for i in range(mlp_num): + layers.append(fc_block(dims[i], dims[i + 1], activation=activation)) + if self.dropout: + layers.append(self.dropout) + self.mlp = nn.Sequential(*layers) + self.layernorm2 = build_normalization('LN')(output_dim) + self.ln_type = ln_type + + def forward(self, x, mask: Optional[torch.Tensor] = None): + if self.ln_type == 'post': + a = self.attention(x, mask) + if self.dropout: + a = self.dropout(a) + x = self.layernorm1(x + a) + m = self.mlp(x) + if self.dropout: + m = self.dropout(m) + x = self.layernorm2(x + m) + elif self.ln_type == 'pre': + a = self.attention(self.layernorm1(x), mask) + if self.dropout: + a = self.dropout(a) + x = x + a + m = self.mlp(self.layernorm2(x)) + if self.dropout: + m = self.dropout(m) + x = x + m + else: + raise NotImplementedError(self.ln_type) + return x, mask + + +class Transformer(nn.Module): + ''' + Note: + Input has passed through embedding + ''' + + def __init__( + self, + input_dim, + head_dim=128, + hidden_dim=1024, + output_dim=256, + head_num=2, + mlp_num=2, + layer_num=3, + pad_val=0, + dropout_ratio=0.0, + activation=nn.ReLU(), + ln_type='pre' + ): + super(Transformer, self).__init__() + self.embedding = fc_block(input_dim, output_dim, activation=activation) + self.pad_val = pad_val + self.act = activation + layers = [] + dims = [output_dim] + [output_dim] * layer_num + if dropout_ratio > 0: + self.dropout = nn.Dropout(dropout_ratio) + else: + self.dropout = None + for i in range(layer_num): + layers.append( + TransformerLayer( + dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act, ln_type + ) + ) + self.layers = nn.ModuleList(layers) + + def forward(self, x, mask: Optional[torch.Tensor] = None): + if mask is not None: + mask = mask.unsqueeze(dim=1).repeat(1, mask.shape[1], 1).unsqueeze(dim=1) + x = self.embedding(x) + if self.dropout: + x = self.dropout(x) + for m in self.layers: + x, mask = m(x, mask) + return x + + +class GatedResBlock(nn.Module): + ''' + Gated Residual Block with conv2d_block by songgl at 2020.10.23 + ''' + + def __init__(self, in_channels, out_channels, kernel_size, stride, padding, activation=nn.ReLU(), norm_type='BN'): + super(GatedResBlock, self).__init__() + assert (stride == 1) + assert (in_channels == out_channels) + self.act = activation + self.conv1 = conv2d_block(in_channels, out_channels, 3, 1, 1, activation=self.act, norm_type=norm_type) + self.conv2 = conv2d_block(out_channels, out_channels, 3, 1, 1, activation=None, norm_type=norm_type) + self.GateWeightG = nn.Sequential( + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=None, norm_type=None) + ) + self.UpdateSP = nn.Parameter(torch.zeros(1)) + nn.init.constant_(self.UpdateSP, 0.1) + + def forward(self, x, NoiseMap): + residual = x + x = self.conv1(x) + x = self.conv2(x) + x = torch.tanh(x * torch.sigmoid(self.GateWeightG(NoiseMap))) * self.UpdateSP + x = self.act(x + residual) + #x = x + residual + return x + + +class FiLM(nn.Module): + """ + A Feature-wise Linear Modulation Layer from + 'FiLM: Visual Reasoning with a General Conditioning Layer' + """ + + def forward(self, x, gammas, betas): + gammas = gammas.unsqueeze(2).unsqueeze(3).expand_as(x) + betas = betas.unsqueeze(2).unsqueeze(3).expand_as(x) + return (gammas * x) + betas + + +class FiLMedResBlock(nn.Module): + + def __init__( + self, + in_dim, + out_dim=None, + with_residual=True, + with_batchnorm=False, + with_cond=[False], + dropout=0, + num_extra_channels=0, + extra_channel_freq=1, + with_input_proj=3, + num_cond_maps=0, + kernel_size=3, + batchnorm_affine=False, + num_layers=1, + condition_method='conv-film', + debug_every=float('inf') + ): + if out_dim is None: + out_dim = in_dim + super(FiLMedResBlock, self).__init__() + self.with_residual = with_residual + self.with_batchnorm = with_batchnorm + self.with_cond = with_cond + self.dropout = dropout + self.extra_channel_freq = 0 if num_extra_channels == 0 else extra_channel_freq + self.with_input_proj = with_input_proj # Kernel size of input projection + self.num_cond_maps = num_cond_maps + self.kernel_size = kernel_size + self.batchnorm_affine = batchnorm_affine + self.num_layers = num_layers + self.condition_method = condition_method + self.debug_every = debug_every + self.film = None + self.bn1 = None + self.drop = None + + if self.with_input_proj % 2 == 0: + raise (NotImplementedError) + if self.kernel_size % 2 == 0: + raise (NotImplementedError) + if self.num_layers >= 2: + raise (NotImplementedError) + + if self.condition_method == 'block-input-film' and self.with_cond[0]: + self.film = FiLM() + if self.with_input_proj: + self.input_proj = nn.Conv2d( + in_dim + (num_extra_channels if self.extra_channel_freq >= 1 else 0), + in_dim, + kernel_size=self.with_input_proj, + padding=self.with_input_proj // 2 + ) + + self.conv1 = nn.Conv2d( + in_dim + self.num_cond_maps + (num_extra_channels if self.extra_channel_freq >= 2 else 0), + out_dim, + kernel_size=self.kernel_size, + padding=self.kernel_size // 2 + ) + if self.condition_method == 'conv-film' and self.with_cond[0]: + self.film = FiLM() + if self.with_batchnorm: + self.bn1 = nn.BatchNorm2d(out_dim, affine=((not self.with_cond[0]) or self.batchnorm_affine)) + if self.condition_method == 'bn-film' and self.with_cond[0]: + self.film = FiLM() + if dropout > 0: + self.drop = nn.Dropout2d(p=self.dropout) + if ((self.condition_method == 'relu-film' or self.condition_method == 'block-output-film') + and self.with_cond[0]): + self.film = FiLM() + + self.init_modules(self.modules()) + + def init_modules(self, modules, init='normal'): + if init.lower() == 'normal': + init_params = kaiming_normal_ + elif init.lower() == 'uniform': + init_params = kaiming_uniform_ + else: + return + for m in modules: + if isinstance(m, (nn.Conv2d, nn.Linear)): + init_params(m.weight) + + def forward( + self, + x, + gammas: Optional[torch.Tensor] = None, + betas: Optional[torch.Tensor] = None, + extra_channels: Optional[torch.Tensor] = None, + cond_maps: Optional[torch.Tensor] = None + ): + + if self.film is not None: + if self.condition_method == 'block-input-film' and self.with_cond[0]: + x = self.film(x, gammas, betas) + + # ResBlock input projection + if self.with_input_proj: + if extra_channels is not None and self.extra_channel_freq >= 1: + x = torch.cat([x, extra_channels], 1) + x = F.relu(self.input_proj(x)) + out = x + + # ResBlock body + if cond_maps is not None: + out = torch.cat([out, cond_maps], 1) + if extra_channels is not None and self.extra_channel_freq >= 2: + out = torch.cat([out, extra_channels], 1) + out = self.conv1(out) + if self.film is not None: + if self.condition_method == 'conv-film' and self.with_cond[0]: + out = self.film(out, gammas, betas) + if self.bn1 is not None: + if self.with_batchnorm: + out = self.bn1(out) + if self.film is not None: + if self.condition_method == 'bn-film' and self.with_cond[0]: + out = self.film(out, gammas, betas) + if self.drop is not None: + if self.dropout > 0: + out = self.drop(out) + # out = F.relu(out) + if self.film is not None: + if self.condition_method == 'relu-film' and self.with_cond[0]: + out = self.film(out, gammas, betas) + + # ResBlock remainder + if self.with_residual: + out = F.relu(x + out) + if self.film is not None: + if self.condition_method == 'block-output-film' and self.with_cond[0]: + out = self.film(out, gammas, betas) + return out + + +class LSTMForwardWrapper(object): + + def _before_forward(self, inputs, prev_state): + assert hasattr(self, 'num_layers') + assert hasattr(self, 'hidden_size') + seq_len, batch_size = inputs.shape[:2] + if prev_state is None: + num_directions = 1 + zeros = torch.zeros( + num_directions * self.num_layers, + batch_size, + self.hidden_size, + dtype=inputs.dtype, + device=inputs.device + ) + prev_state = (zeros, zeros) + elif isinstance(prev_state, list) and len(prev_state) == 2 and isinstance(prev_state[0], torch.Tensor): + pass + elif isinstance(prev_state, list) and len(prev_state) == batch_size: + num_directions = 1 + zeros = torch.zeros( + num_directions * self.num_layers, 1, self.hidden_size, dtype=inputs.dtype, device=inputs.device + ) + state = [] + for prev in prev_state: + if prev is None: + state.append([zeros, zeros]) + else: + state.append(prev) + state = list(zip(*state)) + prev_state = [torch.cat(t, dim=1) for t in state] + return prev_state + + def _after_forward(self, next_state, list_next_state: bool = False): + if list_next_state: + h, c = [torch.stack(t, dim=0) for t in zip(*next_state)] + batch_size = h.shape[1] + next_state = [torch.chunk(h, batch_size, dim=1), torch.chunk(c, batch_size, dim=1)] + next_state = list(zip(*next_state)) + else: + next_state = [torch.stack(t, dim=0) for t in zip(*next_state)] + return next_state + + +class LSTM(nn.Module): + + def __init__(self, input_size, hidden_size, num_layers, norm_type=None, bias=True, dropout=0.): + super(LSTM, self).__init__() + self.input_size = input_size + self.hidden_size = hidden_size + self.num_layers = num_layers + + norm_func = build_normalization(norm_type) + #self.norm = nn.ModuleList([norm_func(hidden_size) for _ in range(4 * num_layers)]) + self.norm_A = nn.ModuleList([norm_func(hidden_size * 4) for _ in range(2 * num_layers)]) + self.norm_B = nn.ModuleList([norm_func(hidden_size) for _ in range(1 * num_layers)]) + self.wx = nn.ParameterList() + self.wh = nn.ParameterList() + dims = [input_size] + [hidden_size] * 3 + for l in range(num_layers): + self.wx.append(nn.Parameter(torch.zeros(dims[l], dims[l + 1] * 4))) + self.wh.append(nn.Parameter(torch.zeros(hidden_size, hidden_size * 4))) + if bias: + self.bias = nn.Parameter(torch.zeros(num_layers, hidden_size * 4)) + else: + self.bias = None + self.use_dropout = dropout > 0. + if self.use_dropout: + self.dropout = nn.Dropout(dropout) + self._init() + + def _init(self): + gain = math.sqrt(1. / self.hidden_size) + for l in range(self.num_layers): + torch.nn.init.uniform_(self.wx[l], -gain, gain) + torch.nn.init.uniform_(self.wh[l], -gain, gain) + if self.bias is not None: + torch.nn.init.uniform_(self.bias[l], -gain, gain) + + # for i in range(len(self.norm_A)): + # torch.nn.init.constant_(self.norm_A[i].weight, 0) + # torch.nn.init.constant_(self.norm_A[i].bias, 1) + # for i in range(len(self.norm_B)): + # torch.nn.init.constant_(self.norm_A[i].weight, 0) + # torch.nn.init.constant_(self.norm_A[i].bias, 1) + + def forward( + self, inputs, prev_state: Tuple[Tensor, Tensor], list_next_state: bool = False, forget_bias: float = 1.0 + ): + ''' + Input: + inputs: tensor of size [seq_len, batch_size, input_size] + prev_state: None or tensor of size [num_directions*num_layers, batch_size, hidden_size] + list_next_state: whether return next_state with list format + ''' + seq_len, batch_size = inputs.shape[:2] + + H, C = prev_state + x = inputs + next_state = [] + for l in range(self.num_layers): + h, c = H[l], C[l] + new_x = [] + for s in range(seq_len): + if self.use_dropout: + gate = self.norm_A[l * 2](torch.matmul(self.dropout(x[s]), self.wx[l]) + ) + self.norm_A[l * 2 + 1](torch.matmul(h, self.wh[l])) + else: + gate = self.norm_A[l * 2](torch.matmul(x[s], self.wx[l]) + ) + self.norm_A[l * 2 + 1](torch.matmul(h, self.wh[l])) + if self.bias is not None: + gate += self.bias[l] + gate = list(torch.chunk(gate, 4, dim=1)) + # for i in range(4): + # gate[i] = self.norm[l * 4 + i](gate[i]) + i, f, o, u = gate + i = torch.sigmoid(i) + f = torch.sigmoid(f + forget_bias) + o = torch.sigmoid(o) + u = torch.tanh(u) + c = f * c + i * u + cc = self.norm_B[l](c) + h = o * torch.tanh(cc) + # if self.use_dropout and l != self.num_layers - 1: # layer input dropout + # h = self.dropout(h) + new_x.append(h) + next_state.append((h, c)) + x = torch.stack(new_x, dim=0) + return x, next_state + + +class PytorchLSTM(nn.LSTM, LSTMForwardWrapper): + + def forward(self, inputs, prev_state, list_next_state: bool = False): + prev_state = self._before_forward(inputs, prev_state) + output, next_state = nn.LSTM.forward(self, inputs, prev_state) + next_state = self._after_forward(next_state, list_next_state) + return output, next_state + + def _after_forward(self, next_state, list_next_state: bool = False): + if list_next_state: + h, c = next_state + batch_size = h.shape[1] + next_state = [torch.chunk(h, batch_size, dim=1), torch.chunk(c, batch_size, dim=1)] + return list(zip(*next_state)) + else: + return next_state + + +def get_lstm(lstm_type, input_size, hidden_size, num_layers, norm_type, dropout=0.): + assert lstm_type in ['normal', 'pytorch'] + if lstm_type == 'normal': + return LSTM(input_size, hidden_size, num_layers, norm_type, dropout=dropout) + elif lstm_type == 'pytorch': + return PytorchLSTM(input_size, hidden_size, num_layers, dropout=dropout) + + +class GLU(nn.Module): + + def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): + super(GLU, self).__init__() + assert (input_type in ['fc', 'conv2d']) + if input_type == 'fc': + self.layer1 = fc_block(context_dim, input_dim) + self.layer2 = fc_block(input_dim, output_dim) + elif input_type == 'conv2d': + self.layer1 = conv2d_block(context_dim, input_dim, 1, 1, 0) + self.layer2 = conv2d_block(input_dim, output_dim, 1, 1, 0) + + def forward(self, x, context): + gate = self.layer1(context) + gate = torch.sigmoid(gate) + x = gate * x + x = self.layer2(x) + return x + + +def build_activation(activation): + act_func = {'relu': nn.ReLU(inplace=True), 'glu': GLU, 'prelu': nn.PReLU(init=0.0)} + if activation in act_func.keys(): + return act_func[activation] + else: + raise KeyError("invalid key for activation: {}".format(activation)) diff --git a/dizoo/distar/model/obs_encoder/__init__.py b/dizoo/distar/model/obs_encoder/__init__.py new file mode 100644 index 0000000000..6a6dc1103e --- /dev/null +++ b/dizoo/distar/model/obs_encoder/__init__.py @@ -0,0 +1,4 @@ +from .scalar_encoder import ScalarEncoder +from .spatial_encoder import SpatialEncoder +from .entity_encoder import EntityEncoder +from .value_encoder import ValueEncoder diff --git a/dizoo/distar/model/obs_encoder/entity_encoder.py b/dizoo/distar/model/obs_encoder/entity_encoder.py new file mode 100644 index 0000000000..56ecf6d24d --- /dev/null +++ b/dizoo/distar/model/obs_encoder/entity_encoder.py @@ -0,0 +1,101 @@ +import torch +import torch.nn as nn +from typing import Dict +from torch import Tensor + +from ding.torch_utils import fc_block, build_activation, sequence_mask, Transformer +from dizoo.distar.envs import MAX_ENTITY_NUM + + +def get_binary_embed_mat(bit_num): + location_embedding = [] + for n in range(2 ** bit_num): + s = '0' * (bit_num - len(bin(n)[2:])) + bin(n)[2:] + location_embedding.append(list(int(i) for i in s)) + return torch.tensor(location_embedding).float() + + +class EntityEncoder(nn.Module): + r''' + B=batch size EN=any number of entities ID=input_dim OS=output_size=256 + (B*EN*ID) (EN'*OS) (EN'*OS) (EN'*OS) (B*EN*OS) + x -> combine -> Transformer -> act -> entity_fc -> split -> entity_embeddings + batch | (B*EN*OS) (B*OS) (B*OS) + \-> split -> mean -> embed_fc -> embedded_entity + ''' + + def __init__(self, cfg): + super(EntityEncoder, self).__init__() + self.encode_modules = nn.ModuleDict() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.encoder.obs_encoder.entity_encoder + for k, item in self.cfg.module.items(): + if item['arc'] == 'one_hot': + self.encode_modules[k] = nn.Embedding.from_pretrained( + torch.eye(item['num_embeddings']), freeze=True, padding_idx=None + ) + if item['arc'] == 'binary': + self.encode_modules[k] = torch.nn.Embedding.from_pretrained( + get_binary_embed_mat(item['num_embeddings']), freeze=True, padding_idx=None + ) + self.act = build_activation(self.cfg.activation) + self.transformer = Transformer( + input_dim=self.cfg.input_dim, + head_dim=self.cfg.head_dim, + hidden_dim=self.cfg.hidden_dim, + output_dim=self.cfg.output_dim, + head_num=self.cfg.head_num, + mlp_num=self.cfg.mlp_num, + layer_num=self.cfg.layer_num, + dropout_ratio=self.cfg.dropout_ratio, + activation=self.act, + ) + self.entity_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) + self.embed_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) + if self.whole_cfg.model.entity_reduce_type == 'attention_pool': + from ding.torch_utils import AttentionPool + self.attention_pool = AttentionPool(key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + from ding.torch_utils import AttentionPool + self.attention_pool = AttentionPool( + key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim, max_num=MAX_ENTITY_NUM + 1 + ) + + def forward(self, x: Dict[str, Tensor], entity_num): + entity_embedding = [] + for k, item in self.cfg.module.items(): + assert k in x.keys(), '{} not in {}'.format(k, x.keys()) + if item['arc'] == 'one_hot': + # check data + over_cross_data = x[k] >= item['num_embeddings'] + # if over_cross_data.any(): + # print(k, x[k][over_cross_data]) + lower_cross_data = x[k] < 0 + if lower_cross_data.any(): + print(k, x[k][lower_cross_data]) + raise RuntimeError + clipped_data = x[k].long().clamp_(max=item['num_embeddings'] - 1) + entity_embedding.append(self.encode_modules[k](clipped_data)) + elif item['arc'] == 'binary': + entity_embedding.append(self.encode_modules[k](x[k].long())) + elif item['arc'] == 'unsqueeze': + entity_embedding.append(x[k].float().unsqueeze(dim=-1)) + x = torch.cat(entity_embedding, dim=-1) + mask = sequence_mask(entity_num, max_len=x.shape[1]) + x = self.transformer(x, mask=mask) + entity_embeddings = self.entity_fc(self.act(x)) + + if self.whole_cfg.model.entity_reduce_type in ['entity_num', 'selected_units_num']: + x_mask = x * mask.unsqueeze(dim=2) + embedded_entity = x_mask.sum(dim=1) / entity_num.unsqueeze(dim=-1) + elif self.whole_cfg.model.entity_reduce_type == 'constant': + x_mask = x * mask.unsqueeze(dim=2) + embedded_entity = x_mask.sum(dim=1) / 512 + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + embedded_entity = self.attention_pool(x, mask=mask.unsqueeze(dim=2)) + elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + embedded_entity = self.attention_pool(x, num=entity_num, mask=mask.unsqueeze(dim=2)) + else: + raise NotImplementedError + embedded_entity = self.embed_fc(embedded_entity) + return entity_embeddings, embedded_entity, mask diff --git a/dizoo/distar/model/obs_encoder/scalar_encoder.py b/dizoo/distar/model/obs_encoder/scalar_encoder.py new file mode 100644 index 0000000000..83fcae8d03 --- /dev/null +++ b/dizoo/distar/model/obs_encoder/scalar_encoder.py @@ -0,0 +1,145 @@ +from typing import Dict +from torch import Tensor +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.torch_utils import fc_block, build_activation, Transformer +from .entity_encoder import get_binary_embed_mat + + +def compute_denominator(x: torch.Tensor, dim: int) -> torch.Tensor: + x = x // 2 * 2 + x = torch.div(x, dim) + x = torch.pow(10000., x) + x = torch.div(1., x) + return x + + +class BeginningBuildOrderEncoder(nn.Module): + + def __init__(self, cfg, bo_cfg): + super(BeginningBuildOrderEncoder, self).__init__() + self.whole_cfg = cfg + self.cfg = bo_cfg + self.output_dim = self.cfg.output_dim + self.input_dim = self.cfg.action_one_hot_dim + 20 + self.cfg.binary_dim * 2 + self.act = build_activation(self.cfg.activation) + self.transformer = Transformer( + input_dim=self.input_dim, + head_dim=self.cfg.head_dim, + hidden_dim=self.cfg.output_dim * 2, + output_dim=self.cfg.output_dim + ) + self.embedd_fc = fc_block(self.cfg.output_dim, self.output_dim, activation=self.act) + self.action_one_hot = nn.Embedding.from_pretrained( + torch.eye(self.cfg.action_one_hot_dim), freeze=True, padding_idx=None + ) + self.order_one_hot = nn.Embedding.from_pretrained(torch.eye(20), freeze=True, padding_idx=None) + self.location_binary = nn.Embedding.from_pretrained( + get_binary_embed_mat(self.cfg.binary_dim), freeze=True, padding_idx=None + ) + + def _add_seq_info(self, x): + indices_one_hot = torch.zeros(size=(x.shape[1], x.shape[1]), device=x.device) + indices = torch.arange(x.shape[1], device=x.device).unsqueeze(dim=1) + indices_one_hot = indices_one_hot.scatter_(dim=-1, index=indices, value=1.) + indices_one_hot = indices_one_hot.unsqueeze(0).repeat(x.shape[0], 1, 1) # expand to batch dim + return torch.cat([x, indices_one_hot], dim=2) + + def forward(self, x, bo_location): + x = self.action_one_hot(x.long()) + x = self._add_seq_info(x) + location_x = bo_location % self.whole_cfg.model.spatial_x + location_y = bo_location // self.whole_cfg.model.spatial_x + location_x = self.location_binary(location_x.long()) + location_y = self.location_binary(location_y.long()) + x = torch.cat([x, location_x, location_y], dim=2) + assert len(x.shape) == 3 + x = self.transformer(x) + x = x.mean(dim=1) + x = self.embedd_fc(x) + return x + + +class ScalarEncoder(nn.Module): + + def __init__(self, cfg): + super(ScalarEncoder, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.encoder.obs_encoder.scalar_encoder + self.act = build_activation(self.cfg.activation) + self.keys = [] + self.scalar_context_keys = [] + self.baseline_feature_keys = [] + self.one_hot_keys = [] + + self.encode_modules = nn.ModuleDict() + + for k, item in self.cfg.module.items(): + if k == 'time': + continue + if item['arc'] == 'one_hot': + encoder = nn.Embedding(num_embeddings=item['num_embeddings'], embedding_dim=item['embedding_dim']) + torch.nn.init.xavier_uniform_(encoder.weight) + self.encode_modules[k] = encoder + self.one_hot_keys.append(k) + elif item['arc'] == 'fc': + encoder = fc_block(item['input_dim'], item['output_dim'], activation=self.act) + self.encode_modules[k] = encoder + if 'scalar_context' in item.keys() and item['scalar_context']: + self.scalar_context_keys.append(k) + if 'baseline_feature' in item.keys() and item['baseline_feature']: + self.baseline_feature_keys.append(k) + + self.position_array = torch.nn.Parameter( + compute_denominator( + torch.arange(0, self.cfg.module.time.output_dim, dtype=torch.float), self.cfg.module.time.output_dim + ), + requires_grad=False + ) + self.time_embedding_dim = self.cfg.module.time.output_dim + bo_cfg = self.whole_cfg.model.encoder.obs_encoder.scalar_encoder.module.beginning_order + self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(self.whole_cfg, bo_cfg) + + def time_encoder(self, x: Tensor): + v = torch.zeros(size=(x.shape[0], self.time_embedding_dim), dtype=torch.float, device=x.device) + assert len(x.shape) == 1 + x = x.unsqueeze(dim=1) + v[:, 0::2] = torch.sin(x * self.position_array[0::2]) # even + v[:, 1::2] = torch.cos(x * self.position_array[1::2]) # odd + return v + + def forward(self, x: Dict[str, Tensor]): + embedded_scalar = [] + scalar_context = [] + baseline_feature = [] + + for key, item in self.cfg.module.items(): + assert key in x.keys(), key + if key == 'time': + continue + elif item['arc'] == 'one_hot': + # check data + over_cross_data = x[key] >= item['num_embeddings'] + if over_cross_data.any(): + print(key, x[key][over_cross_data]) + + x[key] = x[key].clamp_(max=item['num_embeddings'] - 1) + embedding = self.encode_modules[key](x[key].long()) + embedding = self.act(embedding) + elif key == 'beginning_order': + embedding = self.encode_modules[key](x[key].float(), x['bo_location'].long()) + else: + embedding = self.encode_modules[key](x[key].float()) + embedded_scalar.append(embedding) + if key in self.scalar_context_keys: + scalar_context.append(embedding) + if key in self.baseline_feature_keys: + baseline_feature.append(embedding) + time_embedding = self.time_encoder(x['time']) + embedded_scalar.append(time_embedding) + embedded_scalar = torch.cat(embedded_scalar, dim=1) + scalar_context = torch.cat(scalar_context, dim=1) + baseline_feature = torch.cat(baseline_feature, dim=1) + + return embedded_scalar, scalar_context, baseline_feature diff --git a/dizoo/distar/model/obs_encoder/spatial_encoder.py b/dizoo/distar/model/obs_encoder/spatial_encoder.py new file mode 100644 index 0000000000..f4dcabf728 --- /dev/null +++ b/dizoo/distar/model/obs_encoder/spatial_encoder.py @@ -0,0 +1,99 @@ +import math +from collections.abc import Sequence +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.torch_utils import conv2d_block, fc_block, build_activation, ResBlock, same_shape + + +class SpatialEncoder(nn.Module): + __constants__ = ['head_type'] + + def __init__(self, cfg): + super(SpatialEncoder, self).__init__() + self.whole_cfg = cfg + self.cfg = self.whole_cfg.model.encoder.obs_encoder.spatial_encoder + self.act = build_activation(self.cfg.activation) + if self.cfg.norm_type == 'none': + self.norm = None + else: + self.norm = self.cfg.norm_type + self.project = conv2d_block( + self.cfg.input_dim, self.cfg.project_dim, 1, 1, 0, activation=self.act, norm_type=self.norm + ) + dims = [self.cfg.project_dim] + self.cfg.down_channels + self.down_channels = self.cfg.down_channels + self.encode_modules = nn.ModuleDict() + self.downsample = nn.ModuleList() + for k, item in self.cfg.module.items(): + if item['arc'] == 'one_hot': + self.encode_modules[k] = nn.Embedding.from_pretrained( + torch.eye(item['num_embeddings']), freeze=True, padding_idx=None + ) + for i in range(len(self.down_channels)): + if self.cfg.downsample_type == 'conv2d': + self.downsample.append( + conv2d_block(dims[i], dims[i + 1], 4, 2, 1, activation=self.act, norm_type=self.norm) + ) + elif self.cfg.downsample_type in ['avgpool', 'maxpool']: + self.downsample.append( + conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=self.act, norm_type=self.norm) + ) + else: + raise KeyError("invalid downsample module type :{}".format(type(self.cfg.downsample_type))) + self.res = nn.ModuleList() + self.head_type = self.cfg.get('head_type', 'pool') + dim = dims[-1] + self.resblock_num = self.cfg.resblock_num + for i in range(self.cfg.resblock_num): + self.res.append(ResBlock(dim, self.act, norm_type=self.norm)) + if self.head_type == 'fc': + self.fc = fc_block( + dim * self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8, + self.cfg.fc_dim, + activation=self.act + ) + else: + self.gap = nn.AdaptiveAvgPool2d((1, 1)) + self.fc = fc_block(dim, self.cfg.fc_dim, activation=self.act) + + def forward(self, x, scatter_map): + embeddings = [] + for k, item in self.cfg.module.items(): + if item['arc'] == 'one_hot': + embedding = self.encode_modules[k](x[k].long()) + embedding = embedding.permute(0, 3, 1, 2) + embeddings.append(embedding) + elif item['arc'] == 'other': + assert k == 'height_map' + embeddings.append(x[k].unsqueeze(dim=1).float() / 256) + elif item['arc'] == 'scatter': + bs, shape_x, shape_y = x[k].shape[0], self.whole_cfg.model.spatial_x, self.whole_cfg.model.spatial_y + embedding = torch.zeros(bs * shape_y * shape_x, device=x[k].device) + bias = torch.arange(bs, device=x[k].device).unsqueeze(dim=1) * shape_y * shape_x + x[k] = x[k] + bias + x[k] = x[k].view(-1) + embedding[x[k].long()] = 1. + embedding = embedding.view(bs, 1, shape_y, shape_x) + embeddings.append(embedding) + embeddings.append(scatter_map) + x = torch.cat(embeddings, dim=1) + x = self.project(x) + map_skip = [] + for i in range(len(self.downsample)): + map_skip.append(x) + if self.cfg.downsample_type == 'avgpool': + x = torch.nn.functional.avg_pool2d(x, 2, 2) + elif self.cfg.downsample_type == 'maxpool': + x = torch.nn.functional.max_pool2d(x, 2, 2) + x = self.downsample[i](x) + for block in self.res: + map_skip.append(x) + x = block(x) + if isinstance(x, torch.Tensor): + if self.head_type != 'fc': + x = self.gap(x) + + x = x.view(x.shape[0], -1) + x = self.fc(x) + return x, map_skip diff --git a/dizoo/distar/model/obs_encoder/value_encoder.py b/dizoo/distar/model/obs_encoder/value_encoder.py new file mode 100644 index 0000000000..81e42ac838 --- /dev/null +++ b/dizoo/distar/model/obs_encoder/value_encoder.py @@ -0,0 +1,84 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from ding.torch_utils import fc_block, build_activation, conv2d_block, ResBlock, same_shape, sequence_mask, \ + Transformer, scatter_connection +from dizoo.distar.envs import BEGIN_ACTIONS +from .spatial_encoder import SpatialEncoder +from .scalar_encoder import BeginningBuildOrderEncoder + + +class ValueEncoder(nn.Module): + + def __init__(self, cfg): + super(ValueEncoder, self).__init__() + self.whole_cfg = cfg + self.cfg = cfg.model.value.encoder + self.act = build_activation('relu') + self.encode_modules = nn.ModuleDict() + for k, item in self.cfg.modules.items(): + if item['arc'] == 'fc': + self.encode_modules[k] = fc_block(item['input_dim'], item['output_dim'], activation=self.act) + elif item['arc'] == 'one_hot': + self.encode_modules[k] = nn.Embedding( + num_embeddings=item['num_embeddings'], embedding_dim=item['embedding_dim'] + ) + + bo_cfg = self.cfg.modules.beginning_order + self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(self.whole_cfg, bo_cfg) + self.scatter_project = fc_block( + self.cfg.scatter.scatter_input_dim, self.cfg.scatter.scatter_dim, activation=self.act + ) + self.scatter_type = self.cfg.scatter.scatter_type + self.scatter_dim = self.cfg.scatter.scatter_dim + + self.project = conv2d_block( + self.cfg.spatial.input_dim, self.cfg.spatial.project_dim, 1, 1, 0, activation=self.act + ) + down_layers = [] + dims = [self.cfg.spatial.project_dim] + self.cfg.spatial.down_channels + for i in range(len(self.cfg.spatial.down_channels)): + down_layers.append(nn.MaxPool2d(2, 2)) + down_layers.append(conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=self.act)) + self.downsample = nn.Sequential(*down_layers) + dim = dims[-1] + self.resblock_num = self.cfg.spatial.resblock_num + self.res = nn.ModuleList() + for i in range(self.resblock_num): + self.res.append(ResBlock(dim, self.act, norm_type=None)) + self.spatial_fc = fc_block( + dim * self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8, + self.cfg.spatial.spatial_fc_dim, + activation=self.act + ) + + def forward(self, x): + spatial_embedding = [] + fc_embedding = [] + for k, item in self.cfg.modules.items(): + if item['arc'] == 'fc': + embedding = self.encode_modules[k](x[k].float()) + fc_embedding.append(embedding) + if item['arc'] == 'one_hot': + embedding = self.encode_modules[k](x[k].long()) + spatial_embedding.append(embedding) + + bo_embedding = self.encode_modules['beginning_order'](x['beginning_order'].float(), x['bo_location'].long()) + fc_embedding = torch.cat(fc_embedding, dim=-1) + spatial_embedding = torch.cat(spatial_embedding, dim=-1) + project_embedding = self.scatter_project(spatial_embedding) + unit_mask = sequence_mask(x['total_unit_count'], max_len=project_embedding.shape[1]) + project_embedding = project_embedding * unit_mask.unsqueeze(dim=2) + entity_location = torch.cat([x['unit_x'].unsqueeze(dim=-1), x['unit_y'].unsqueeze(dim=-1)], dim=-1) + b, c, h, w = x['own_units_spatial'].shape + scatter_map = scatter_connection( + (b, h, w), project_embedding, entity_location, self.scatter_dim, self.scatter_type + ) + spatial_x = torch.cat([scatter_map, x['own_units_spatial'].float(), x['enemy_units_spatial'].float()], dim=1) + spatial_x = self.project(spatial_x) + spatial_x = self.downsample(spatial_x) + for i in range(self.resblock_num): + spatial_x = self.res[i](spatial_x) + spatial_x = self.spatial_fc(spatial_x.view(spatial_x.shape[0], -1)) + x = torch.cat([fc_embedding, spatial_x, bo_embedding], dim=-1) + return x diff --git a/dizoo/distar/model/policy.py b/dizoo/distar/model/policy.py new file mode 100644 index 0000000000..46587ed652 --- /dev/null +++ b/dizoo/distar/model/policy.py @@ -0,0 +1,79 @@ +from typing import List, Dict, Optional +from torch import Tensor +import torch +import torch.nn as nn + +from dizoo.distar.envs import SELECTED_UNITS_MASK +from .head import DelayHead, QueuedHead, SelectedUnitsHead, TargetUnitHead, LocationHead, ActionTypeHead + + +class Policy(nn.Module): + + def __init__(self, cfg): + super(Policy, self).__init__() + self.whole_cfg = cfg + self.cfg = cfg.model.policy + self.action_type_head = ActionTypeHead(self.whole_cfg) + self.delay_head = DelayHead(self.whole_cfg) + self.queued_head = QueuedHead(self.whole_cfg) + self.selected_units_head = SelectedUnitsHead(self.whole_cfg) + self.target_unit_head = TargetUnitHead(self.whole_cfg) + self.location_head = LocationHead(self.whole_cfg) + + def forward( + self, lstm_output: Tensor, entity_embeddings: Tensor, map_skip: List[Tensor], scalar_context: Tensor, + entity_num: Tensor + ): + action = torch.jit.annotate(Dict[str, Tensor], {}) + logit = torch.jit.annotate(Dict[str, Tensor], {}) + + # action type + logit['action_type'], action['action_type'], embeddings = self.action_type_head(lstm_output, scalar_context) + + #action arg delay + logit['delay'], action['delay'], embeddings = self.delay_head(embeddings) + + logit['queued'], action['queued'], embeddings = self.queued_head(embeddings) + + # selected_units_head cannot be compiled to onnx due to indice + su_mask = SELECTED_UNITS_MASK[action['action_type']] + logit['selected_units'], action['selected_units' + ], embeddings, selected_units_num, extra_units = self.selected_units_head( + embeddings, entity_embeddings, entity_num, None, None, su_mask + ) + + logit['target_unit'], action['target_unit'] = self.target_unit_head(embeddings, entity_embeddings, entity_num) + + logit['target_location'], action['target_location'] = self.location_head(embeddings, map_skip) + + return action, selected_units_num, logit, extra_units + + def train_forward( + self, lstm_output, entity_embeddings, map_skip: List[Tensor], scalar_context, entity_num, action_info, + selected_units_num + ): + action = torch.jit.annotate(Dict[str, Tensor], {}) + logit = torch.jit.annotate(Dict[str, Tensor], {}) + + # action type + logit['action_type'], action['action_type'], embeddings = self.action_type_head( + lstm_output, scalar_context, action_info['action_type'] + ) + + #action arg delay + logit['delay'], action['delay'], embeddings = self.delay_head(embeddings, action_info['delay']) + + logit['queued'], action['queued'], embeddings = self.queued_head(embeddings, action_info['queued']) + + logit['selected_units'], action['selected_units'], embeddings, selected_units_num, _ = self.selected_units_head( + embeddings, entity_embeddings, entity_num, selected_units_num, action_info['selected_units'] + ) + + logit['target_unit'], action['target_unit'] = self.target_unit_head( + embeddings, entity_embeddings, entity_num, action_info['target_unit'] + ) + + logit['target_location'], action['target_location'] = self.location_head( + embeddings, map_skip, action_info['target_location'] + ) + return action, selected_units_num, logit diff --git a/dizoo/distar/model/tests/test_encoder.py b/dizoo/distar/model/tests/test_encoder.py new file mode 100644 index 0000000000..1e64a0701b --- /dev/null +++ b/dizoo/distar/model/tests/test_encoder.py @@ -0,0 +1,31 @@ +from easydict import EasyDict +import pytest +import torch +from ding.utils import read_yaml_config +from ding.utils.data import default_collate +from dizoo.distar.model.encoder import Encoder +from dizoo.distar.envs.fake_data import scalar_info, entity_info, spatial_info + + +@pytest.mark.envtest +def test_encoder(): + B, M = 4, 512 + cfg = read_yaml_config('../actor_critic_default_config.yaml') + cfg = EasyDict(cfg) + encoder = Encoder(cfg) + print(encoder) + + spatial_info_data = default_collate([spatial_info() for _ in range(B)]) + entity_info_data = default_collate([entity_info() for _ in range(B)]) + scalar_info_data = default_collate([scalar_info() for _ in range(B)]) + entity_num = torch.randint(M // 2, M, size=(B, )) + entity_num[-1] = M + + lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = encoder( + spatial_info_data, entity_info_data, scalar_info_data, entity_num + ) + assert lstm_input.shape == (B, 1536) + assert scalar_context.shape == (B, 448) + assert baseline_feature.shape == (B, 512) + assert entity_embeddings.shape == (B, 512, 256) + assert isinstance(map_skip, list) and len(map_skip) == 7 diff --git a/dizoo/distar/model/tests/test_value.py b/dizoo/distar/model/tests/test_value.py new file mode 100644 index 0000000000..fcaa0bbaf7 --- /dev/null +++ b/dizoo/distar/model/tests/test_value.py @@ -0,0 +1,23 @@ +import pytest +import torch +from dizoo.distar.model.value import ValueBaseline + + +@pytest.mark.envtest +def test_value_baseline(): + + class CFG: + + def __init__(self): + self.activation = 'relu' + self.norm_type = 'LN' + self.input_dim = 1024 + self.res_dim = 256 + self.res_num = 16 + self.use_value_feature = False + self.atan = True + + model = ValueBaseline(CFG()) + inputs = torch.randn(4, 1024) + output = model(inputs) + assert (output.shape == (4, )) diff --git a/dizoo/distar/model/value.py b/dizoo/distar/model/value.py new file mode 100644 index 0000000000..501b8ebbc8 --- /dev/null +++ b/dizoo/distar/model/value.py @@ -0,0 +1,38 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +import numpy as np +from ding.torch_utils import fc_block, build_activation, ResFCBlock + + +class ValueBaseline(nn.Module): + ''' + Network to be applied on each baseline input, parameters for the current baseline are defined in the cfg + + input_dim res_dim res_dim 1 + x -> fc (norm & act) -> ResFCBlock*res_num -> fc (no norm no act) -> atan act -> value + ''' + + def __init__(self, cfg): + super(ValueBaseline, self).__init__() + self.act = build_activation(cfg.activation) + if cfg.use_value_feature: + input_dim = cfg.input_dim + 1056 + else: + input_dim = cfg.input_dim + self.project = fc_block(input_dim, cfg.res_dim, activation=self.act, norm_type=None) + blocks = [ResFCBlock(cfg.res_dim, self.act, cfg.norm_type) for _ in range(cfg.res_num)] + self.res = nn.Sequential(*blocks) + self.value_fc = fc_block(cfg.res_dim, 1, activation=None, norm_type=None, init_gain=0.1) + self.atan = cfg.atan + self.PI = np.pi + + def forward(self, x): + x = self.project(x) + x = self.res(x) + x = self.value_fc(x) + + x = x.squeeze(1) + if self.atan: + x = (2.0 / self.PI) * torch.atan((self.PI / 2.0) * x) + return x From 8093b72aa1aaa34d083a88a29728463a3e0dd80c Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Wed, 1 Jun 2022 21:16:41 +0800 Subject: [PATCH 069/229] feature(nyz): polish encoder and value related modules (ci skip) --- ding/torch_utils/network/nn_module.py | 11 ++++-- ding/torch_utils/network/res_block.py | 38 +++++++++++++------ ding/torch_utils/network/rnn.py | 12 +++--- .../torch_utils/network/scatter_connection.py | 4 +- ding/utils/__init__.py | 2 +- ding/utils/default_helper.py | 22 ++++++++++- 6 files changed, 65 insertions(+), 24 deletions(-) diff --git a/ding/torch_utils/network/nn_module.py b/ding/torch_utils/network/nn_module.py index ebc32f9e43..5387e58b58 100644 --- a/ding/torch_utils/network/nn_module.py +++ b/ding/torch_utils/network/nn_module.py @@ -1,9 +1,9 @@ +from typing import Union, Tuple, List, Callable, Optional import math import torch import torch.nn as nn import torch.nn.functional as F from torch.nn.init import xavier_normal_, kaiming_normal_, orthogonal_ -from typing import Union, Tuple, List, Callable from ding.compatibility import torch_gt_131 from .normalization import build_normalization @@ -214,7 +214,8 @@ def fc_block( activation: nn.Module = None, norm_type: str = None, use_dropout: bool = False, - dropout_probability: float = 0.5 + dropout_probability: float = 0.5, + init_gain: Optional[float] = None, ) -> nn.Sequential: r""" Overview: @@ -228,6 +229,7 @@ def fc_block( - norm_type (:obj:`str`): type of the normalization - use_dropout (:obj:`bool`) : whether to use dropout in the fully-connected block - dropout_probability (:obj:`float`) : probability of an element to be zeroed in the dropout. Default: 0.5 + - init_gain (:obj:`float`): FC initialization gain argument, if specified, use xavier with init_gain. Returns: - block (:obj:`nn.Sequential`): a sequential list containing the torch layers of the fully-connected block @@ -237,7 +239,10 @@ def fc_block( """ block = [] block.append(nn.Linear(in_channels, out_channels)) - if norm_type is not None: + if init_gain is not None: + torch.nn.init.xavier_uniform_(block[-1].weight, init_gain) + torch.nn.init.constant_(block[-1].bias, 0.0) + if norm_type is not None and norm_type != 'none': block.append(build_normalization(norm_type, dim=1)(out_channels)) if activation is not None: block.append(activation) diff --git a/ding/torch_utils/network/res_block.py b/ding/torch_utils/network/res_block.py index c9187a8f44..3dcdafa40f 100644 --- a/ding/torch_utils/network/res_block.py +++ b/ding/torch_utils/network/res_block.py @@ -1,7 +1,7 @@ import torch.nn as nn import torch -from .nn_module import conv2d_block, fc_block +from .nn_module import conv2d_block, fc_block, build_normalization class ResBlock(nn.Module): @@ -78,19 +78,28 @@ class ResFCBlock(nn.Module): forward ''' - def __init__(self, in_channels: int, activation: nn.Module = nn.ReLU(), norm_type: str = 'BN'): + def __init__( + self, in_channels: int, activation: nn.Module = nn.ReLU(), norm_type: str = 'BN', final_norm: bool = False + ): r""" Overview: Init the Residual Block Arguments: - in_channels (:obj:`int`): Number of channels in the input tensor - activation (:obj:`nn.Module`): the optional activation function - - norm_type (:obj:`str`): type of the normalization, defalut set to 'BN' + - norm_type (:obj:`str`): type of the normalization, default set to 'BN' + - final_norm (:obj:`bool`): Whether to add norm in final residual output. """ super(ResFCBlock, self).__init__() self.act = activation - self.fc1 = fc_block(in_channels, in_channels, activation=self.act, norm_type=norm_type) - self.fc2 = fc_block(in_channels, in_channels, activation=None, norm_type=norm_type) + self.final_norm = final_norm + if final_norm: + self.fc1 = fc_block(in_channels, in_channels, activation=self.act, norm_type=None) + self.fc2 = fc_block(in_channels, in_channels, activation=None, norm_type=None) + self.norm = build_normalization(norm_type)(in_channels) + else: + self.fc1 = fc_block(in_channels, in_channels, activation=self.act, norm_type=norm_type) + self.fc2 = fc_block(in_channels, in_channels, activation=None, norm_type=norm_type) def forward(self, x: torch.Tensor) -> torch.Tensor: r""" @@ -99,10 +108,17 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: Arguments: - x (:obj:`torch.Tensor`): the input tensor Returns: - - x(:obj:`torch.Tensor`): the resblock output tensor + - x (:obj:`torch.Tensor`): the resblock output tensor """ - residual = x - x = self.fc1(x) - x = self.fc2(x) - x = self.act(x + residual) - return x + if self.final_norm: + residual = x + x = self.fc1(x) + x = self.fc2(x) + x = self.norm(x + residual) + return x + else: + residual = x + x = self.fc1(x) + x = self.fc2(x) + x = self.act(x + residual) + return x diff --git a/ding/torch_utils/network/rnn.py b/ding/torch_utils/network/rnn.py index 0f87ffbcb4..45d3dab5bd 100644 --- a/ding/torch_utils/network/rnn.py +++ b/ding/torch_utils/network/rnn.py @@ -21,15 +21,15 @@ def is_sequence(data): def sequence_mask(lengths: torch.Tensor, max_len: Optional[int] = None) -> torch.BoolTensor: - r""" + """ Overview: - create a mask for a batch sequences with different lengths + Create a mask for a batch sequences with different lengths. Arguments: - - lengths (:obj:`torch.Tensor`): lengths in each different sequences, shape could be (n, 1) or (n) - - max_len (:obj:`int`): the padding size, if max_len is None, the padding size is the \ - max length of sequences + - lengths (:obj:`torch.Tensor`): Lengths in each different sequences, shape could be (n, 1) or (n). + - max_len (:obj:`int`): The padding size, if max_len is None, the padding size is the \ + max length of sequences. Returns: - - masks (:obj:`torch.BoolTensor`): mask has the same device as lengths + - masks (:obj:`torch.BoolTensor`): Mask has the same device as lengths. """ if len(lengths.shape) == 1: lengths = lengths.unsqueeze(dim=1) diff --git a/ding/torch_utils/network/scatter_connection.py b/ding/torch_utils/network/scatter_connection.py index e0385fa240..5b2f3b4ee5 100644 --- a/ding/torch_utils/network/scatter_connection.py +++ b/ding/torch_utils/network/scatter_connection.py @@ -77,11 +77,13 @@ def forward(self, x: torch.Tensor, spatial_size: Tuple[int, int], location: torc device = x.device B, M, N = x.shape H, W = spatial_size - index = location.view(-1, 2) + index = location.view(-1, 2).long() bias = torch.arange(B).mul_(H * W).unsqueeze(1).repeat(1, M).view(-1).to(device) + index = index[:, 0] * W + index[:, 1] index += bias index = index.repeat(N, 1) + x = x.view(-1, N).permute(1, 0) output = torch.zeros(N, B * H * W, device=device) if self.scatter_type == 'cover': diff --git a/ding/utils/__init__.py b/ding/utils/__init__.py index 5fac3c401e..608773c1af 100644 --- a/ding/utils/__init__.py +++ b/ding/utils/__init__.py @@ -3,7 +3,7 @@ from .compression_helper import get_data_compressor, get_data_decompressor from .default_helper import override, dicts_to_lists, lists_to_dicts, squeeze, default_get, error_wrapper, list_split, \ LimitedSpaceContainer, deep_merge_dicts, set_pkg_seed, flatten_dict, one_time_warning, split_data_generator, \ - RunningMeanStd, make_key_as_identifier + RunningMeanStd, make_key_as_identifier, read_yaml_config from .design_helper import SingletonMetaclass from .file_helper import read_file, save_file, remove_file from .import_helper import try_import_ceph, try_import_mc, try_import_link, import_module, try_import_redis, \ diff --git a/ding/utils/default_helper.py b/ding/utils/default_helper.py index 1de84385d1..1f8cba81bb 100644 --- a/ding/utils/default_helper.py +++ b/ding/utils/default_helper.py @@ -1,10 +1,13 @@ from typing import Union, Mapping, List, NamedTuple, Tuple, Callable, Optional, Any, Dict +from functools import lru_cache # in python3.9, we can change to cache +from easydict import EasyDict +import os import copy -from ditk import logging import random -from functools import lru_cache # in python3.9, we can change to cache import numpy as np import torch +import yaml +from ditk import logging def lists_to_dicts( @@ -569,3 +572,18 @@ def legalization(s: str) -> str: new_k = legalization(k) new_data[new_k] = data[k] return new_data + + +def read_yaml_config(path: str) -> EasyDict: + """ + Overview: + Read yaml configuration from given path. + Arguments: + - path (:obj:`str`): Path of source yaml. + Returns: + - cfg (:obj:`EasyDict`): Config data from this file with dict type. + """ + assert os.path.exists(path), path + with open(path, "r") as f: + config = yaml.safe_load(f) + return EasyDict(config) From 83abc64c57a9eb05825159906a4c076479fe6081 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 22:15:49 +0800 Subject: [PATCH 070/229] add locker and model_dict --- ding/framework/middleware/league_actor.py | 34 ++++++++++------------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 90f1c8e21c..ba59c57b46 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -16,6 +16,7 @@ from ding.framework.middleware import BattleCollector from ding.framework.middleware.functional import policy_resetter from ding.league.player import PlayerMeta +from threading import Lock import queue class LeagueActor: @@ -33,13 +34,15 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) self.job_queue = queue.Queue() - self.model_queue = queue.Queue() + self.model_dict = {} + self.model_dict_lock = Lock() def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - self.model_queue.put(learner_model) + with self.model_dict_lock: + self.model_dict[learner_model.player_id] = learner_model def _on_league_job(self, job: "Job"): """ @@ -79,25 +82,18 @@ def __call__(self, ctx: "OnlineRLContext"): except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) return - - new_model: "LearnerModel" = None - try: - logging.info( - "Getting new model on actor: {}, player: {}".format(task.router.node_id, ctx.job.launch_player) - ) - new_model = self.model_queue.get(timeout=10) - except queue.Empty: - logging.warning('Cannot get new model, use old model instead on actor: {}, player: {}'.format(task.router.node_id, ctx.job.launch_player)) + job_player_id_list = [player.player_id for player in ctx.job.players] + # TODO: 每次循环开始前把 model_queue 清空 - if new_model is not None: - player_meta = PlayerMeta(player_id=new_model.player_id, checkpoint=None) - policy = self._get_policy(player_meta) - # update policy model - policy.load_state_dict(new_model.state_dict) - logging.info( - "Got new model on actor: {}, player: {}".format(task.router.node_id, ctx.job.launch_player) - ) + with self.model_dict_lock: + for player_id, learner_model in self.model_dict.items(): + if learner_model is not None and player_id in job_player_id_list: + player_meta = PlayerMeta(player_id=player_id, checkpoint=None) + policy = self._get_policy(player_meta) + # update policy model + policy.load_state_dict(learner_model.state_dict) + self.model_dict[player_id] = None collector = self._get_collector(ctx.job.launch_player) current_policies = [] From 604ed59a078ae5fe93defa3c3e2e13b005a6665b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 23:40:06 +0800 Subject: [PATCH 071/229] change name of vars and add BattleContext --- ding/framework/context.py | 8 +++++ ding/framework/middleware/collector.py | 4 +-- .../middleware/functional/collector.py | 31 +++++++++---------- ding/framework/middleware/league_actor.py | 18 +++++------ 4 files changed, 33 insertions(+), 28 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 949e0e7d01..5f5016f93f 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -75,3 +75,11 @@ def __init__(self, *args, **kwargs) -> None: self.last_eval_iter = -1 self.keep('train_iter', 'last_eval_iter') + +class BattleContext(Context): + def __init__(self, *args, **kwargs) -> None: + super().__init__(*args, **kwargs) + self.__dict__ = self + + self.all_policies = [] + self.keep('all_policies') \ No newline at end of file diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4a89fa7353..898b293bde 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -7,7 +7,7 @@ from .actor_data import ActorData # if TYPE_CHECKING: -from ding.framework import OnlineRLContext +from ding.framework import OnlineRLContext, BattleContext from ding.worker.collector.base_serial_collector import CachePool @@ -44,7 +44,7 @@ def __del__(self) -> None: self.end_flag = True self.env.close() - def __call__(self, ctx: "OnlineRLContext") -> None: + def __call__(self, ctx: "BattleContext") -> None: """ Input of ctx: - n_episode (:obj:`int`): the number of collecting data episode diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index f637a3bf77..440cfdd1bb 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -10,7 +10,7 @@ from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, to_tensor_transitions # if TYPE_CHECKING: -from ding.framework import OnlineRLContext +from ding.framework import OnlineRLContext, BattleContext class TransitionList: @@ -139,11 +139,11 @@ def _rollout(ctx: "OnlineRLContext"): def policy_resetter(env_num: int): - def _policy_resetter(ctx: OnlineRLContext): - if ctx.policies is not None: - assert len(ctx.policies) > 1, "battle collector needs more than 1 policies" - ctx._default_n_episode = ctx.policies[0].get_attribute('cfg').collect.get('n_episode', None) - ctx.agent_num = len(ctx.policies) + def _policy_resetter(ctx: "BattleContext"): + if ctx.current_policies is not None: + assert len(ctx.current_policies) > 1, "battle collector needs more than 1 policies" + ctx._default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) + ctx.agent_num = len(ctx.current_policies) ctx.traj_len = float("inf") # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions ctx.traj_buffer = { @@ -152,17 +152,17 @@ def _policy_resetter(ctx: OnlineRLContext): for env_id in range(env_num) } - for p in ctx.policies: + for p in ctx.current_policies: p.reset() else: - raise RuntimeError('ctx.policies should not be None') + raise RuntimeError('ctx.current_policies should not be None') return _policy_resetter def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): - def _battle_inferencer(ctx: "OnlineRLContext"): + def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) @@ -175,7 +175,7 @@ def _battle_inferencer(ctx: "OnlineRLContext"): if cfg.transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.policies)] + policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.current_policies)] policy_output_pool.update(policy_output) # Interact with env. @@ -191,15 +191,14 @@ def _battle_inferencer(ctx: "OnlineRLContext"): def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): - def _battle_rolloutor(ctx: "OnlineRLContext"): + def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) for env_id, timestep in timesteps.items(): - # TODO: self.total_envstep_count += 1 ctx.envstep += 1 - for policy_id, _ in enumerate(ctx.policies): + for policy_id, _ in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx.policies[policy_id].process_transition( + transition = ctx.current_policies[policy_id].process_transition( obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], policy_timestep ) transition['collect_iter'] = ctx.train_iter @@ -208,7 +207,7 @@ def _battle_rolloutor(ctx: "OnlineRLContext"): if timestep.done: transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) if cfg.get_train_sample: - train_sample = ctx.policies[policy_id].get_train_sample(transitions) + train_sample = ctx.current_policies[policy_id].get_train_sample(transitions) ctx.train_data[policy_id].extend(train_sample) else: ctx.train_data[policy_id].append(transitions) @@ -216,7 +215,7 @@ def _battle_rolloutor(ctx: "OnlineRLContext"): if timestep.done: ctx.collected_episode += 1 - for i, p in enumerate(ctx.policies): + for i, p in enumerate(ctx.current_policies): p.reset([env_id]) for i in range(ctx.agent_num): ctx.traj_buffer[env_id][i].clear() diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index ba59c57b46..77635d516e 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -9,7 +9,7 @@ from easydict import EasyDict from ding.envs import BaseEnvManager -from ding.framework import OnlineRLContext +from ding.framework import BattleContext from ding.league.v2.base_league import Job from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel @@ -29,7 +29,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 self.n_rollout_samples = 64 self._collectors: Dict[str, BattleCollector] = {} - self._policies: Dict[str, "Policy.collect_function"] = {} + self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) self._policy_resetter = task.wrap(policy_resetter(self.env_num)) @@ -61,16 +61,16 @@ def _get_collector(self, player_id: str): def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": player_id = player.player_id - if self._policies.get(player_id): - return self._policies.get(player_id) + if self.all_policies.get(player_id): + return self.all_policies.get(player_id) policy: "Policy.collect_function" = self.policy_fn().collect_mode - self._policies[player_id] = policy + self.all_policies[player_id] = policy if "historical" in player.player_id: policy.load_state_dict(player.checkpoint.load()) return policy - def __call__(self, ctx: "OnlineRLContext"): + def __call__(self, ctx: "BattleContext"): # if not self._running: # task.emit("actor_greeting", task.router.node_id) @@ -85,7 +85,6 @@ def __call__(self, ctx: "OnlineRLContext"): job_player_id_list = [player.player_id for player in ctx.job.players] - # TODO: 每次循环开始前把 model_queue 清空 with self.model_dict_lock: for player_id, learner_model in self.model_dict.items(): if learner_model is not None and player_id in job_player_id_list: @@ -96,16 +95,15 @@ def __call__(self, ctx: "OnlineRLContext"): self.model_dict[player_id] = None collector = self._get_collector(ctx.job.launch_player) - current_policies = [] + ctx.current_policies = [] main_player: "PlayerMeta" = None for player in ctx.job.players: - current_policies.append(self._get_policy(player)) + ctx.current_policies.append(self._get_policy(player)) if player.player_id == ctx.job.launch_player: main_player = player # inferencer,rolloutor = self._get_collector(player.player_id) assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) - ctx.policies = current_policies self._policy_resetter(ctx) ctx.n_episode = None From 2ad937d1b67ed93f8340dd64227fa1279337106c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 1 Jun 2022 23:41:30 +0800 Subject: [PATCH 072/229] debugging --- ding/framework/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/__init__.py b/ding/framework/__init__.py index 990b258f6f..f79c44a515 100644 --- a/ding/framework/__init__.py +++ b/ding/framework/__init__.py @@ -1,4 +1,4 @@ -from .context import Context, OnlineRLContext, OfflineRLContext +from .context import Context, OnlineRLContext, OfflineRLContext, BattleContext from .task import Task, task from .parallel import Parallel from .event_loop import EventLoop From bfd149d9d62675a83f4f6567568dd53c642f2101 Mon Sep 17 00:00:00 2001 From: lixl-st <101248619+lixl-st@users.noreply.github.com> Date: Thu, 2 Jun 2022 12:02:37 +0800 Subject: [PATCH 073/229] update quick colab link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 05c57fcdd8..7c283dc652 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ The detailed documentation are hosted on [doc](https://di-engine-docs.readthedoc [3 Minutes Kickoff](https://di-engine-docs.readthedocs.io/en/latest/quick_start/index.html) -[3 Minutes Kickoff (colab)](https://colab.research.google.com/drive/1J29voOD2v9_FXjW-EyTVfRxY_Op_ygef#scrollTo=MIaKQqaZCpGz) +[3 Minutes Kickoff (colab)](https://colab.research.google.com/drive/1K3DGi3dOT9fhFqa6bBtinwCDdWkOM3zE?usp=sharing) [3 分钟上手中文版 (kaggle)](https://www.kaggle.com/fallinx/di-engine/) From 1071dd1378c2c7fc43d2ca8cba1793fec925931d Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 2 Jun 2022 15:13:19 +0800 Subject: [PATCH 074/229] drop commit "add BattleContext, policy_getter, policy_updater, modify policy_resetter", fix conflicts --- ding/framework/context.py | 3 --- ding/framework/middleware/__init__.py | 1 - ding/framework/middleware/collector.py | 17 ++++---------- .../middleware/functional/__init__.py | 3 ++- .../middleware/{ => functional}/actor_data.py | 0 .../middleware/functional/collector.py | 23 +++++++++++++++++++ ding/framework/middleware/league_actor.py | 15 ++++++++---- .../middleware/tests/test_league_actor.py | 3 ++- .../tests/test_league_actor_one_process.py | 3 ++- 9 files changed, 44 insertions(+), 24 deletions(-) rename ding/framework/middleware/{ => functional}/actor_data.py (100%) diff --git a/ding/framework/context.py b/ding/framework/context.py index 5f5016f93f..d5dd2da9a9 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -80,6 +80,3 @@ class BattleContext(Context): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.__dict__ = self - - self.all_policies = [] - self.keep('all_policies') \ No newline at end of file diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 039511d001..8580fc2caf 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,4 +4,3 @@ from .ckpt_handler import CkptSaver from .league_actor import LeagueActor from .league_coordinator import LeagueCoordinator -from .actor_data import ActorData diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 898b293bde..e80e540bb1 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -3,8 +3,7 @@ from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager from ding.framework import task, EventEnum -from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor -from .actor_data import ActorData +from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, job_data_sender # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -32,6 +31,8 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool) ) self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) + self._job_data_sender = task.wrap(job_data_sender(self.streaming_sampling_flag, self.n_rollout_samples)) + def __del__(self) -> None: """ @@ -77,20 +78,12 @@ def __call__(self, ctx: "BattleContext") -> None: while True: self._battle_inferencer(ctx) self._battle_rolloutor(ctx) + self.total_envstep_count = ctx.envstep - if not ctx.job.is_eval and self.streaming_sampling_flag is True and len(ctx.train_data[0]) >= self.n_rollout_samples: - actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - ctx.train_data = [[] for _ in range(ctx.agent_num)] + self._job_data_sender(ctx) if ctx.collected_episode >= ctx.n_episode: - ctx.job.result = [e['result'] for e in ctx.episode_info[0]] - task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) - if not ctx.job.is_eval and len(ctx.train_data[0]) > 0: - actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - ctx.train_data = [[] for _ in range(ctx.agent_num)] break diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index de028e8834..4997ff1da3 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, policy_resetter, battle_inferencer, battle_rolloutor +from .collector import inferencer, rolloutor, TransitionList, policy_resetter, battle_inferencer, battle_rolloutor, job_data_sender from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller @@ -10,3 +10,4 @@ from .explorer import eps_greedy_handler, eps_greedy_masker from .advantage_estimator import gae_estimator from .enhancer import reward_estimator, her_data_enhancer, nstep_reward_enhancer +from .actor_data import ActorData diff --git a/ding/framework/middleware/actor_data.py b/ding/framework/middleware/functional/actor_data.py similarity index 100% rename from ding/framework/middleware/actor_data.py rename to ding/framework/middleware/functional/actor_data.py diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 440cfdd1bb..eb700c856e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -8,6 +8,10 @@ from ding.utils import dicts_to_lists from ding.torch_utils import to_tensor, to_ndarray from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, to_tensor_transitions +from threading import Lock +from ding.league.player import PlayerMeta +from ding.framework import task, EventEnum +from .actor_data import ActorData # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -159,6 +163,25 @@ def _policy_resetter(ctx: "BattleContext"): return _policy_resetter +def job_data_sender(streaming_sampling_flag: bool, n_rollout_samples: int): + + def _job_data_sender(ctx: "BattleContext"): + if not ctx.job.is_eval and streaming_sampling_flag is True and len(ctx.train_data[0]) >= n_rollout_samples: + actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + ctx.train_data = [[] for _ in range(ctx.agent_num)] + + if ctx.collected_episode >= ctx.n_episode: + ctx.job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + if not ctx.job.is_eval and len(ctx.train_data[0]) > 0: + actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + ctx.train_data = [[] for _ in range(ctx.agent_num)] + + return _job_data_sender + + def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 77635d516e..8fb1a67941 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -70,17 +70,22 @@ def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": return policy - def __call__(self, ctx: "BattleContext"): - # if not self._running: - # task.emit("actor_greeting", task.router.node_id) - + def _get_job(self): if self.job_queue.empty(): task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) + job = None try: - ctx.job = self.job_queue.get(timeout=10) + job = self.job_queue.get(timeout=10) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) + + return job + + def __call__(self, ctx: "BattleContext"): + + ctx.job = self._get_job() + if ctx.job is None: return job_player_id_list = [player.player_id for player in ctx.job.players] diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 53772a8a30..d71b9b0f3f 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -4,7 +4,8 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import ActorData, LeagueActor +from ding.framework.middleware import LeagueActor +from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 4aaef8861d..e97610bcf1 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -4,7 +4,8 @@ from ding.envs import BaseEnvManager from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import ActorData, LeagueActor +from ding.framework.middleware import LeagueActor +from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage From 310c2797ab0f8953fc081cf1b19bb4fb30db63ee Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 2 Jun 2022 16:29:11 +0800 Subject: [PATCH 075/229] change the logic of update model --- ding/framework/middleware/league_actor.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 8fb1a67941..9b6da663c6 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -90,16 +90,19 @@ def __call__(self, ctx: "BattleContext"): job_player_id_list = [player.player_id for player in ctx.job.players] - with self.model_dict_lock: - for player_id, learner_model in self.model_dict.items(): - if learner_model is not None and player_id in job_player_id_list: - player_meta = PlayerMeta(player_id=player_id, checkpoint=None) - policy = self._get_policy(player_meta) - # update policy model - policy.load_state_dict(learner_model.state_dict) - self.model_dict[player_id] = None + for player_id in job_player_id_list: + if player_id not in self.model_dict.keys() or self.model_dict[player_id] == None: + continue + else: + learner_model = self.model_dict[player_id] + player_meta = PlayerMeta(player_id=player_id, checkpoint=None) + policy = self._get_policy(player_meta) + # update policy model + policy.load_state_dict(learner_model.state_dict) + self.model_dict[player_id] = None collector = self._get_collector(ctx.job.launch_player) + ctx.current_policies = [] main_player: "PlayerMeta" = None for player in ctx.job.players: From d8a385dbc79bf807612f0bc2c7a68df93244baef Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 2 Jun 2022 17:36:48 +0800 Subject: [PATCH 076/229] add actor._get_current_policies and collector._update_policies --- ding/framework/middleware/collector.py | 22 ++++++++++++++- ding/framework/middleware/league_actor.py | 33 +++++++++-------------- 2 files changed, 33 insertions(+), 22 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index e80e540bb1..4d219f03f2 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -4,6 +4,7 @@ from ding.envs import BaseEnvManager from ding.framework import task, EventEnum from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, job_data_sender +from typing import Dict # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -12,7 +13,7 @@ class BattleCollector: - def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): + def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict): self.cfg = cfg self.end_flag = False # self._reset(env) @@ -26,6 +27,8 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int): self.end_flag = False self.n_rollout_samples = n_rollout_samples self.streaming_sampling_flag = n_rollout_samples > 0 + self.model_dict = model_dict + self.all_policies = all_policies self._battle_inferencer = task.wrap( battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool) @@ -44,6 +47,22 @@ def __del__(self) -> None: return self.end_flag = True self.env.close() + + def _update_policies(self, job) -> None: + job_player_id_list = [player.player_id for player in job.players] + + for player_id in job_player_id_list: + if self.model_dict.get(player_id) is None: + continue + else: + learner_model = self.model_dict.get(player_id) + policy = self.all_policies.get(player_id) + assert policy, "for player{}, policy should have been initialized already" + # update policy model + policy.load_state_dict(learner_model.state_dict) + self.model_dict[player_id] = None + + def __call__(self, ctx: "BattleContext") -> None: """ @@ -76,6 +95,7 @@ def __call__(self, ctx: "BattleContext") -> None: ctx.ready_env_id = set() ctx.remain_episode = ctx.n_episode while True: + self._update_policies(ctx.job) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 9b6da663c6..26e9c5c6b2 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -55,7 +55,7 @@ def _get_collector(self, player_id: str): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples)) + collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies)) self._collectors[player_id] = collector return collector @@ -82,34 +82,25 @@ def _get_job(self): return job + def _get_current_policies(self, job): + current_policies = [] + main_player: "PlayerMeta" = None + for player in job.players: + current_policies.append(self._get_policy(player)) + if player.player_id == job.launch_player: + main_player = player + return main_player, current_policies + + def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() if ctx.job is None: return - job_player_id_list = [player.player_id for player in ctx.job.players] - - for player_id in job_player_id_list: - if player_id not in self.model_dict.keys() or self.model_dict[player_id] == None: - continue - else: - learner_model = self.model_dict[player_id] - player_meta = PlayerMeta(player_id=player_id, checkpoint=None) - policy = self._get_policy(player_meta) - # update policy model - policy.load_state_dict(learner_model.state_dict) - self.model_dict[player_id] = None - collector = self._get_collector(ctx.job.launch_player) - ctx.current_policies = [] - main_player: "PlayerMeta" = None - for player in ctx.job.players: - ctx.current_policies.append(self._get_policy(player)) - if player.player_id == ctx.job.launch_player: - main_player = player - # inferencer,rolloutor = self._get_collector(player.player_id) + main_player, ctx.current_policies = self._get_current_policies(ctx.job) assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) self._policy_resetter(ctx) From 07950981a77fe9797250486c05fb31f2c5822fe7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 6 Jun 2022 11:08:53 +0800 Subject: [PATCH 077/229] change variable names --- ding/framework/middleware/collector.py | 6 +++--- ding/framework/middleware/functional/collector.py | 2 +- ding/framework/middleware/league_actor.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4d219f03f2..5b52e407eb 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -69,7 +69,7 @@ def __call__(self, ctx: "BattleContext") -> None: Input of ctx: - n_episode (:obj:`int`): the number of collecting data episode - train_iter (:obj:`int`): the number of training iteration - - policy_kwargs (:obj:`dict`): the keyword args for policy forward + - collect_kwargs (:obj:`dict`): the keyword args for policy forward Output of ctx: - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ the former is a list containing collected episodes if not get_train_sample, \ @@ -83,8 +83,8 @@ def __call__(self, ctx: "BattleContext") -> None: ctx.n_episode = ctx._default_n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" - if ctx.policy_kwargs is None: - ctx.policy_kwargs = {} + if ctx.collect_kwargs is None: + ctx.collect_kwargs = {} if self.env.closed: self.env.launch() diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index eb700c856e..4af6e82dd9 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -198,7 +198,7 @@ def _battle_inferencer(ctx: "BattleContext"): if cfg.transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.policy_kwargs) for i, p in enumerate(ctx.current_policies)] + policy_output = [p.forward(obs[i], **ctx.collect_kwargs) for i, p in enumerate(ctx.current_policies)] policy_output_pool.update(policy_output) # Interact with env. diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 26e9c5c6b2..5562e2b4a7 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -107,7 +107,7 @@ def __call__(self, ctx: "BattleContext"): ctx.n_episode = None ctx.train_iter = main_player.total_agent_step - ctx.policy_kwargs = None + ctx.collect_kwargs = None collector(ctx) From ab7b5565d3d46a0361b99e5fc2c67d0ef623b8c2 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 6 Jun 2022 14:48:05 +0800 Subject: [PATCH 078/229] add league policy --- ding/framework/middleware/league_learner.py | 68 +++++++++++++++++++ .../tests/test_league_coordinator.py | 4 ++ .../middleware/tests/test_league_pipeline.py | 2 +- 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index adcdd158b6..103f2877cc 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,4 +1,16 @@ from dataclasses import dataclass +from time import sleep +from os import path as osp +from ding.framework import task, EventEnum +from ding.framework.storage import Storage, FileStorage +from ding.league.player import PlayerMeta +from ding.worker.learner.base_learner import BaseLearner +from typing import TYPE_CHECKING, Callable, Optional +from threading import Lock +if TYPE_CHECKING: + from ding.framework import Context + from ding.framework.middleware.league_actor import ActorData + from ding.league import ActivePlayer @dataclass @@ -6,3 +18,59 @@ class LearnerModel: player_id: str state_dict: dict train_iter: int = 0 + +@dataclass +class LearnerModel: + player_id: str + state_dict: dict + train_iter: int = 0 + +class LeagueLearner: + + def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: + self.cfg = cfg + self.policy_fn = policy_fn + self.player = player + self.player_id = player.player_id + self.checkpoint_prefix = cfg.policy.other.league.path_policy + self._learner = self._get_learner() + task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_data) + self._lock = Lock() + + def _on_actor_data(self, actor_data: "ActorData"): + with self._lock: + cfg = self.cfg + for _ in range(cfg.policy.learn.update_per_collect): + self._learner.train(actor_data.train_data, actor_data.env_step) + + self.player.total_agent_step = self._learner.train_iter + checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None + task.emit( + EventEnum.LEARNER_SEND_META, + PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) + ) + + learner_model = LearnerModel( + player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter + ) + task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) + + def _get_learner(self) -> BaseLearner: + policy = self.policy_fn().learn_mode + learner = BaseLearner( + self.cfg.policy.learn.learner, + policy, + exp_name=self.cfg.exp_name, + instance_name=self.player_id + '_learner' + ) + return learner + + def _save_checkpoint(self) -> Optional[Storage]: + storage = FileStorage( + path=osp.join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) + ) + storage.save(self._learner.policy.state_dict()) + return storage + + def __call__(self, _: "Context") -> None: + sleep(1) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 2d3a8b65cc..bdaba250a1 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -69,3 +69,7 @@ def _main(): @pytest.mark.unittest def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) + + +if __name__ == "__main__": + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index a84a4170a9..680298a46f 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -64,7 +64,7 @@ def get_job_info(self, player_id): ] ) -N_ACTORS = 5 +N_ACTORS = 3 def _main(): cfg, env_fn, policy_fn = prepare_test() From 1137a17ee8a626266b09910043b2a92a0e22331a Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 6 Jun 2022 14:52:49 +0800 Subject: [PATCH 079/229] reformat --- ding/framework/context.py | 2 ++ ding/framework/middleware/collector.py | 14 ++++++-------- .../middleware/functional/actor_data.py | 3 ++- .../framework/middleware/functional/collector.py | 6 +++--- ding/framework/middleware/league_actor.py | 16 +++++++++------- ding/framework/middleware/league_coordinator.py | 4 ++-- ding/framework/middleware/league_learner.py | 2 ++ .../tests/test_league_actor_one_process.py | 3 ++- .../middleware/tests/test_league_coordinator.py | 8 +++++--- .../middleware/tests/test_league_pipeline.py | 12 ++++++++---- ding/league/player.py | 1 + 11 files changed, 42 insertions(+), 29 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index d5dd2da9a9..7111490ea2 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -76,7 +76,9 @@ def __init__(self, *args, **kwargs) -> None: self.keep('train_iter', 'last_eval_iter') + class BattleContext(Context): + def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.__dict__ = self diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4d219f03f2..d4c7c76fad 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -11,9 +11,12 @@ from ding.worker.collector.base_serial_collector import CachePool + class BattleCollector: - def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict): + def __init__( + self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict + ): self.cfg = cfg self.end_flag = False # self._reset(env) @@ -36,7 +39,6 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) self._job_data_sender = task.wrap(job_data_sender(self.streaming_sampling_flag, self.n_rollout_samples)) - def __del__(self) -> None: """ Overview: @@ -47,9 +49,9 @@ def __del__(self) -> None: return self.end_flag = True self.env.close() - + def _update_policies(self, job) -> None: - job_player_id_list = [player.player_id for player in job.players] + job_player_id_list = [player.player_id for player in job.players] for player_id in job_player_id_list: if self.model_dict.get(player_id) is None: @@ -62,8 +64,6 @@ def _update_policies(self, job) -> None: policy.load_state_dict(learner_model.state_dict) self.model_dict[player_id] = None - - def __call__(self, ctx: "BattleContext") -> None: """ Input of ctx: @@ -107,8 +107,6 @@ def __call__(self, ctx: "BattleContext") -> None: break - - class StepCollector: """ Overview: diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 350022052a..2540e1862c 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -1,7 +1,8 @@ from typing import Any from dataclasses import dataclass + @dataclass class ActorData: train_data: Any - env_step: int = 0 \ No newline at end of file + env_step: int = 0 diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index eb700c856e..92081a4541 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -163,8 +163,9 @@ def _policy_resetter(ctx: "BattleContext"): return _policy_resetter + def job_data_sender(streaming_sampling_flag: bool, n_rollout_samples: int): - + def _job_data_sender(ctx: "BattleContext"): if not ctx.job.is_eval and streaming_sampling_flag is True and len(ctx.train_data[0]) >= n_rollout_samples: actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) @@ -178,9 +179,8 @@ def _job_data_sender(ctx: "BattleContext"): actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.train_data = [[] for _ in range(ctx.agent_num)] - - return _job_data_sender + return _job_data_sender def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 26e9c5c6b2..70007d14d8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -19,6 +19,7 @@ from threading import Lock import queue + class LeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): @@ -55,7 +56,11 @@ def _get_collector(self, player_id: str): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies)) + collector = task.wrap( + BattleCollector( + cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies + ) + ) self._collectors[player_id] = collector return collector @@ -79,8 +84,8 @@ def _get_job(self): job = self.job_queue.get(timeout=10) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) - - return job + + return job def _get_current_policies(self, job): current_policies = [] @@ -91,13 +96,12 @@ def _get_current_policies(self, job): main_player = player return main_player, current_policies - def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() if ctx.job is None: return - + collector = self._get_collector(ctx.job.launch_player) main_player, ctx.current_policies = self._get_current_policies(ctx.job) @@ -110,5 +114,3 @@ def __call__(self, ctx: "BattleContext"): ctx.policy_kwargs = None collector(ctx) - - diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 8a50c9f8d1..8db9d9c4e5 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -16,7 +16,7 @@ def __init__(self, league: "BaseLeague") -> None: self._lock = Lock() self._total_send_jobs = 0 self._eval_frequency = 10 - + task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) @@ -36,7 +36,7 @@ def _on_actor_greeting(self, actor_id): def _on_learner_meta(self, player_meta: "PlayerMeta"): self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) - + def _on_actor_job(self, job: "Job"): self.league.update_payoff(job) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 103f2877cc..2e82fee82a 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -19,12 +19,14 @@ class LearnerModel: state_dict: dict train_iter: int = 0 + @dataclass class LearnerModel: player_id: str state_dict: dict train_iter: int = 0 + class LeagueLearner: def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index e97610bcf1..821557a1b7 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -103,5 +103,6 @@ def _test_actor(ctx): task.use(league_actor) task.run() + if __name__ == '__main__': - test_league_actor() \ No newline at end of file + test_league_actor() diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index bdaba250a1..8a95ca1278 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -45,8 +45,10 @@ def _main(): elif task.router.node_id == 1: # test ACTOR_GREETING res = [] - task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), - lambda job: res.append(job)) + task.on( + EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), + lambda job: res.append(job) + ) for _ in range(3): task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) time.sleep(3) @@ -63,7 +65,7 @@ def _main(): task.emit(EventEnum.ACTOR_FINISH_JOB, job) time.sleep(3) else: - raise Exception("Invalid node id {}".format(task.router.is_active)) + raise Exception("Invalid node id {}".format(task.router.is_active)) @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 680298a46f..8b2d0f5c75 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -16,6 +16,7 @@ from unittest.mock import patch import random + def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -34,6 +35,7 @@ def policy_fn(): return cfg, env_fn, policy_fn + class MockLeague: def __init__(self): @@ -57,15 +59,17 @@ def get_job_info(self, player_id): other_players = [i for i in self.active_players_ids if i != player_id] another_palyer = random.choice(other_players) return Job( - launch_player=player_id, + launch_player=player_id, players=[ PlayerMeta(player_id=player_id, checkpoint=FileStorage(path=None), total_agent_step=0), PlayerMeta(player_id=another_palyer, checkpoint=FileStorage(path=None), total_agent_step=0) ] ) + N_ACTORS = 3 + def _main(): cfg, env_fn, policy_fn = prepare_test() @@ -88,10 +92,10 @@ def _main(): @pytest.mark.unittest def test_league_actor(): - Parallel.runner(n_parallel_workers=N_ACTORS+1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS + 1, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS+1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS + 1, protocol="tcp", topology="mesh")(_main) # replicas = 10 -# un parallel worker 改成1 \ No newline at end of file +# un parallel worker 改成1 diff --git a/ding/league/player.py b/ding/league/player.py index f5a7d33233..c9f2b28402 100644 --- a/ding/league/player.py +++ b/ding/league/player.py @@ -8,6 +8,7 @@ from .algorithm import pfsp from ding.framework.storage import Storage + @dataclass class PlayerMeta: player_id: str From e9d3b4794c90ca5f3b8495870500de59b3b3e676 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Mon, 6 Jun 2022 20:23:41 +0800 Subject: [PATCH 080/229] polish(nyz): polish and test distar head --- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/data_helper.py | 14 +- ding/torch_utils/network/__init__.py | 5 +- ding/torch_utils/network/nn_module.py | 35 + ding/torch_utils/network/res_block.py | 26 + .../torch_utils/network/script_lstm.py | 157 +- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/envs/action_dict.py | 937 ----------- dizoo/distar/envs/meta.py | 1 + dizoo/distar/envs/static_data.py | 1473 ++++++++++++++++- .../model/actor_critic_default_config.yaml | 7 +- dizoo/distar/model/head/action_arg_head.py | 90 +- dizoo/distar/model/head/action_type_head.py | 11 +- dizoo/distar/model/model.py | 15 +- dizoo/distar/model/module_utils.py | 570 ------- dizoo/distar/model/policy.py | 2 +- dizoo/distar/model/tests/test_head.py | 119 ++ 17 files changed, 1717 insertions(+), 1749 deletions(-) rename dizoo/distar/model/lstm.py => ding/torch_utils/network/script_lstm.py (72%) delete mode 100644 dizoo/distar/envs/action_dict.py delete mode 100644 dizoo/distar/model/module_utils.py create mode 100644 dizoo/distar/model/tests/test_head.py diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index ca48761136..fdc5eeed8d 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -1,6 +1,6 @@ from .checkpoint_helper import build_checkpoint_helper, CountVar, auto_checkpoint from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ - build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data + build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad from .distribution import CategoricalPd, CategoricalPdPytorch from .metric import levenshtein_distance, hamming_distance from .network import * diff --git a/ding/torch_utils/data_helper.py b/ding/torch_utils/data_helper.py index 9e0b8e7861..a0dd8ba07b 100644 --- a/ding/torch_utils/data_helper.py +++ b/ding/torch_utils/data_helper.py @@ -1,4 +1,4 @@ -from typing import Iterable, Any, Optional, List +from typing import Iterable, Any, Optional, List, Mapping from collections.abc import Sequence import numbers import time @@ -397,3 +397,15 @@ def get_null_data(template: Any, num: int) -> List[Any]: data['reward'].zero_() ret.append(data) return ret + + +def detach_grad(data): + if isinstance(data, Sequence): + for i in range(len(data)): + data[i] = detach_grad(data[i]) + elif isinstance(data, Mapping): + for k in data.keys(): + data[k] = detach_grad(data[k]) + elif isinstance(data, torch.Tensor): + data = data.detach() + return data diff --git a/ding/torch_utils/network/__init__.py b/ding/torch_utils/network/__init__.py index fd661c078a..d22ae36740 100644 --- a/ding/torch_utils/network/__init__.py +++ b/ding/torch_utils/network/__init__.py @@ -1,7 +1,7 @@ from .activation import build_activation, Swish -from .res_block import ResBlock, ResFCBlock +from .res_block import ResBlock, ResFCBlock, GatedConvResBlock from .nn_module import fc_block, conv2d_block, one_hot, deconv2d_block, BilinearUpsample, NearestUpsample, \ - binary_encode, NoiseLinearLayer, noise_block, MLP, Flatten + binary_encode, NoiseLinearLayer, noise_block, MLP, Flatten, AttentionPool from .normalization import build_normalization from .rnn import get_lstm, sequence_mask from .soft_argmax import SoftArgmax @@ -10,3 +10,4 @@ from .resnet import resnet18, ResNet from .gumbel_softmax import GumbelSoftmax from .gtrxl import GTrXL, GRUGatingUnit +from .script_lstm import script_lstm diff --git a/ding/torch_utils/network/nn_module.py b/ding/torch_utils/network/nn_module.py index 5387e58b58..0cf7e4ec6a 100644 --- a/ding/torch_utils/network/nn_module.py +++ b/ding/torch_utils/network/nn_module.py @@ -592,6 +592,41 @@ def noise_block( return sequential_pack(block) +class AttentionPool(nn.Module): + + def __init__(self, key_dim, head_num, output_dim, max_num=None): + super(AttentionPool, self).__init__() + self.queries = torch.nn.Parameter(torch.zeros(1, 1, head_num, key_dim)) + torch.nn.init.xavier_uniform_(self.queries) + self.head_num = head_num + self.add_num = False + if max_num is not None: + self.add_num = True + self.num_ebed = torch.nn.Embedding(num_embeddings=max_num, embedding_dim=output_dim) + self.embed_fc = fc_block(key_dim * self.head_num, output_dim) + + def forward(self, x, num=None, mask=None): + assert len(x.shape) == 3 # batch size, tokens, channels + x_with_head = x.unsqueeze(dim=2) # add head dim + score = x_with_head * self.queries + score = score.sum(dim=3) # b, t, h + if mask is not None: + assert len(mask.shape) == 3 and mask.shape[-1] == 1 + mask = mask.repeat(1, 1, self.head_num) + score.masked_fill_(~mask.bool(), value=-1e9) + score = F.softmax(score, dim=1) + x = x.unsqueeze(dim=3).repeat(1, 1, 1, self.head_num) # b, t, c, h + score = score.unsqueeze(dim=2) # b, t, 1, h + x = x * score + x = x.sum(dim=1) # b, c, h + x = x.view(x.shape[0], -1) # b, c * h + x = self.embed_fc(x) # b, c + if self.add_num: + x = x + F.relu(self.num_ebed(num.long())) + x = F.relu(x) + return x + + class NaiveFlatten(nn.Module): def __init__(self, start_dim: int = 1, end_dim: int = -1) -> None: diff --git a/ding/torch_utils/network/res_block.py b/ding/torch_utils/network/res_block.py index 3dcdafa40f..5e71edde39 100644 --- a/ding/torch_utils/network/res_block.py +++ b/ding/torch_utils/network/res_block.py @@ -122,3 +122,29 @@ def forward(self, x: torch.Tensor) -> torch.Tensor: x = self.fc2(x) x = self.act(x + residual) return x + + +class GatedConvResBlock(nn.Module): + + def __init__(self, in_channels, out_channels, kernel_size, stride, padding, activation=nn.ReLU(), norm_type='BN'): + super(GatedConvResBlock, self).__init__() + assert (stride == 1), stride + assert (in_channels == out_channels), '{}/{}'.format(in_channels, out_channels) + self.act = activation + self.conv1 = conv2d_block(in_channels, out_channels, 3, 1, 1, activation=self.act, norm_type=norm_type) + self.conv2 = conv2d_block(out_channels, out_channels, 3, 1, 1, activation=None, norm_type=norm_type) + self.gate = nn.Sequential( + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), + conv2d_block(out_channels, out_channels, 1, 1, 0, activation=None, norm_type=None) + ) + self.update_sp = nn.Parameter(torch.full((1, ), fill_value=0.1)) + + def forward(self, x, noise_map): + residual = x + x = self.conv1(x) + x = self.conv2(x) + x = torch.tanh(x * torch.sigmoid(self.gate(noise_map))) * self.update_sp + x = self.act(x + residual) + return x diff --git a/dizoo/distar/model/lstm.py b/ding/torch_utils/network/script_lstm.py similarity index 72% rename from dizoo/distar/model/lstm.py rename to ding/torch_utils/network/script_lstm.py index 8671a8ff05..dc695e0961 100644 --- a/dizoo/distar/model/lstm.py +++ b/ding/torch_utils/network/script_lstm.py @@ -1,81 +1,10 @@ -from collections import namedtuple from typing import List, Tuple -from torch import Tensor -from torch.nn import Parameter -import warnings import numbers import torch import torch.nn as nn import torch.jit as jit -warnings.filterwarnings( - "ignore", - message=r"'layers' was found in ScriptModule constants, but it is a non-constant submodule. Consider removing it." -) - - -def script_lstm(input_size, hidden_size, num_layers, dropout=False, bidirectional=False): - '''Returns a ScriptModule that mimics a PyTorch native LSTM.''' - - if bidirectional: - stack_type = StackedLSTM2 - layer_type = BidirLSTMLayer - dirs = 2 - elif dropout: - stack_type = StackedLSTMWithDropout - layer_type = LSTMLayer - dirs = 1 - else: - stack_type = StackedLSTM - layer_type = LSTMLayer - dirs = 1 - - return stack_type( - num_layers, - layer_type, - first_layer_args=[LSTMCell, input_size, hidden_size], - other_layer_args=[LSTMCell, hidden_size * dirs, hidden_size] - ) - - -def script_lnlstm( - input_size, - hidden_size, - num_layers, - bias=True, - batch_first=False, - dropout=False, - bidirectional=False, - decompose_layernorm=False -): - '''Returns a ScriptModule that mimics a PyTorch native LSTM.''' - - # The following are not implemented. - assert bias - assert not batch_first - assert not dropout - - if bidirectional: - stack_type = StackedLSTM2 - layer_type = BidirLSTMLayer - dirs = 2 - else: - stack_type = StackedLSTM - layer_type = LSTMLayer - dirs = 1 - - return stack_type( - num_layers, - layer_type, - first_layer_args=[LayerNormLSTMCell, input_size, hidden_size, decompose_layernorm], - other_layer_args=[LayerNormLSTMCell, hidden_size * dirs, hidden_size, decompose_layernorm] - ) - - -LSTMState = namedtuple('LSTMState', ['hx', 'cx']) - - -def reverse(lst: List[Tensor]) -> List[Tensor]: - return lst[::-1] +from torch import Tensor +from ditk import logging class LSTMCell(nn.Module): @@ -84,10 +13,10 @@ def __init__(self, input_size, hidden_size): super(LSTMCell, self).__init__() self.input_size = input_size self.hidden_size = hidden_size - self.weight_ih = Parameter(torch.randn(4 * hidden_size, input_size)) - self.weight_hh = Parameter(torch.randn(4 * hidden_size, hidden_size)) - self.bias_ih = Parameter(torch.randn(4 * hidden_size)) - self.bias_hh = Parameter(torch.randn(4 * hidden_size)) + self.weight_ih = nn.Parameter(torch.randn(4 * hidden_size, input_size)) + self.weight_hh = nn.Parameter(torch.randn(4 * hidden_size, hidden_size)) + self.bias_ih = nn.Parameter(torch.randn(4 * hidden_size)) + self.bias_hh = nn.Parameter(torch.randn(4 * hidden_size)) def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, Tuple[Tensor, Tensor]]: hx, cx = state @@ -105,45 +34,16 @@ def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, return hy, (hy, cy) -class LayerNorm(nn.Module): - - def __init__(self, normalized_shape): - super(LayerNorm, self).__init__() - if isinstance(normalized_shape, numbers.Integral): - normalized_shape = (normalized_shape, ) - normalized_shape = torch.Size(normalized_shape) - - # XXX: This is true for our LSTM / NLP use case and helps simplify code - assert len(normalized_shape) == 1 - - self.weight = Parameter(torch.ones(normalized_shape)) - self.bias = Parameter(torch.zeros(normalized_shape)) - self.normalized_shape = normalized_shape - - def compute_layernorm_stats(self, input): - mu = input.mean(-1, keepdim=True) - sigma = input.std(-1, keepdim=True, unbiased=False) - return mu, sigma - - def forward(self, input): - mu, sigma = self.compute_layernorm_stats(input) - return (input - mu) / sigma * self.weight + self.bias - - class LayerNormLSTMCell(nn.Module): - def __init__(self, input_size, hidden_size, decompose_layernorm=False): + def __init__(self, input_size, hidden_size): super(LayerNormLSTMCell, self).__init__() self.input_size = input_size self.hidden_size = hidden_size - self.weight_ih = Parameter(torch.randn(4 * hidden_size, input_size)) - self.weight_hh = Parameter(torch.randn(4 * hidden_size, hidden_size)) - # The layernorms provide learnable biases + self.weight_ih = nn.Parameter(torch.randn(4 * hidden_size, input_size)) + self.weight_hh = nn.Parameter(torch.randn(4 * hidden_size, hidden_size)) - if decompose_layernorm: - ln = LayerNorm - else: - ln = nn.LayerNorm + ln = nn.LayerNorm self.layernorm_i = ln(4 * hidden_size) self.layernorm_h = ln(4 * hidden_size) @@ -182,6 +82,10 @@ def forward(self, input: Tensor, state: Tuple[Tensor, Tensor]) -> Tuple[Tensor, return torch.stack(outputs), state +def reverse(lst: List[Tensor]) -> List[Tensor]: + return lst[::-1] + + class ReverseLSTMLayer(nn.Module): def __init__(self, cell, *cell_args): @@ -287,7 +191,7 @@ def __init__(self, num_layers, layer, first_layer_args, other_layer_args): self.num_layers = num_layers if (num_layers == 1): - warnings.warn( + logging.warning( "dropout lstm adds dropout layers after all but last " "recurrent layer, it expects num_layers greater than " "1, but got num_layers = 1" @@ -312,10 +216,29 @@ def forward(self, input: Tensor, states: List[Tuple[Tensor, Tensor]]) -> Tuple[T return output, output_states -def test_script_stacked_lnlstm(seq_len, batch, input_size, hidden_size, num_layers): - inp = torch.randn(seq_len, batch, input_size) - states = [LSTMState(torch.randn(batch, hidden_size), torch.randn(batch, hidden_size)) for _ in range(num_layers)] - rnn = script_lnlstm(input_size, hidden_size, num_layers) +def script_lstm(input_size, hidden_size, num_layers, dropout=False, bidirectional=False, LN=False): + '''Returns a ScriptModule that mimics a PyTorch native LSTM.''' - # just a smoke test - out, out_state = rnn(inp, states) + if bidirectional: + stack_type = StackedLSTM2 + layer_type = BidirLSTMLayer + dirs = 2 + elif dropout: + stack_type = StackedLSTMWithDropout + layer_type = LSTMLayer + dirs = 1 + else: + stack_type = StackedLSTM + layer_type = LSTMLayer + dirs = 1 + if LN: + cell = LayerNormLSTMCell + else: + cell = LSTMCell + + return stack_type( + num_layers, + layer_type, + first_layer_args=[cell, input_size, hidden_size], + other_layer_args=[cell, hidden_size * dirs, hidden_size] + ) diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 729cd76ef8..66f1c31e80 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,2 +1,2 @@ from .meta import * -from .static_data import BEGIN_ACTIONS +from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK diff --git a/dizoo/distar/envs/action_dict.py b/dizoo/distar/envs/action_dict.py deleted file mode 100644 index 470ed978ee..0000000000 --- a/dizoo/distar/envs/action_dict.py +++ /dev/null @@ -1,937 +0,0 @@ -import numpy as np -from copy import deepcopy - -ACTION_INFO_MASK = \ - { - 0: {'name': 'no_op', 'func_type': 'raw_no_op', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': False}, - 168: {'name': 'raw_move_camera', 'func_type': 'raw_move_camera', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': True}, - 2: {'name': 'Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, - 3: {'name': 'Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, - 4: {'name': 'Attack_Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 6: {'name': 'Attack_AttackBuilding_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 5: {'name': 'Attack_Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 7: {'name': 'Attack_AttackBuilding_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 539: {'name': 'Attack_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 540: {'name': 'Attack_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 8: {'name': 'Attack_Redirect_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 9: {'name': 'Attack_Redirect_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 88: {'name': 'Behavior_BuildingAttackOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2082, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 87: {'name': 'Behavior_BuildingAttackOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2081, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 169: {'name': 'Behavior_CloakOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3677, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, - 170: {'name': 'Behavior_CloakOff_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 393, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, - 171: {'name': 'Behavior_CloakOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 383, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 172: {'name': 'Behavior_CloakOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3676, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, - 173: {'name': 'Behavior_CloakOn_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 392, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, - 174: {'name': 'Behavior_CloakOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 382, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 175: {'name': 'Behavior_GenerateCreepOff_quick', 'func_type': 'raw_cmd', 'ability_id': 1693, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 176: {'name': 'Behavior_GenerateCreepOn_quick', 'func_type': 'raw_cmd', 'ability_id': 1692, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 178: {'name': 'Behavior_HoldFireOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 38, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 179: {'name': 'Behavior_HoldFireOff_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2552, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, - 177: {'name': 'Behavior_HoldFireOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3689, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, - 181: {'name': 'Behavior_HoldFireOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 36, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 182: {'name': 'Behavior_HoldFireOn_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2550, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, - 180: {'name': 'Behavior_HoldFireOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3688, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, - 158: {'name': 'Behavior_PulsarBeamOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2376, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 159: {'name': 'Behavior_PulsarBeamOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2375, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 183: {'name': 'Build_Armory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 331, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 36: {'name': 'Build_Assimilator_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 882, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 184: {'name': 'Build_BanelingNest_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1162, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 185: {'name': 'Build_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 321, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 186: {'name': 'Build_Bunker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 324, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 187: {'name': 'Build_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 318, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 188: {'name': 'Build_CreepTumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3691, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED', 'ZERG_QUEEN'], 'avail_unit_type_id': [137, 126]}, - 189: {'name': 'Build_CreepTumor_Queen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1694, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 190: {'name': 'Build_CreepTumor_Tumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1733, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED'], 'avail_unit_type_id': [137]}, - 47: {'name': 'Build_CyberneticsCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 894, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 44: {'name': 'Build_DarkShrine_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 891, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 191: {'name': 'Build_EngineeringBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 322, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 192: {'name': 'Build_EvolutionChamber_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1156, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 193: {'name': 'Build_Extractor_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1154, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 194: {'name': 'Build_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 328, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 39: {'name': 'Build_FleetBeacon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 885, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 38: {'name': 'Build_Forge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 884, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 195: {'name': 'Build_FusionCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 333, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 37: {'name': 'Build_Gateway_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 883, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 196: {'name': 'Build_GhostAcademy_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 327, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 197: {'name': 'Build_Hatchery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1152, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 198: {'name': 'Build_HydraliskDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1157, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 199: {'name': 'Build_InfestationPit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1160, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 200: {'name': 'Build_Interceptors_autocast', 'func_type': 'raw_autocast', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 66: {'name': 'Build_Interceptors_quick', 'func_type': 'raw_cmd', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 201: {'name': 'Build_LurkerDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1163, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 202: {'name': 'Build_MissileTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 323, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 34: {'name': 'Build_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 880, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 203: {'name': 'Build_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 710, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 204: {'name': 'Build_NydusNetwork_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1161, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 205: {'name': 'Build_NydusWorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1768, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 41: {'name': 'Build_PhotonCannon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 887, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 35: {'name': 'Build_Pylon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 881, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 207: {'name': 'Build_Reactor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 206: {'name': 'Build_Reactor_quick', 'func_type': 'raw_cmd', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 209: {'name': 'Build_Reactor_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 208: {'name': 'Build_Reactor_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 211: {'name': 'Build_Reactor_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 210: {'name': 'Build_Reactor_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 213: {'name': 'Build_Reactor_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 212: {'name': 'Build_Reactor_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 214: {'name': 'Build_Refinery_pt', 'func_type': 'raw_cmd_unit', 'ability_id': 320, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 215: {'name': 'Build_RoachWarren_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1165, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 45: {'name': 'Build_RoboticsBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 892, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 46: {'name': 'Build_RoboticsFacility_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 893, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 216: {'name': 'Build_SensorTower_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 326, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 48: {'name': 'Build_ShieldBattery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 895, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 217: {'name': 'Build_SpawningPool_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1155, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 218: {'name': 'Build_SpineCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1166, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 219: {'name': 'Build_Spire_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1158, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 220: {'name': 'Build_SporeCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1167, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 42: {'name': 'Build_Stargate_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 889, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 221: {'name': 'Build_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 329, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 95: {'name': 'Build_StasisTrap_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2505, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 222: {'name': 'Build_SupplyDepot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 319, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 224: {'name': 'Build_TechLab_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 223: {'name': 'Build_TechLab_quick', 'func_type': 'raw_cmd', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 226: {'name': 'Build_TechLab_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 225: {'name': 'Build_TechLab_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 228: {'name': 'Build_TechLab_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 227: {'name': 'Build_TechLab_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 230: {'name': 'Build_TechLab_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 229: {'name': 'Build_TechLab_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 43: {'name': 'Build_TemplarArchive_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 890, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 40: {'name': 'Build_TwilightCouncil_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 886, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 231: {'name': 'Build_UltraliskCavern_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1159, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 232: {'name': 'BurrowDown_quick', 'func_type': 'raw_cmd', 'ability_id': 3661, 'general_id': 0, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORTERRAN', 'ZERG_LURKERMP', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_ZERGLING'], 'avail_unit_type_id': [498, 9, 104, 107, 111, 7, 502, 126, 688, 110, 494, 109, 105]}, - 233: {'name': 'BurrowDown_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1374, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 234: {'name': 'BurrowDown_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1378, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 235: {'name': 'BurrowDown_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1382, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, - 236: {'name': 'BurrowDown_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1444, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR'], 'avail_unit_type_id': [111]}, - 237: {'name': 'BurrowDown_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1394, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORTERRAN'], 'avail_unit_type_id': [7]}, - 238: {'name': 'BurrowDown_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2108, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, - 239: {'name': 'BurrowDown_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1433, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 240: {'name': 'BurrowDown_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2340, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, - 241: {'name': 'BurrowDown_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1386, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, - 242: {'name': 'BurrowDown_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2014, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [494]}, - 243: {'name': 'BurrowDown_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1512, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISK'], 'avail_unit_type_id': [109]}, - 244: {'name': 'BurrowDown_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2095, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE'], 'avail_unit_type_id': [498]}, - 245: {'name': 'BurrowDown_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1390, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, - 247: {'name': 'BurrowUp_autocast', 'func_type': 'raw_autocast', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, - 246: {'name': 'BurrowUp_quick', 'func_type': 'raw_cmd', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, - 249: {'name': 'BurrowUp_Baneling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, - 248: {'name': 'BurrowUp_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, - 250: {'name': 'BurrowUp_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1380, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONEBURROWED'], 'avail_unit_type_id': [116]}, - 252: {'name': 'BurrowUp_Hydralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, - 251: {'name': 'BurrowUp_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, - 253: {'name': 'BurrowUp_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1446, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [127]}, - 255: {'name': 'BurrowUp_InfestorTerran_autocast', 'func_type': 'raw_autocast', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, - 254: {'name': 'BurrowUp_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, - 256: {'name': 'BurrowUp_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2110, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, - 258: {'name': 'BurrowUp_Queen_autocast', 'func_type': 'raw_autocast', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, - 257: {'name': 'BurrowUp_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, - 260: {'name': 'BurrowUp_Ravager_autocast', 'func_type': 'raw_autocast', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, - 259: {'name': 'BurrowUp_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, - 262: {'name': 'BurrowUp_Roach_autocast', 'func_type': 'raw_autocast', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, - 261: {'name': 'BurrowUp_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, - 263: {'name': 'BurrowUp_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2016, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP'], 'avail_unit_type_id': [493]}, - 265: {'name': 'BurrowUp_Ultralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, - 264: {'name': 'BurrowUp_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, - 266: {'name': 'BurrowUp_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2097, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 268: {'name': 'BurrowUp_Zergling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, - 267: {'name': 'BurrowUp_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, - 98: {'name': 'Cancel_quick', 'func_type': 'raw_cmd', 'ability_id': 3659, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_CYCLONE', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOST', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB', 'TERRAN_SUPPLYDEPOT', 'TERRAN_THORAP', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_BROODLORDCOCOON', 'ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPIRE', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_ORACLE', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_VOIDRAY', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 38, 37, 24, 18, 692, 22, 27, 40, 39, 30, 50, 26, 23, 20, 25, 28, 42, 41, 19, 691, 1960, 96, 113, 87, 137, 138, 90, 88, 86, 91, 94, 111, 127, 100, 501, 95, 106, 128, 687, 97, 89, 98, 139, 92, 99, 140, 892, 93, 1956, 311, 801, 61, 72, 69, 64, 63, 62, 488, 59, 495, 732, 78, 66, 60, 70, 71, 67, 496, 68, 65, 80, 1955]}, - 123: {'name': 'Cancel_AdeptPhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2594, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, - 124: {'name': 'Cancel_AdeptShadePhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2596, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPTPHASESHIFT'], 'avail_unit_type_id': [801]}, - 269: {'name': 'Cancel_BarracksAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [38, 37]}, - 125: {'name': 'Cancel_BuildInProgress_quick', 'func_type': 'raw_cmd', 'ability_id': 314, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_INFESTATIONPIT', 'ZERG_NYDUSNETWORK', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960, 96, 90, 88, 86, 94, 95, 97, 89, 93, 1956, 61, 72, 69, 64, 63, 62, 59, 732, 66, 60, 70, 71, 67, 68, 65, 1955]}, - 270: {'name': 'Cancel_CreepTumor_quick', 'func_type': 'raw_cmd', 'ability_id': 1763, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN'], 'avail_unit_type_id': [87, 137, 138]}, - 271: {'name': 'Cancel_FactoryAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 484, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [40, 39]}, - 126: {'name': 'Cancel_GravitonBeam_quick', 'func_type': 'raw_cmd', 'ability_id': 174, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, - 272: {'name': 'Cancel_HangarQueue5_quick', 'func_type': 'raw_cmd', 'ability_id': 1038, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 129: {'name': 'Cancel_Last_quick', 'func_type': 'raw_cmd', 'ability_id': 3671, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_STARPORT', 'TERRAN_STARPORTTECHLAB', 'ZERG_BANELINGCOCOON', 'ZERG_BANELINGNEST', 'ZERG_EGG', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_GREATERSPIRE', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_LAIR', 'ZERG_LURKERDENMP', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPIRE', 'ZERG_ULTRALISKCAVERN', 'PROTOSS_CARRIER', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [29, 21, 37, 18, 22, 27, 39, 30, 26, 132, 130, 28, 41, 8, 96, 103, 90, 102, 86, 101, 91, 94, 100, 504, 97, 89, 92, 93, 79, 72, 69, 64, 63, 62, 59, 70, 71, 67, 68, 65]}, - 273: {'name': 'Cancel_LockOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2354, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 274: {'name': 'Cancel_MorphBroodlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1373, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BROODLORDCOCOON'], 'avail_unit_type_id': [113]}, - 275: {'name': 'Cancel_MorphGreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1221, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, - 276: {'name': 'Cancel_MorphHive_quick', 'func_type': 'raw_cmd', 'ability_id': 1219, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, - 277: {'name': 'Cancel_MorphLair_quick', 'func_type': 'raw_cmd', 'ability_id': 1217, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, - 279: {'name': 'Cancel_MorphLurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2113, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, - 278: {'name': 'Cancel_MorphLurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2333, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPEGG'], 'avail_unit_type_id': [501]}, - 280: {'name': 'Cancel_MorphMothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1848, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, - 281: {'name': 'Cancel_MorphOrbital_quick', 'func_type': 'raw_cmd', 'ability_id': 1517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 282: {'name': 'Cancel_MorphOverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2709, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_TRANSPORTOVERLORDCOCOON'], 'avail_unit_type_id': [892]}, - 283: {'name': 'Cancel_MorphOverseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1449, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDCOCOON'], 'avail_unit_type_id': [128]}, - 284: {'name': 'Cancel_MorphPlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 285: {'name': 'Cancel_MorphRavager_quick', 'func_type': 'raw_cmd', 'ability_id': 2331, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERCOCOON'], 'avail_unit_type_id': [687]}, - 286: {'name': 'Cancel_MorphThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2365, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, - 287: {'name': 'Cancel_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 250, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 288: {'name': 'Cancel_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 1623, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 130: {'name': 'Cancel_Queue1_quick', 'func_type': 'raw_cmd', 'ability_id': 304, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 131: {'name': 'Cancel_Queue5_quick', 'func_type': 'raw_cmd', 'ability_id': 306, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 289: {'name': 'Cancel_QueueAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 312, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_FACTORY', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 27, 28]}, - 132: {'name': 'Cancel_QueueCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 308, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 134: {'name': 'Cancel_QueuePassiveCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 1833, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 133: {'name': 'Cancel_QueuePassive_quick', 'func_type': 'raw_cmd', 'ability_id': 1831, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 290: {'name': 'Cancel_SpineCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1730, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, - 291: {'name': 'Cancel_SporeCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1732, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, - 292: {'name': 'Cancel_StarportAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [42, 41]}, - 127: {'name': 'Cancel_StasisTrap_quick', 'func_type': 'raw_cmd', 'ability_id': 2535, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 128: {'name': 'Cancel_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 3707, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, - 293: {'name': 'Effect_Abduct_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2067, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 96: {'name': 'Effect_AdeptPhaseShift_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2544, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, - 294: {'name': 'Effect_AntiArmorMissile_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3753, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 295: {'name': 'Effect_AutoTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1764, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 296: {'name': 'Effect_BlindingCloud_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2063, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 111: {'name': 'Effect_Blink_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, - 135: {'name': 'Effect_Blink_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1442, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_STALKER'], 'avail_unit_type_id': [74]}, - 112: {'name': 'Effect_Blink_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, - 297: {'name': 'Effect_CalldownMULE_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 298: {'name': 'Effect_CalldownMULE_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 299: {'name': 'Effect_CausticSpray_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2324, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, - 302: {'name': 'Effect_Charge_autocast', 'func_type': 'raw_autocast', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 300: {'name': 'Effect_Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 301: {'name': 'Effect_Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 122: {'name': 'Effect_ChronoBoostEnergyCost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3755, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 33: {'name': 'Effect_ChronoBoost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 261, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 303: {'name': 'Effect_Contaminate_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1825, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 304: {'name': 'Effect_CorrosiveBile_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2338, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, - 305: {'name': 'Effect_EMP_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 306: {'name': 'Effect_EMP_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 307: {'name': 'Effect_Explode_quick', 'func_type': 'raw_cmd', 'ability_id': 42, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING', 'ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [9, 115]}, - 157: {'name': 'Effect_Feedback_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 140, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, - 79: {'name': 'Effect_ForceField_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1526, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 308: {'name': 'Effect_FungalGrowth_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 309: {'name': 'Effect_FungalGrowth_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 310: {'name': 'Effect_GhostSnipe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2714, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 32: {'name': 'Effect_GravitonBeam_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 173, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, - 20: {'name': 'Effect_GuardianShield_quick', 'func_type': 'raw_cmd', 'ability_id': 76, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 312: {'name': 'Effect_Heal_autocast', 'func_type': 'raw_autocast', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 311: {'name': 'Effect_Heal_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 313: {'name': 'Effect_ImmortalBarrier_autocast', 'func_type': 'raw_autocast', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, - 91: {'name': 'Effect_ImmortalBarrier_quick', 'func_type': 'raw_cmd', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, - 314: {'name': 'Effect_InfestedTerrans_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 247, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 315: {'name': 'Effect_InjectLarva_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 251, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 316: {'name': 'Effect_InterferenceMatrix_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3747, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 317: {'name': 'Effect_KD8Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, - 538: {'name': 'Effect_KD8Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, - 318: {'name': 'Effect_LockOn_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 541: {'name': 'Effect_LockOn_autocast', 'func_type': 'raw_autocast', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 319: {'name': 'Effect_LocustSwoop_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2387, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_LOCUSTMPFLYING'], 'avail_unit_type_id': [693]}, - 110: {'name': 'Effect_MassRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3686, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, - 136: {'name': 'Effect_MassRecall_Mothership_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2368, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, - 162: {'name': 'Effect_MassRecall_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3757, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 137: {'name': 'Effect_MassRecall_StrategicRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 142, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, - 320: {'name': 'Effect_MedivacIgniteAfterburners_quick', 'func_type': 'raw_cmd', 'ability_id': 2116, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 321: {'name': 'Effect_NeuralParasite_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 249, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 322: {'name': 'Effect_NukeCalldown_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1622, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 90: {'name': 'Effect_OracleRevelation_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2146, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 323: {'name': 'Effect_ParasiticBomb_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2542, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 65: {'name': 'Effect_PsiStorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1036, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, - 167: {'name': 'Effect_PurificationNova_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2346, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DISRUPTOR'], 'avail_unit_type_id': [694]}, - 324: {'name': 'Effect_Repair_autocast', 'func_type': 'raw_autocast', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 108: {'name': 'Effect_Repair_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 109: {'name': 'Effect_Repair_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 326: {'name': 'Effect_Repair_Mule_autocast', 'func_type': 'raw_autocast', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 325: {'name': 'Effect_Repair_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 328: {'name': 'Effect_Repair_RepairDrone_autocast', 'func_type': 'raw_autocast', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, - 327: {'name': 'Effect_Repair_RepairDrone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, - 330: {'name': 'Effect_Repair_SCV_autocast', 'func_type': 'raw_autocast', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 329: {'name': 'Effect_Repair_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 331: {'name': 'Effect_Restore_autocast', 'func_type': 'raw_autocast', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, - 161: {'name': 'Effect_Restore_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, - 332: {'name': 'Effect_Salvage_quick', 'func_type': 'raw_cmd', 'ability_id': 32, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 333: {'name': 'Effect_Scan_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 399, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 113: {'name': 'Effect_ShadowStride_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2700, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR'], 'avail_unit_type_id': [76]}, - 334: {'name': 'Effect_SpawnChangeling_quick', 'func_type': 'raw_cmd', 'ability_id': 181, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 335: {'name': 'Effect_SpawnLocusts_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, - 336: {'name': 'Effect_SpawnLocusts_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, - 337: {'name': 'Effect_Spray_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3684, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [45, 104, 84]}, - 338: {'name': 'Effect_Spray_Protoss_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 30, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 339: {'name': 'Effect_Spray_Terran_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 26, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 340: {'name': 'Effect_Spray_Zerg_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 28, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 341: {'name': 'Effect_Stim_quick', 'func_type': 'raw_cmd', 'ability_id': 3675, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MARAUDER', 'TERRAN_MARINE'], 'avail_unit_type_id': [24, 51, 48]}, - 342: {'name': 'Effect_Stim_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 253, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, - 343: {'name': 'Effect_Stim_Marauder_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1684, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, - 344: {'name': 'Effect_Stim_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 380, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, - 345: {'name': 'Effect_Stim_Marine_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1683, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, - 346: {'name': 'Effect_SupplyDrop_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 255, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 347: {'name': 'Effect_TacticalJump_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2358, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 348: {'name': 'Effect_TimeWarp_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2244, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, - 349: {'name': 'Effect_Transfusion_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1664, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 350: {'name': 'Effect_ViperConsume_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2073, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 94: {'name': 'Effect_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 2393, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, - 353: {'name': 'Effect_WidowMineAttack_autocast', 'func_type': 'raw_autocast', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 351: {'name': 'Effect_WidowMineAttack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 352: {'name': 'Effect_WidowMineAttack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 537: {'name': 'Effect_YamatoGun_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 401, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 93: {'name': 'Hallucination_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 2391, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 22: {'name': 'Hallucination_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 146, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 23: {'name': 'Hallucination_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 148, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 92: {'name': 'Hallucination_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 2389, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 24: {'name': 'Hallucination_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 150, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 25: {'name': 'Hallucination_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 152, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 89: {'name': 'Hallucination_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 2114, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 26: {'name': 'Hallucination_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 154, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 27: {'name': 'Hallucination_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 156, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 28: {'name': 'Hallucination_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 158, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 29: {'name': 'Hallucination_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 160, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 30: {'name': 'Hallucination_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 162, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 31: {'name': 'Hallucination_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 164, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 354: {'name': 'Halt_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 315, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960]}, - 99: {'name': 'Halt_quick', 'func_type': 'raw_cmd', 'ability_id': 3660, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SCV', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 45, 25, 28, 19, 1960]}, - 355: {'name': 'Halt_TerranBuild_quick', 'func_type': 'raw_cmd', 'ability_id': 348, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 102: {'name': 'Harvest_Gather_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3666, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, - 356: {'name': 'Harvest_Gather_Drone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1183, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 357: {'name': 'Harvest_Gather_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 166, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 358: {'name': 'Harvest_Gather_Probe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 298, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 359: {'name': 'Harvest_Gather_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 295, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 103: {'name': 'Harvest_Return_quick', 'func_type': 'raw_cmd', 'ability_id': 3667, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, - 360: {'name': 'Harvest_Return_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1184, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 361: {'name': 'Harvest_Return_Mule_quick', 'func_type': 'raw_cmd', 'ability_id': 167, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 154: {'name': 'Harvest_Return_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 299, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 362: {'name': 'Harvest_Return_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 296, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 17: {'name': 'HoldPosition_quick', 'func_type': 'raw_cmd', 'ability_id': 3793, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 542: {'name': 'HoldPosition_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 3778, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 543: {'name': 'HoldPosition_Hold_quick', 'func_type': 'raw_cmd', 'ability_id': 18, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 364: {'name': 'Land_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 554, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [46]}, - 365: {'name': 'Land_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 419, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTERFLYING'], 'avail_unit_type_id': [36]}, - 366: {'name': 'Land_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 520, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [43]}, - 367: {'name': 'Land_OrbitalCommand_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1524, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMANDFLYING'], 'avail_unit_type_id': [134]}, - 363: {'name': 'Land_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3678, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_FACTORYFLYING', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [46, 36, 43, 134, 44]}, - 368: {'name': 'Land_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 522, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [44]}, - 370: {'name': 'Lift_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 452, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 371: {'name': 'Lift_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 417, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 372: {'name': 'Lift_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 485, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 373: {'name': 'Lift_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1522, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 369: {'name': 'Lift_quick', 'func_type': 'raw_cmd', 'ability_id': 3679, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_COMMANDCENTER', 'TERRAN_FACTORY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 18, 27, 132, 28]}, - 374: {'name': 'Lift_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 518, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 376: {'name': 'LoadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 416, 'general_id': 3663, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, - 375: {'name': 'LoadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3663, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, - 377: {'name': 'Load_Bunker_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 407, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 378: {'name': 'Load_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 394, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 379: {'name': 'Load_NydusNetwork_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1437, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 380: {'name': 'Load_NydusWorm_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2370, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, - 381: {'name': 'Load_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1406, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 104: {'name': 'Load_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3668, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 54, 142, 95, 893, 81, 136]}, - 382: {'name': 'Load_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 911, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 86: {'name': 'Morph_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 1766, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [76, 75]}, - 383: {'name': 'Morph_BroodLord_quick', 'func_type': 'raw_cmd', 'ability_id': 1372, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, - 78: {'name': 'Morph_Gateway_quick', 'func_type': 'raw_cmd', 'ability_id': 1520, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 384: {'name': 'Morph_GreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1220, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, - 385: {'name': 'Morph_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 1998, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLION'], 'avail_unit_type_id': [53]}, - 386: {'name': 'Morph_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 1978, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLIONTANK'], 'avail_unit_type_id': [484]}, - 387: {'name': 'Morph_Hive_quick', 'func_type': 'raw_cmd', 'ability_id': 1218, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, - 388: {'name': 'Morph_Lair_quick', 'func_type': 'raw_cmd', 'ability_id': 1216, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, - 389: {'name': 'Morph_LiberatorAAMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2560, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_LIBERATORAG'], 'avail_unit_type_id': [734]}, - 390: {'name': 'Morph_LiberatorAGMode_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_LIBERATOR'], 'avail_unit_type_id': [689]}, - 392: {'name': 'Morph_LurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2112, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, - 391: {'name': 'Morph_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2332, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, - 393: {'name': 'Morph_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1847, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, - 121: {'name': 'Morph_ObserverMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3739, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVERSURVEILLANCEMODE'], 'avail_unit_type_id': [1911]}, - 394: {'name': 'Morph_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1516, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 395: {'name': 'Morph_OverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2708, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, - 397: {'name': 'Morph_OverseerMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3745, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEEROVERSIGHTMODE'], 'avail_unit_type_id': [1912]}, - 396: {'name': 'Morph_Overseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1448, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 398: {'name': 'Morph_OversightMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3743, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 399: {'name': 'Morph_PlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1450, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 400: {'name': 'Morph_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2330, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, - 401: {'name': 'Morph_Root_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3680, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [139, 140]}, - 402: {'name': 'Morph_SiegeMode_quick', 'func_type': 'raw_cmd', 'ability_id': 388, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANK'], 'avail_unit_type_id': [33]}, - 403: {'name': 'Morph_SpineCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1729, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, - 404: {'name': 'Morph_SpineCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1725, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER'], 'avail_unit_type_id': [98]}, - 405: {'name': 'Morph_SporeCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1731, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, - 406: {'name': 'Morph_SporeCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1727, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLER'], 'avail_unit_type_id': [99]}, - 407: {'name': 'Morph_SupplyDepot_Lower_quick', 'func_type': 'raw_cmd', 'ability_id': 556, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOT'], 'avail_unit_type_id': [19]}, - 408: {'name': 'Morph_SupplyDepot_Raise_quick', 'func_type': 'raw_cmd', 'ability_id': 558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOTLOWERED'], 'avail_unit_type_id': [47]}, - 160: {'name': 'Morph_SurveillanceMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3741, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVER'], 'avail_unit_type_id': [82]}, - 409: {'name': 'Morph_ThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2364, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, - 410: {'name': 'Morph_ThorHighImpactMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2362, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THOR'], 'avail_unit_type_id': [52]}, - 411: {'name': 'Morph_Unsiege_quick', 'func_type': 'raw_cmd', 'ability_id': 390, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANKSIEGED'], 'avail_unit_type_id': [32]}, - 412: {'name': 'Morph_Uproot_quick', 'func_type': 'raw_cmd', 'ability_id': 3681, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER'], 'avail_unit_type_id': [98, 99]}, - 413: {'name': 'Morph_VikingAssaultMode_quick', 'func_type': 'raw_cmd', 'ability_id': 403, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGFIGHTER'], 'avail_unit_type_id': [35]}, - 414: {'name': 'Morph_VikingFighterMode_quick', 'func_type': 'raw_cmd', 'ability_id': 405, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGASSAULT'], 'avail_unit_type_id': [34]}, - 77: {'name': 'Morph_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 544: {'name': 'Morph_WarpGate_autocast', 'func_type': 'raw_autocast', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 80: {'name': 'Morph_WarpPrismPhasingMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1528, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM'], 'avail_unit_type_id': [81]}, - 81: {'name': 'Morph_WarpPrismTransportMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1530, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [136]}, - 13: {'name': 'Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 14: {'name': 'Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 545: {'name': 'Move_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 546: {'name': 'Move_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 547: {'name': 'Move_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 548: {'name': 'Move_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 15: {'name': 'Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 16: {'name': 'Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 549: {'name': 'Patrol_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 550: {'name': 'Patrol_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 551: {'name': 'Patrol_Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 552: {'name': 'Patrol_Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 415: {'name': 'Rally_Building_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, - 416: {'name': 'Rally_Building_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, - 417: {'name': 'Rally_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 418: {'name': 'Rally_CommandCenter_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 419: {'name': 'Rally_Hatchery_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 420: {'name': 'Rally_Hatchery_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 421: {'name': 'Rally_Hatchery_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 422: {'name': 'Rally_Hatchery_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 423: {'name': 'Rally_Morphing_Unit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, - 424: {'name': 'Rally_Morphing_Unit_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, - 138: {'name': 'Rally_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 165: {'name': 'Rally_Nexus_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 106: {'name': 'Rally_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, - 107: {'name': 'Rally_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, - 114: {'name': 'Rally_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, - 115: {'name': 'Rally_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, - 425: {'name': 'Research_AdaptiveTalons_quick', 'func_type': 'raw_cmd', 'ability_id': 3709, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERDENMP'], 'avail_unit_type_id': [504]}, - 85: {'name': 'Research_AdeptResonatingGlaives_quick', 'func_type': 'raw_cmd', 'ability_id': 1594, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 426: {'name': 'Research_AdvancedBallistics_quick', 'func_type': 'raw_cmd', 'ability_id': 805, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 553: {'name': 'Research_AnabolicSynthesis_quick', 'func_type': 'raw_cmd', 'ability_id': 263, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, - 427: {'name': 'Research_BansheeCloakingField_quick', 'func_type': 'raw_cmd', 'ability_id': 790, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 428: {'name': 'Research_BansheeHyperflightRotors_quick', 'func_type': 'raw_cmd', 'ability_id': 799, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 429: {'name': 'Research_BattlecruiserWeaponRefit_quick', 'func_type': 'raw_cmd', 'ability_id': 1532, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FUSIONCORE'], 'avail_unit_type_id': [30]}, - 84: {'name': 'Research_Blink_quick', 'func_type': 'raw_cmd', 'ability_id': 1593, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 430: {'name': 'Research_Burrow_quick', 'func_type': 'raw_cmd', 'ability_id': 1225, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 431: {'name': 'Research_CentrifugalHooks_quick', 'func_type': 'raw_cmd', 'ability_id': 1482, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGNEST'], 'avail_unit_type_id': [96]}, - 83: {'name': 'Research_Charge_quick', 'func_type': 'raw_cmd', 'ability_id': 1592, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 432: {'name': 'Research_ChitinousPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 265, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, - 433: {'name': 'Research_CombatShield_quick', 'func_type': 'raw_cmd', 'ability_id': 731, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 434: {'name': 'Research_ConcussiveShells_quick', 'func_type': 'raw_cmd', 'ability_id': 732, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 554: {'name': 'Research_CycloneLockOnDamage_quick', 'func_type': 'raw_cmd', 'ability_id': 769, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 435: {'name': 'Research_CycloneRapidFireLaunchers_quick', 'func_type': 'raw_cmd', 'ability_id': 768, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 436: {'name': 'Research_DrillingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 764, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 563: {'name': 'Research_EnhancedShockwaves_quick', 'func_type': 'raw_cmd', 'ability_id': 822, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 69: {'name': 'Research_ExtendedThermalLance_quick', 'func_type': 'raw_cmd', 'ability_id': 1097, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 437: {'name': 'Research_GlialRegeneration_quick', 'func_type': 'raw_cmd', 'ability_id': 216, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, - 67: {'name': 'Research_GraviticBooster_quick', 'func_type': 'raw_cmd', 'ability_id': 1093, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 68: {'name': 'Research_GraviticDrive_quick', 'func_type': 'raw_cmd', 'ability_id': 1094, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 438: {'name': 'Research_GroovedSpines_quick', 'func_type': 'raw_cmd', 'ability_id': 1282, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, - 440: {'name': 'Research_HighCapacityFuelTanks_quick', 'func_type': 'raw_cmd', 'ability_id': 804, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 439: {'name': 'Research_HiSecAutoTracking_quick', 'func_type': 'raw_cmd', 'ability_id': 650, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 441: {'name': 'Research_InfernalPreigniter_quick', 'func_type': 'raw_cmd', 'ability_id': 761, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 18: {'name': 'Research_InterceptorGravitonCatapult_quick', 'func_type': 'raw_cmd', 'ability_id': 44, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, - 442: {'name': 'Research_MuscularAugments_quick', 'func_type': 'raw_cmd', 'ability_id': 1283, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, - 443: {'name': 'Research_NeosteelFrame_quick', 'func_type': 'raw_cmd', 'ability_id': 655, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 444: {'name': 'Research_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 1455, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, - 445: {'name': 'Research_PathogenGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1454, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, - 446: {'name': 'Research_PersonalCloaking_quick', 'func_type': 'raw_cmd', 'ability_id': 820, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 19: {'name': 'Research_PhoenixAnionPulseCrystals_quick', 'func_type': 'raw_cmd', 'ability_id': 46, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, - 447: {'name': 'Research_PneumatizedCarapace_quick', 'func_type': 'raw_cmd', 'ability_id': 1223, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 139: {'name': 'Research_ProtossAirArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1565, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 140: {'name': 'Research_ProtossAirArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1566, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 141: {'name': 'Research_ProtossAirArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1567, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 116: {'name': 'Research_ProtossAirArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3692, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 142: {'name': 'Research_ProtossAirWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1562, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 143: {'name': 'Research_ProtossAirWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1563, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 144: {'name': 'Research_ProtossAirWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1564, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 117: {'name': 'Research_ProtossAirWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3693, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 145: {'name': 'Research_ProtossGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1065, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 146: {'name': 'Research_ProtossGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1066, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 147: {'name': 'Research_ProtossGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1067, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 118: {'name': 'Research_ProtossGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3694, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 148: {'name': 'Research_ProtossGroundWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1062, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 149: {'name': 'Research_ProtossGroundWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1063, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 150: {'name': 'Research_ProtossGroundWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1064, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 119: {'name': 'Research_ProtossGroundWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3695, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 151: {'name': 'Research_ProtossShieldsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1068, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 152: {'name': 'Research_ProtossShieldsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1069, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 153: {'name': 'Research_ProtossShieldsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1070, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 120: {'name': 'Research_ProtossShields_quick', 'func_type': 'raw_cmd', 'ability_id': 3696, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 70: {'name': 'Research_PsiStorm_quick', 'func_type': 'raw_cmd', 'ability_id': 1126, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TEMPLARARCHIVE'], 'avail_unit_type_id': [68]}, - 448: {'name': 'Research_RavenCorvidReactor_quick', 'func_type': 'raw_cmd', 'ability_id': 793, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 449: {'name': 'Research_RavenRecalibratedExplosives_quick', 'func_type': 'raw_cmd', 'ability_id': 803, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 97: {'name': 'Research_ShadowStrike_quick', 'func_type': 'raw_cmd', 'ability_id': 2720, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKSHRINE'], 'avail_unit_type_id': [69]}, - 450: {'name': 'Research_SmartServos_quick', 'func_type': 'raw_cmd', 'ability_id': 766, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 451: {'name': 'Research_Stimpack_quick', 'func_type': 'raw_cmd', 'ability_id': 730, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 453: {'name': 'Research_TerranInfantryArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 656, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 454: {'name': 'Research_TerranInfantryArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 657, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 455: {'name': 'Research_TerranInfantryArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 658, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 452: {'name': 'Research_TerranInfantryArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3697, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 457: {'name': 'Research_TerranInfantryWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 652, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 458: {'name': 'Research_TerranInfantryWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 653, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 459: {'name': 'Research_TerranInfantryWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 654, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 456: {'name': 'Research_TerranInfantryWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3698, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 461: {'name': 'Research_TerranShipWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 861, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 462: {'name': 'Research_TerranShipWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 862, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 463: {'name': 'Research_TerranShipWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 863, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 460: {'name': 'Research_TerranShipWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3699, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 464: {'name': 'Research_TerranStructureArmorUpgrade_quick', 'func_type': 'raw_cmd', 'ability_id': 651, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 466: {'name': 'Research_TerranVehicleAndShipPlatingLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 864, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 467: {'name': 'Research_TerranVehicleAndShipPlatingLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 865, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 468: {'name': 'Research_TerranVehicleAndShipPlatingLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 866, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 465: {'name': 'Research_TerranVehicleAndShipPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 3700, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 470: {'name': 'Research_TerranVehicleWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 855, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 471: {'name': 'Research_TerranVehicleWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 856, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 472: {'name': 'Research_TerranVehicleWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 857, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 469: {'name': 'Research_TerranVehicleWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3701, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 473: {'name': 'Research_TunnelingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 217, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, - 82: {'name': 'Research_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1568, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 475: {'name': 'Research_ZergFlyerArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1315, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 476: {'name': 'Research_ZergFlyerArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1316, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 477: {'name': 'Research_ZergFlyerArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1317, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 474: {'name': 'Research_ZergFlyerArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3702, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 479: {'name': 'Research_ZergFlyerAttackLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1312, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 480: {'name': 'Research_ZergFlyerAttackLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1313, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 481: {'name': 'Research_ZergFlyerAttackLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1314, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 478: {'name': 'Research_ZergFlyerAttack_quick', 'func_type': 'raw_cmd', 'ability_id': 3703, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 483: {'name': 'Research_ZergGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1189, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 484: {'name': 'Research_ZergGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1190, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 485: {'name': 'Research_ZergGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1191, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 482: {'name': 'Research_ZergGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3704, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 494: {'name': 'Research_ZerglingAdrenalGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1252, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, - 495: {'name': 'Research_ZerglingMetabolicBoost_quick', 'func_type': 'raw_cmd', 'ability_id': 1253, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, - 487: {'name': 'Research_ZergMeleeWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1186, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 488: {'name': 'Research_ZergMeleeWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1187, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 489: {'name': 'Research_ZergMeleeWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1188, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 486: {'name': 'Research_ZergMeleeWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3705, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 491: {'name': 'Research_ZergMissileWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1192, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 492: {'name': 'Research_ZergMissileWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1193, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 493: {'name': 'Research_ZergMissileWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1194, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 490: {'name': 'Research_ZergMissileWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3706, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 10: {'name': 'Scan_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, - 11: {'name': 'Scan_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, - 1: {'name': 'Smart_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, - 12: {'name': 'Smart_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, - 101: {'name': 'Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 3665, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 46, 57, 24, 36, 692, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 134, 130, 56, 49, 45, 33, 32, 44, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 142, 95, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 136, 73]}, - 496: {'name': 'Stop_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 2057, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 497: {'name': 'Stop_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1691, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 155: {'name': 'Stop_Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 4, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 54: {'name': 'Train_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 922, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 498: {'name': 'Train_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 80, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, - 499: {'name': 'Train_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 621, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 500: {'name': 'Train_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 623, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 56: {'name': 'Train_Carrier_quick', 'func_type': 'raw_cmd', 'ability_id': 948, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 62: {'name': 'Train_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 978, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 501: {'name': 'Train_Corruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 1353, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 502: {'name': 'Train_Cyclone_quick', 'func_type': 'raw_cmd', 'ability_id': 597, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 52: {'name': 'Train_DarkTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 920, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 166: {'name': 'Train_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 994, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 503: {'name': 'Train_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1342, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 504: {'name': 'Train_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 562, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 505: {'name': 'Train_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 596, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 506: {'name': 'Train_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 595, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 51: {'name': 'Train_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 919, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 507: {'name': 'Train_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1345, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 63: {'name': 'Train_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 979, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 508: {'name': 'Train_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1352, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 509: {'name': 'Train_Liberator_quick', 'func_type': 'raw_cmd', 'ability_id': 626, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 510: {'name': 'Train_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 563, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 511: {'name': 'Train_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 560, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 512: {'name': 'Train_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 620, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 513: {'name': 'Train_MothershipCore_quick', 'func_type': 'raw_cmd', 'ability_id': 1853, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 21: {'name': 'Train_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 110, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 514: {'name': 'Train_Mutalisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1346, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 61: {'name': 'Train_Observer_quick', 'func_type': 'raw_cmd', 'ability_id': 977, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 58: {'name': 'Train_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 954, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 515: {'name': 'Train_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1344, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 55: {'name': 'Train_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 946, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 64: {'name': 'Train_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 1006, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 516: {'name': 'Train_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1632, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 517: {'name': 'Train_Raven_quick', 'func_type': 'raw_cmd', 'ability_id': 622, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 518: {'name': 'Train_Reaper_quick', 'func_type': 'raw_cmd', 'ability_id': 561, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 519: {'name': 'Train_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1351, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 520: {'name': 'Train_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 524, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 53: {'name': 'Train_Sentry_quick', 'func_type': 'raw_cmd', 'ability_id': 921, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 521: {'name': 'Train_SiegeTank_quick', 'func_type': 'raw_cmd', 'ability_id': 591, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 50: {'name': 'Train_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 917, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 522: {'name': 'Train_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 1356, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 59: {'name': 'Train_Tempest_quick', 'func_type': 'raw_cmd', 'ability_id': 955, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 523: {'name': 'Train_Thor_quick', 'func_type': 'raw_cmd', 'ability_id': 594, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 524: {'name': 'Train_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1348, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 525: {'name': 'Train_VikingFighter_quick', 'func_type': 'raw_cmd', 'ability_id': 624, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 526: {'name': 'Train_Viper_quick', 'func_type': 'raw_cmd', 'ability_id': 1354, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 57: {'name': 'Train_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 950, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 76: {'name': 'TrainWarp_Adept_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1419, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 74: {'name': 'TrainWarp_DarkTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1417, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 73: {'name': 'TrainWarp_HighTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1416, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 60: {'name': 'Train_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 976, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 75: {'name': 'TrainWarp_Sentry_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1418, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 72: {'name': 'TrainWarp_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1414, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 71: {'name': 'TrainWarp_Zealot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1413, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 527: {'name': 'Train_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 614, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 49: {'name': 'Train_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 916, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 528: {'name': 'Train_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1343, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 529: {'name': 'UnloadAllAt_Medivac_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 530: {'name': 'UnloadAllAt_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 531: {'name': 'UnloadAllAt_Overlord_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 532: {'name': 'UnloadAllAt_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 105: {'name': 'UnloadAllAt_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, - 164: {'name': 'UnloadAllAt_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, - 156: {'name': 'UnloadAllAt_WarpPrism_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 163: {'name': 'UnloadAllAt_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 533: {'name': 'UnloadAll_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 408, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 534: {'name': 'UnloadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 413, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 535: {'name': 'UnloadAll_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1438, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 536: {'name': 'UnloadAll_NydusWorm_quick', 'func_type': 'raw_cmd', 'ability_id': 2371, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, - 100: {'name': 'UnloadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3664, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [24, 18, 36, 142, 95]}, - 556: {'name': 'UnloadUnit_quick', 'func_type': 'raw_cmd', 'ability_id': 3796, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 18, 54, 142, 95, 893, 81, 136]}, - 557: {'name': 'UnloadUnit_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 410, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 558: {'name': 'UnloadUnit_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 415, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 559: {'name': 'UnloadUnit_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 397, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 560: {'name': 'UnloadUnit_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1440, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 561: {'name': 'UnloadUnit_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1409, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, - 562: {'name': 'UnloadUnit_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 914, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - } - -ACTIONS_STAT = { - 0: {'action_name': 'no_op', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, - 1: {'action_name': 'Smart_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 2: {'action_name': 'Attack_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 3: {'action_name': 'Attack_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 12: {'action_name': 'Smart_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 13: {'action_name': 'Move_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 14: {'action_name': 'Move_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 15: {'action_name': 'Patrol_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 16: {'action_name': 'Patrol_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 17: {'action_name': 'HoldPosition_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 19: {'action_name': 'Research_PhoenixAnionPulseCrystals_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, - 20: {'action_name': 'Effect_GuardianShield_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 21: {'action_name': 'Train_Mothership_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, - 22: {'action_name': 'Hallucination_Archon_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 23: {'action_name': 'Hallucination_Colossus_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 25: {'action_name': 'Hallucination_Immortal_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 26: {'action_name': 'Hallucination_Phoenix_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 27: {'action_name': 'Hallucination_Probe_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 28: {'action_name': 'Hallucination_Stalker_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 29: {'action_name': 'Hallucination_VoidRay_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 30: {'action_name': 'Hallucination_WarpPrism_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 31: {'action_name': 'Hallucination_Zealot_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 32: {'action_name': 'Effect_GravitonBeam_unit', 'selected_type': [78], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Phoenix'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 34: {'action_name': 'Build_Nexus_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 35: {'action_name': 'Build_Pylon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 36: {'action_name': 'Build_Assimilator_unit', 'selected_type': [84], 'target_type': [344, 342, 343, 880, 881, 665], 'selected_type_name': ['Probe'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'LabMineralField']}, - 37: {'action_name': 'Build_Gateway_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 38: {'action_name': 'Build_Forge_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 39: {'action_name': 'Build_FleetBeacon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 40: {'action_name': 'Build_TwilightCouncil_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 41: {'action_name': 'Build_PhotonCannon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 42: {'action_name': 'Build_Stargate_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 43: {'action_name': 'Build_TemplarArchive_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 44: {'action_name': 'Build_DarkShrine_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 45: {'action_name': 'Build_RoboticsBay_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 46: {'action_name': 'Build_RoboticsFacility_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 47: {'action_name': 'Build_CyberneticsCore_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 48: {'action_name': 'Build_ShieldBattery_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 49: {'action_name': 'Train_Zealot_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 50: {'action_name': 'Train_Stalker_quick', 'selected_type': [62, 133], 'target_type': [], 'selected_type_name': ['Gateway', 'WarpGate'], 'target_type_name': []}, - 51: {'action_name': 'Train_HighTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 52: {'action_name': 'Train_DarkTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 53: {'action_name': 'Train_Sentry_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 54: {'action_name': 'Train_Adept_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 55: {'action_name': 'Train_Phoenix_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 56: {'action_name': 'Train_Carrier_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 57: {'action_name': 'Train_VoidRay_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 58: {'action_name': 'Train_Oracle_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 59: {'action_name': 'Train_Tempest_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 60: {'action_name': 'Train_WarpPrism_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 61: {'action_name': 'Train_Observer_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 62: {'action_name': 'Train_Colossus_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 63: {'action_name': 'Train_Immortal_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 64: {'action_name': 'Train_Probe_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, - 65: {'action_name': 'Effect_PsiStorm_pt', 'selected_type': [75], 'target_type': [], 'selected_type_name': ['HighTemplar'], 'target_type_name': []}, - 66: {'action_name': 'Build_Interceptors_quick', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, - 67: {'action_name': 'Research_GraviticBooster_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 68: {'action_name': 'Research_GraviticDrive_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 69: {'action_name': 'Research_ExtendedThermalLance_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 70: {'action_name': 'Research_PsiStorm_quick', 'selected_type': [68], 'target_type': [], 'selected_type_name': ['TemplarArchive'], 'target_type_name': []}, - 71: {'action_name': 'TrainWarp_Zealot_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 72: {'action_name': 'TrainWarp_Stalker_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 73: {'action_name': 'TrainWarp_HighTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 74: {'action_name': 'TrainWarp_DarkTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 75: {'action_name': 'TrainWarp_Sentry_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 76: {'action_name': 'TrainWarp_Adept_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 77: {'action_name': 'Morph_WarpGate_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 78: {'action_name': 'Morph_Gateway_quick', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 79: {'action_name': 'Effect_ForceField_pt', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 80: {'action_name': 'Morph_WarpPrismPhasingMode_quick', 'selected_type': [81, 136], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing'], 'target_type_name': []}, - 81: {'action_name': 'Morph_WarpPrismTransportMode_quick', 'selected_type': [136, 81], 'target_type': [], 'selected_type_name': ['WarpPrismPhasing', 'WarpPrism'], 'target_type_name': []}, - 82: {'action_name': 'Research_WarpGate_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 83: {'action_name': 'Research_Charge_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 84: {'action_name': 'Research_Blink_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 85: {'action_name': 'Research_AdeptResonatingGlaives_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 86: {'action_name': 'Morph_Archon_quick', 'selected_type': [75, 76], 'target_type': [], 'selected_type_name': ['HighTemplar', 'DarkTemplar'], 'target_type_name': []}, - 87: {'action_name': 'Behavior_BuildingAttackOn_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, - 88: {'action_name': 'Behavior_BuildingAttackOff_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, - 89: {'action_name': 'Hallucination_Oracle_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 90: {'action_name': 'Effect_OracleRevelation_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 92: {'action_name': 'Hallucination_Disruptor_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 94: {'action_name': 'Effect_VoidRayPrismaticAlignment_quick', 'selected_type': [80], 'target_type': [], 'selected_type_name': ['VoidRay'], 'target_type_name': []}, - 95: {'action_name': 'Build_StasisTrap_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 96: {'action_name': 'Effect_AdeptPhaseShift_pt', 'selected_type': [311], 'target_type': [], 'selected_type_name': ['Adept'], 'target_type_name': []}, - 97: {'action_name': 'Research_ShadowStrike_quick', 'selected_type': [69], 'target_type': [], 'selected_type_name': ['DarkShrine'], 'target_type_name': []}, - 98: {'action_name': 'Cancel_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 99: {'action_name': 'Halt_quick', 'selected_type': [45, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], 'target_type': [], 'selected_type_name': ['SCV', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore'], 'target_type_name': []}, - 100: {'action_name': 'UnloadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 101: {'action_name': 'Stop_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 102: {'action_name': 'Harvest_Gather_unit', 'selected_type': [104, 45, 84, 268], 'target_type': [483, 20, 341, 88, 665, 666, 61, 884, 885, 796, 797, 1961, 146, 147, 1955, 1960, 1956], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': ['MineralField750', 'Refinery', 'MineralField', 'Extractor', 'LabMineralField', 'LabMineralField750', 'Assimilator', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450', 'RichMineralField', 'RichMineralField750', 'AssimilatorRich', 'RefineryRich', 'ExtractorRich']}, - 103: {'action_name': 'Harvest_Return_quick', 'selected_type': [104, 45, 84, 268], 'target_type': [], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': []}, - 104: {'action_name': 'Load_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 105: {'action_name': 'UnloadAllAt_pt', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 106: {'action_name': 'Rally_Units_pt', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 107: {'action_name': 'Rally_Units_unit', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 109: {'action_name': 'Effect_Repair_unit', 'selected_type': [268, 45], 'target_type': [29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 26, 144, 53, 484, 689, 734, 268, 54, 23, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': ['Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'GhostAcademy', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed']}, - 110: {'action_name': 'Effect_MassRecall_pt', 'selected_type': [10, 59], 'target_type': [], 'selected_type_name': ['Mothership', 'Nexus'], 'target_type_name': []}, - 111: {'action_name': 'Effect_Blink_pt', 'selected_type': [74, 76], 'target_type': [], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': []}, - 114: {'action_name': 'Rally_Workers_pt', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': []}, - 115: {'action_name': 'Rally_Workers_unit', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 116: {'action_name': 'Research_ProtossAirArmor_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 117: {'action_name': 'Research_ProtossAirWeapons_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 118: {'action_name': 'Research_ProtossGroundArmor_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 119: {'action_name': 'Research_ProtossGroundWeapons_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 120: {'action_name': 'Research_ProtossShields_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 121: {'action_name': 'Morph_ObserverMode_quick', 'selected_type': [1911], 'target_type': [], 'selected_type_name': ['ObserverSurveillanceMode'], 'target_type_name': []}, - 122: {'action_name': 'Effect_ChronoBoostEnergyCost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, - 129: {'action_name': 'Cancel_Last_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 157: {'action_name': 'Effect_Feedback_unit', 'selected_type': [75], 'target_type': [129, 75, 111, 499, 1912, 126, 127, 78, 10, 77, 144, 56, 495, 50, 54, 55, 125], 'selected_type_name': ['HighTemplar'], 'target_type_name': ['Overseer', 'HighTemplar', 'Infestor', 'Viper', 'OverseerOversightMode', 'Queen', 'InfestorBurrowed', 'Phoenix', 'Mothership', 'Sentry', 'GhostAlternate', 'Raven', 'Oracle', 'Ghost', 'Medivac', 'Banshee', 'QueenBurrowed']}, - 158: {'action_name': 'Behavior_PulsarBeamOff_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 159: {'action_name': 'Behavior_PulsarBeamOn_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 160: {'action_name': 'Morph_SurveillanceMode_quick', 'selected_type': [82], 'target_type': [], 'selected_type_name': ['Observer'], 'target_type_name': []}, - 161: {'action_name': 'Effect_Restore_unit', 'selected_type': [1910], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73], 'selected_type_name': ['ShieldBattery'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot']}, - 164: {'action_name': 'UnloadAllAt_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress']}, - 166: {'action_name': 'Train_Disruptor_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 167: {'action_name': 'Effect_PurificationNova_pt', 'selected_type': [694], 'target_type': [], 'selected_type_name': ['Disruptor'], 'target_type_name': []}, - 168: {'action_name': 'raw_move_camera', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, - 169: {'action_name': 'Behavior_CloakOff_quick', 'selected_type': [144, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'Banshee'], 'target_type_name': []}, - 172: {'action_name': 'Behavior_CloakOn_quick', 'selected_type': [144, 145, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost', 'Banshee'], 'target_type_name': []}, - 175: {'action_name': 'Behavior_GenerateCreepOff_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 176: {'action_name': 'Behavior_GenerateCreepOn_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 177: {'action_name': 'Behavior_HoldFireOff_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, - 180: {'action_name': 'Behavior_HoldFireOn_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, - 183: {'action_name': 'Build_Armory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 184: {'action_name': 'Build_BanelingNest_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 185: {'action_name': 'Build_Barracks_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 186: {'action_name': 'Build_Bunker_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 187: {'action_name': 'Build_CommandCenter_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 188: {'action_name': 'Build_CreepTumor_pt', 'selected_type': [137, 126], 'target_type': [], 'selected_type_name': ['CreepTumorBurrowed', 'Queen'], 'target_type_name': []}, - 191: {'action_name': 'Build_EngineeringBay_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 192: {'action_name': 'Build_EvolutionChamber_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 193: {'action_name': 'Build_Extractor_unit', 'selected_type': [104], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['Drone'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, - 194: {'action_name': 'Build_Factory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 195: {'action_name': 'Build_FusionCore_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 196: {'action_name': 'Build_GhostAcademy_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 197: {'action_name': 'Build_Hatchery_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 198: {'action_name': 'Build_HydraliskDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 199: {'action_name': 'Build_InfestationPit_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 201: {'action_name': 'Build_LurkerDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 202: {'action_name': 'Build_MissileTurret_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 203: {'action_name': 'Build_Nuke_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 204: {'action_name': 'Build_NydusNetwork_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 205: {'action_name': 'Build_NydusWorm_pt', 'selected_type': [95], 'target_type': [], 'selected_type_name': ['NydusNetwork'], 'target_type_name': []}, - 206: {'action_name': 'Build_Reactor_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 207: {'action_name': 'Build_Reactor_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 214: {'action_name': 'Build_Refinery_pt', 'selected_type': [45], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['SCV'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, - 215: {'action_name': 'Build_RoachWarren_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 216: {'action_name': 'Build_SensorTower_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 217: {'action_name': 'Build_SpawningPool_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 218: {'action_name': 'Build_SpineCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 219: {'action_name': 'Build_Spire_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 220: {'action_name': 'Build_SporeCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 221: {'action_name': 'Build_Starport_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 222: {'action_name': 'Build_SupplyDepot_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 223: {'action_name': 'Build_TechLab_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 224: {'action_name': 'Build_TechLab_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 231: {'action_name': 'Build_UltraliskCavern_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 232: {'action_name': 'BurrowDown_quick', 'selected_type': [7, 104, 105, 9, 107, 109, 110, 494, 111, 688, 498, 502, 503, 126], 'target_type': [], 'selected_type_name': ['InfestedTerran', 'Drone', 'Zergling', 'Baneling', 'Hydralisk', 'Ultralisk', 'Roach', 'SwarmHost', 'Infestor', 'Ravager', 'WidowMine', 'Lurker', 'LurkerBurrowed', 'Queen'], 'target_type_name': []}, - 246: {'action_name': 'BurrowUp_quick', 'selected_type': [131, 503, 493, 690, 115, 500, 116, 118, 119, 117, 125, 127, 120], 'target_type': [], 'selected_type_name': ['UltraliskBurrowed', 'LurkerBurrowed', 'SwarmHostBurrowed', 'RavagerBurrowed', 'BanelingBurrowed', 'WidowMineBurrowed', 'DroneBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'HydraliskBurrowed', 'QueenBurrowed', 'InfestorBurrowed', 'InfestedTerranBurrowed'], 'target_type_name': []}, - 293: {'action_name': 'Effect_Abduct_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 294: {'action_name': 'Effect_AntiArmorMissile_unit', 'selected_type': [56], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Raven'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 295: {'action_name': 'Effect_AutoTurret_pt', 'selected_type': [56], 'target_type': [], 'selected_type_name': ['Raven'], 'target_type_name': []}, - 296: {'action_name': 'Effect_BlindingCloud_pt', 'selected_type': [499], 'target_type': [], 'selected_type_name': ['Viper'], 'target_type_name': []}, - 297: {'action_name': 'Effect_CalldownMULE_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, - 298: {'action_name': 'Effect_CalldownMULE_unit', 'selected_type': [132], 'target_type': [665, 666, 483, 341, 146, 147, 884, 885, 796, 797, 1961], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['LabMineralField', 'LabMineralField750', 'MineralField750', 'MineralField', 'RichMineralField', 'RichMineralField750', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450']}, - 299: {'action_name': 'Effect_CausticSpray_unit', 'selected_type': [112], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Corruptor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 301: {'action_name': 'Effect_Charge_unit', 'selected_type': [73], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Zealot'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 303: {'action_name': 'Effect_Contaminate_unit', 'selected_type': [1912, 129], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 304: {'action_name': 'Effect_CorrosiveBile_pt', 'selected_type': [688], 'target_type': [], 'selected_type_name': ['Ravager'], 'target_type_name': []}, - 305: {'action_name': 'Effect_EMP_pt', 'selected_type': [144, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost'], 'target_type_name': []}, - 307: {'action_name': 'Effect_Explode_quick', 'selected_type': [9, 115], 'target_type': [], 'selected_type_name': ['Baneling', 'BanelingBurrowed'], 'target_type_name': []}, - 308: {'action_name': 'Effect_FungalGrowth_pt', 'selected_type': [111], 'target_type': [], 'selected_type_name': ['Infestor'], 'target_type_name': []}, - 310: {'action_name': 'Effect_GhostSnipe_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 311: {'action_name': 'Effect_Heal_unit', 'selected_type': [54], 'target_type': [48, 51, 49], 'selected_type_name': ['Medivac'], 'target_type_name': ['Marine', 'Marauder', 'Reaper']}, - 314: {'action_name': 'Effect_InfestedTerrans_pt', 'selected_type': [111, 127], 'target_type': [], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': []}, - 315: {'action_name': 'Effect_InjectLarva_unit', 'selected_type': [126], 'target_type': [100, 101, 86], 'selected_type_name': ['Queen'], 'target_type_name': ['Lair', 'Hive', 'Hatchery']}, - 316: {'action_name': 'Effect_InterferenceMatrix_unit', 'selected_type': [56], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Raven'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 317: {'action_name': 'Effect_KD8Charge_pt', 'selected_type': [49], 'target_type': [], 'selected_type_name': ['Reaper'], 'target_type_name': []}, - 318: {'action_name': 'Effect_LockOn_unit', 'selected_type': [692], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Cyclone'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 319: {'action_name': 'Effect_LocustSwoop_pt', 'selected_type': [693], 'target_type': [], 'selected_type_name': ['LocustFlying'], 'target_type_name': []}, - 320: {'action_name': 'Effect_MedivacIgniteAfterburners_quick', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, - 321: {'action_name': 'Effect_NeuralParasite_unit', 'selected_type': [111, 127], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 322: {'action_name': 'Effect_NukeCalldown_pt', 'selected_type': [144, 145, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': []}, - 323: {'action_name': 'Effect_ParasiticBomb_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 332: {'action_name': 'Effect_Salvage_quick', 'selected_type': [24], 'target_type': [], 'selected_type_name': ['Bunker'], 'target_type_name': []}, - 333: {'action_name': 'Effect_Scan_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, - 334: {'action_name': 'Effect_SpawnChangeling_quick', 'selected_type': [1912, 129], 'target_type': [], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': []}, - 335: {'action_name': 'Effect_SpawnLocusts_pt', 'selected_type': [493, 494], 'target_type': [], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': []}, - 337: {'action_name': 'Effect_Spray_pt', 'selected_type': [104, 84, 45], 'target_type': [], 'selected_type_name': ['Drone', 'Probe', 'SCV'], 'target_type_name': []}, - 341: {'action_name': 'Effect_Stim_quick', 'selected_type': [48, 24, 51], 'target_type': [], 'selected_type_name': ['Marine', 'Bunker', 'Marauder'], 'target_type_name': []}, - 346: {'action_name': 'Effect_SupplyDrop_unit', 'selected_type': [132], 'target_type': [19, 47], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['SupplyDepot', 'SupplyDepotLowered']}, - 347: {'action_name': 'Effect_TacticalJump_pt', 'selected_type': [57], 'target_type': [], 'selected_type_name': ['Battlecruiser'], 'target_type_name': []}, - 348: {'action_name': 'Effect_TimeWarp_pt', 'selected_type': [10], 'target_type': [], 'selected_type_name': ['Mothership'], 'target_type_name': []}, - 349: {'action_name': 'Effect_Transfusion_unit', 'selected_type': [126], 'target_type': [9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Queen'], 'target_type_name': ['Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 350: {'action_name': 'Effect_ViperConsume_unit', 'selected_type': [499], 'target_type': [96, 97, 98, 99, 100, 101, 1956, 504, 142, 86, 88, 89, 90, 91, 92, 94, 95, 102, 139, 93, 140], 'selected_type_name': ['Viper'], 'target_type_name': ['BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'ExtractorRich', 'LurkerDen', 'NydusCanal', 'Hatchery', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'InfestationPit', 'NydusNetwork', 'GreaterSpire', 'SpineCrawlerUprooted', 'UltraliskCavern', 'SporeCrawlerUprooted']}, - 363: {'action_name': 'Land_pt', 'selected_type': [36, 134, 43, 44, 46], 'target_type': [], 'selected_type_name': ['CommandCenterFlying', 'OrbitalCommandFlying', 'FactoryFlying', 'StarportFlying', 'BarracksFlying'], 'target_type_name': []}, - 369: {'action_name': 'Lift_quick', 'selected_type': [132, 18, 21, 27, 28], 'target_type': [], 'selected_type_name': ['OrbitalCommand', 'CommandCenter', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 375: {'action_name': 'LoadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 383: {'action_name': 'Morph_BroodLord_quick', 'selected_type': [112], 'target_type': [], 'selected_type_name': ['Corruptor'], 'target_type_name': []}, - 384: {'action_name': 'Morph_GreaterSpire_quick', 'selected_type': [92], 'target_type': [], 'selected_type_name': ['Spire'], 'target_type_name': []}, - 385: {'action_name': 'Morph_Hellbat_quick', 'selected_type': [53], 'target_type': [], 'selected_type_name': ['Hellion'], 'target_type_name': []}, - 386: {'action_name': 'Morph_Hellion_quick', 'selected_type': [484], 'target_type': [], 'selected_type_name': ['Hellbat'], 'target_type_name': []}, - 387: {'action_name': 'Morph_Hive_quick', 'selected_type': [100], 'target_type': [], 'selected_type_name': ['Lair'], 'target_type_name': []}, - 388: {'action_name': 'Morph_Lair_quick', 'selected_type': [86], 'target_type': [], 'selected_type_name': ['Hatchery'], 'target_type_name': []}, - 389: {'action_name': 'Morph_LiberatorAAMode_quick', 'selected_type': [734], 'target_type': [], 'selected_type_name': ['LiberatorAG'], 'target_type_name': []}, - 390: {'action_name': 'Morph_LiberatorAGMode_pt', 'selected_type': [689], 'target_type': [], 'selected_type_name': ['Liberator'], 'target_type_name': []}, - 391: {'action_name': 'Morph_Lurker_quick', 'selected_type': [107], 'target_type': [], 'selected_type_name': ['Hydralisk'], 'target_type_name': []}, - 394: {'action_name': 'Morph_OrbitalCommand_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, - 395: {'action_name': 'Morph_OverlordTransport_quick', 'selected_type': [106], 'target_type': [], 'selected_type_name': ['Overlord'], 'target_type_name': []}, - 396: {'action_name': 'Morph_Overseer_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 397: {'action_name': 'Morph_OverseerMode_quick', 'selected_type': [1912], 'target_type': [], 'selected_type_name': ['OverseerOversightMode'], 'target_type_name': []}, - 398: {'action_name': 'Morph_OversightMode_quick', 'selected_type': [129], 'target_type': [], 'selected_type_name': ['Overseer'], 'target_type_name': []}, - 399: {'action_name': 'Morph_PlanetaryFortress_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, - 400: {'action_name': 'Morph_Ravager_quick', 'selected_type': [110], 'target_type': [], 'selected_type_name': ['Roach'], 'target_type_name': []}, - 401: {'action_name': 'Morph_Root_pt', 'selected_type': [139, 140, 98, 99], 'target_type': [], 'selected_type_name': ['SpineCrawlerUprooted', 'SporeCrawlerUprooted'], 'target_type_name': []}, - 402: {'action_name': 'Morph_SiegeMode_quick', 'selected_type': [33], 'target_type': [], 'selected_type_name': ['SiegeTank'], 'target_type_name': []}, - 407: {'action_name': 'Morph_SupplyDepot_Lower_quick', 'selected_type': [19], 'target_type': [], 'selected_type_name': ['SupplyDepot'], 'target_type_name': []}, - 408: {'action_name': 'Morph_SupplyDepot_Raise_quick', 'selected_type': [47], 'target_type': [], 'selected_type_name': ['SupplyDepotLowered'], 'target_type_name': []}, - 409: {'action_name': 'Morph_ThorExplosiveMode_quick', 'selected_type': [691], 'target_type': [], 'selected_type_name': ['ThorHighImpactMode'], 'target_type_name': []}, - 410: {'action_name': 'Morph_ThorHighImpactMode_quick', 'selected_type': [52], 'target_type': [], 'selected_type_name': ['Thor'], 'target_type_name': []}, - 411: {'action_name': 'Morph_Unsiege_quick', 'selected_type': [32], 'target_type': [], 'selected_type_name': ['SiegeTankSieged'], 'target_type_name': []}, - 412: {'action_name': 'Morph_Uproot_quick', 'selected_type': [98, 99, 139, 140], 'target_type': [], 'selected_type_name': ['SpineCrawler', 'SporeCrawler'], 'target_type_name': []}, - 413: {'action_name': 'Morph_VikingAssaultMode_quick', 'selected_type': [35], 'target_type': [], 'selected_type_name': ['VikingFighter'], 'target_type_name': []}, - 414: {'action_name': 'Morph_VikingFighterMode_quick', 'selected_type': [34], 'target_type': [], 'selected_type_name': ['VikingAssault'], 'target_type_name': []}, - 425: {'action_name': 'Research_AdaptiveTalons_quick', 'selected_type': [504], 'target_type': [], 'selected_type_name': ['LurkerDen'], 'target_type_name': []}, - 426: {'action_name': 'Research_AdvancedBallistics_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 427: {'action_name': 'Research_BansheeCloakingField_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 428: {'action_name': 'Research_BansheeHyperflightRotors_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 429: {'action_name': 'Research_BattlecruiserWeaponRefit_quick', 'selected_type': [30], 'target_type': [], 'selected_type_name': ['FusionCore'], 'target_type_name': []}, - 430: {'action_name': 'Research_Burrow_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 431: {'action_name': 'Research_CentrifugalHooks_quick', 'selected_type': [96], 'target_type': [], 'selected_type_name': ['BanelingNest'], 'target_type_name': []}, - 432: {'action_name': 'Research_ChitinousPlating_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, - 433: {'action_name': 'Research_CombatShield_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 434: {'action_name': 'Research_ConcussiveShells_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 436: {'action_name': 'Research_DrillingClaws_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 437: {'action_name': 'Research_GlialRegeneration_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, - 438: {'action_name': 'Research_GroovedSpines_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 439: {'action_name': 'Research_HiSecAutoTracking_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 440: {'action_name': 'Research_HighCapacityFuelTanks_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 441: {'action_name': 'Research_InfernalPreigniter_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 442: {'action_name': 'Research_MuscularAugments_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 444: {'action_name': 'Research_NeuralParasite_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, - 445: {'action_name': 'Research_PathogenGlands_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, - 446: {'action_name': 'Research_PersonalCloaking_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 447: {'action_name': 'Research_PneumatizedCarapace_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 448: {'action_name': 'Research_RavenCorvidReactor_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 450: {'action_name': 'Research_SmartServos_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 451: {'action_name': 'Research_Stimpack_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 452: {'action_name': 'Research_TerranInfantryArmor_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 456: {'action_name': 'Research_TerranInfantryWeapons_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 460: {'action_name': 'Research_TerranShipWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 464: {'action_name': 'Research_TerranStructureArmorUpgrade_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 465: {'action_name': 'Research_TerranVehicleAndShipPlating_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 469: {'action_name': 'Research_TerranVehicleWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 473: {'action_name': 'Research_TunnelingClaws_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, - 474: {'action_name': 'Research_ZergFlyerArmor_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, - 478: {'action_name': 'Research_ZergFlyerAttack_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, - 482: {'action_name': 'Research_ZergGroundArmor_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 486: {'action_name': 'Research_ZergMeleeWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 490: {'action_name': 'Research_ZergMissileWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 494: {'action_name': 'Research_ZerglingAdrenalGlands_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, - 495: {'action_name': 'Research_ZerglingMetabolicBoost_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, - 498: {'action_name': 'Train_Baneling_quick', 'selected_type': [105], 'target_type': [], 'selected_type_name': ['Zergling'], 'target_type_name': []}, - 499: {'action_name': 'Train_Banshee_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 500: {'action_name': 'Train_Battlecruiser_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 501: {'action_name': 'Train_Corruptor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 502: {'action_name': 'Train_Cyclone_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 503: {'action_name': 'Train_Drone_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 504: {'action_name': 'Train_Ghost_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 505: {'action_name': 'Train_Hellbat_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 506: {'action_name': 'Train_Hellion_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 507: {'action_name': 'Train_Hydralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 508: {'action_name': 'Train_Infestor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 509: {'action_name': 'Train_Liberator_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 510: {'action_name': 'Train_Marauder_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 511: {'action_name': 'Train_Marine_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 512: {'action_name': 'Train_Medivac_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 514: {'action_name': 'Train_Mutalisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 515: {'action_name': 'Train_Overlord_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 516: {'action_name': 'Train_Queen_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 517: {'action_name': 'Train_Raven_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 518: {'action_name': 'Train_Reaper_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 519: {'action_name': 'Train_Roach_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 520: {'action_name': 'Train_SCV_quick', 'selected_type': [18, 132, 130], 'target_type': [], 'selected_type_name': ['CommandCenter', 'OrbitalCommand', 'PlanetaryFortress'], 'target_type_name': []}, - 521: {'action_name': 'Train_SiegeTank_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 522: {'action_name': 'Train_SwarmHost_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 523: {'action_name': 'Train_Thor_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 524: {'action_name': 'Train_Ultralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 525: {'action_name': 'Train_VikingFighter_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 526: {'action_name': 'Train_Viper_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 527: {'action_name': 'Train_WidowMine_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 528: {'action_name': 'Train_Zergling_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 537: {'action_name': 'Effect_YamatoGun_unit', 'selected_type': [57], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Battlecruiser'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 538: {'action_name': 'Effect_KD8Charge_unit', 'selected_type': [49], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Reaper'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 553: {'action_name': 'Research_AnabolicSynthesis_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, - 554: {'action_name': 'Research_CycloneLockOnDamage_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 556: {'action_name': 'UnloadUnit_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 24: {'action_name': 'Hallucination_HighTemplar_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 93: {'action_name': 'Hallucination_Adept_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 200: {'action_name': 'Build_Interceptors_autocast', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, - 247: {'action_name': 'BurrowUp_autocast', 'selected_type': [115, 117, 119], 'target_type': [], 'selected_type_name': ['BanelingBurrowed', 'HydraliskBurrowed', 'ZerglingBurrowed'], 'target_type_name': []}, - 302: {'action_name': 'Effect_Charge_autocast', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, - 312: {'action_name': 'Effect_Heal_autocast', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, - 324: {'action_name': 'Effect_Repair_autocast', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, - 331: {'action_name': 'Effect_Restore_autocast', 'selected_type': [1910], 'target_type': [], 'selected_type_name': ['ShieldBattery'], 'target_type_name': []}, - 541: {'action_name': 'Effect_LockOn_autocast', 'selected_type': [692], 'target_type': [], 'selected_type_name': ['Cyclone'], 'target_type_name': []}, - 544: {'action_name': 'Morph_WarpGate_autocast', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 112: {'action_name': 'Effect_Blink_unit', 'selected_type': [74, 76], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 300: {'action_name': 'Effect_Charge_pt', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, - 33: {'action_name': 'Effect_ChronoBoost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, - 306: {'action_name': 'Effect_EMP_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 309: {'action_name': 'Effect_FungalGrowth_unit', 'selected_type': [111], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Infestor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 313: {'action_name': 'Effect_ImmortalBarrier_autocast', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, - 91: {'action_name': 'Effect_ImmortalBarrier_quick', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, - 108: {'action_name': 'Effect_Repair_pt', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, - 336: {'action_name': 'Effect_SpawnLocusts_unit', 'selected_type': [493, 494], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 353: {'action_name': 'Effect_WidowMineAttack_autocast', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, - 351: {'action_name': 'Effect_WidowMineAttack_pt', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, - 352: {'action_name': 'Effect_WidowMineAttack_unit', 'selected_type': [498, 500], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 392: {'action_name': 'Morph_LurkerDen_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 393: {'action_name': 'Morph_Mothership_quick', 'selected_type': [488], 'target_type': [], 'selected_type_name': ['MothershipCore'], 'target_type_name': []}, - 435: {'action_name': 'Research_CycloneRapidFireLaunchers_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 563: {'action_name': 'Research_EnhancedShockwaves_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 18: {'action_name': 'Research_InterceptorGravitonCatapult_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, - 443: {'action_name': 'Research_NeosteelFrame_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 449: {'action_name': 'Research_RavenRecalibratedExplosives_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 513: {'action_name': 'Train_MothershipCore_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, -} - -def get_general(general_id): - return {k: v for k, v in ACTION_INFO_MASK.items() if v['ability_id'] == general_id} - - -def merge_judge(target_general_action, val): - ret = [] - for k, v in target_general_action.items(): - if v['target_unit'] != val['target_unit']: - continue - if v['target_location'] != val['target_location']: - continue - if v['func_type'] != val['func_type']: - continue - ret.append(k) - try: - assert(len(ret) == 1) - except AssertionError: - print(target_general_action) - print(val) - print(ret) - return ret[0] - - -GENERAL_ACTION_INFO_MASK = {} -ACT_TO_GENERAL_ACT = {} -ACT_TO_GENERAL_ACT_ARRAY = np.full(max(ACTION_INFO_MASK.keys()) + 1, -1, dtype=np.int) -for k, v in ACTION_INFO_MASK.items(): - general_id = v['general_id'] - if general_id is None or general_id == 0: - GENERAL_ACTION_INFO_MASK[k] = v - ACT_TO_GENERAL_ACT[k] = k - ACT_TO_GENERAL_ACT_ARRAY[k] = k - else: - target_general_action = get_general(general_id) - action_id = merge_judge(target_general_action, v) - ACT_TO_GENERAL_ACT[k] = action_id - ACT_TO_GENERAL_ACT_ARRAY[k] = action_id diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py index 6eb39b1661..569fac51c6 100644 --- a/dizoo/distar/envs/meta.py +++ b/dizoo/distar/envs/meta.py @@ -9,3 +9,4 @@ NUM_QUEUE_ACTION = 49 NUM_BUFFS = 50 NUM_ADDON = 9 +MAX_SELECTED_UNITS_NUM = 64 diff --git a/dizoo/distar/envs/static_data.py b/dizoo/distar/envs/static_data.py index a0674c7bb1..e4ea003dc3 100644 --- a/dizoo/distar/envs/static_data.py +++ b/dizoo/distar/envs/static_data.py @@ -1,22 +1,1045 @@ -# Copyright 2017 Google Inc. All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS-IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -"""Expose static data in a more useful form than the raw protos.""" - import six import torch import numpy as np -from .action_dict import ACTION_INFO_MASK, GENERAL_ACTION_INFO_MASK, ACTIONS_STAT +from collections import defaultdict + + +ACTION_INFO_MASK = \ + { + 0: {'name': 'no_op', 'func_type': 'raw_no_op', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': False}, + 168: {'name': 'raw_move_camera', 'func_type': 'raw_move_camera', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': True}, + 2: {'name': 'Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, + 3: {'name': 'Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, + 4: {'name': 'Attack_Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 6: {'name': 'Attack_AttackBuilding_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 5: {'name': 'Attack_Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 7: {'name': 'Attack_AttackBuilding_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 539: {'name': 'Attack_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 540: {'name': 'Attack_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 8: {'name': 'Attack_Redirect_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 9: {'name': 'Attack_Redirect_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, + 88: {'name': 'Behavior_BuildingAttackOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2082, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 87: {'name': 'Behavior_BuildingAttackOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2081, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 169: {'name': 'Behavior_CloakOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3677, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, + 170: {'name': 'Behavior_CloakOff_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 393, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, + 171: {'name': 'Behavior_CloakOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 383, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 172: {'name': 'Behavior_CloakOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3676, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, + 173: {'name': 'Behavior_CloakOn_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 392, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, + 174: {'name': 'Behavior_CloakOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 382, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 175: {'name': 'Behavior_GenerateCreepOff_quick', 'func_type': 'raw_cmd', 'ability_id': 1693, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 176: {'name': 'Behavior_GenerateCreepOn_quick', 'func_type': 'raw_cmd', 'ability_id': 1692, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 178: {'name': 'Behavior_HoldFireOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 38, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 179: {'name': 'Behavior_HoldFireOff_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2552, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, + 177: {'name': 'Behavior_HoldFireOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3689, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, + 181: {'name': 'Behavior_HoldFireOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 36, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 182: {'name': 'Behavior_HoldFireOn_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2550, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, + 180: {'name': 'Behavior_HoldFireOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3688, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, + 158: {'name': 'Behavior_PulsarBeamOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2376, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 159: {'name': 'Behavior_PulsarBeamOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2375, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 183: {'name': 'Build_Armory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 331, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 36: {'name': 'Build_Assimilator_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 882, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 184: {'name': 'Build_BanelingNest_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1162, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 185: {'name': 'Build_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 321, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 186: {'name': 'Build_Bunker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 324, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 187: {'name': 'Build_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 318, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 188: {'name': 'Build_CreepTumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3691, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED', 'ZERG_QUEEN'], 'avail_unit_type_id': [137, 126]}, + 189: {'name': 'Build_CreepTumor_Queen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1694, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 190: {'name': 'Build_CreepTumor_Tumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1733, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED'], 'avail_unit_type_id': [137]}, + 47: {'name': 'Build_CyberneticsCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 894, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 44: {'name': 'Build_DarkShrine_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 891, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 191: {'name': 'Build_EngineeringBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 322, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 192: {'name': 'Build_EvolutionChamber_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1156, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 193: {'name': 'Build_Extractor_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1154, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 194: {'name': 'Build_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 328, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 39: {'name': 'Build_FleetBeacon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 885, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 38: {'name': 'Build_Forge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 884, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 195: {'name': 'Build_FusionCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 333, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 37: {'name': 'Build_Gateway_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 883, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 196: {'name': 'Build_GhostAcademy_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 327, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 197: {'name': 'Build_Hatchery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1152, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 198: {'name': 'Build_HydraliskDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1157, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 199: {'name': 'Build_InfestationPit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1160, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 200: {'name': 'Build_Interceptors_autocast', 'func_type': 'raw_autocast', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 66: {'name': 'Build_Interceptors_quick', 'func_type': 'raw_cmd', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 201: {'name': 'Build_LurkerDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1163, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 202: {'name': 'Build_MissileTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 323, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 34: {'name': 'Build_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 880, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 203: {'name': 'Build_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 710, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 204: {'name': 'Build_NydusNetwork_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1161, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 205: {'name': 'Build_NydusWorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1768, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 41: {'name': 'Build_PhotonCannon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 887, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 35: {'name': 'Build_Pylon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 881, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 207: {'name': 'Build_Reactor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 206: {'name': 'Build_Reactor_quick', 'func_type': 'raw_cmd', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 209: {'name': 'Build_Reactor_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 208: {'name': 'Build_Reactor_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 211: {'name': 'Build_Reactor_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 210: {'name': 'Build_Reactor_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 213: {'name': 'Build_Reactor_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 212: {'name': 'Build_Reactor_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 214: {'name': 'Build_Refinery_pt', 'func_type': 'raw_cmd_unit', 'ability_id': 320, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 215: {'name': 'Build_RoachWarren_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1165, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 45: {'name': 'Build_RoboticsBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 892, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 46: {'name': 'Build_RoboticsFacility_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 893, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 216: {'name': 'Build_SensorTower_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 326, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 48: {'name': 'Build_ShieldBattery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 895, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 217: {'name': 'Build_SpawningPool_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1155, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 218: {'name': 'Build_SpineCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1166, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 219: {'name': 'Build_Spire_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1158, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 220: {'name': 'Build_SporeCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1167, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 42: {'name': 'Build_Stargate_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 889, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 221: {'name': 'Build_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 329, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 95: {'name': 'Build_StasisTrap_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2505, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 222: {'name': 'Build_SupplyDepot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 319, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 224: {'name': 'Build_TechLab_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 223: {'name': 'Build_TechLab_quick', 'func_type': 'raw_cmd', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, + 226: {'name': 'Build_TechLab_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 225: {'name': 'Build_TechLab_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, + 228: {'name': 'Build_TechLab_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 227: {'name': 'Build_TechLab_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, + 230: {'name': 'Build_TechLab_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 229: {'name': 'Build_TechLab_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, + 43: {'name': 'Build_TemplarArchive_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 890, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 40: {'name': 'Build_TwilightCouncil_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 886, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 231: {'name': 'Build_UltraliskCavern_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1159, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 232: {'name': 'BurrowDown_quick', 'func_type': 'raw_cmd', 'ability_id': 3661, 'general_id': 0, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORTERRAN', 'ZERG_LURKERMP', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_ZERGLING'], 'avail_unit_type_id': [498, 9, 104, 107, 111, 7, 502, 126, 688, 110, 494, 109, 105]}, + 233: {'name': 'BurrowDown_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1374, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, + 234: {'name': 'BurrowDown_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1378, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 235: {'name': 'BurrowDown_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1382, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, + 236: {'name': 'BurrowDown_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1444, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR'], 'avail_unit_type_id': [111]}, + 237: {'name': 'BurrowDown_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1394, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORTERRAN'], 'avail_unit_type_id': [7]}, + 238: {'name': 'BurrowDown_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2108, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, + 239: {'name': 'BurrowDown_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1433, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 240: {'name': 'BurrowDown_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2340, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, + 241: {'name': 'BurrowDown_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1386, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, + 242: {'name': 'BurrowDown_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2014, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [494]}, + 243: {'name': 'BurrowDown_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1512, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISK'], 'avail_unit_type_id': [109]}, + 244: {'name': 'BurrowDown_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2095, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE'], 'avail_unit_type_id': [498]}, + 245: {'name': 'BurrowDown_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1390, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, + 247: {'name': 'BurrowUp_autocast', 'func_type': 'raw_autocast', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, + 246: {'name': 'BurrowUp_quick', 'func_type': 'raw_cmd', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, + 249: {'name': 'BurrowUp_Baneling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, + 248: {'name': 'BurrowUp_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, + 250: {'name': 'BurrowUp_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1380, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONEBURROWED'], 'avail_unit_type_id': [116]}, + 252: {'name': 'BurrowUp_Hydralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, + 251: {'name': 'BurrowUp_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, + 253: {'name': 'BurrowUp_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1446, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [127]}, + 255: {'name': 'BurrowUp_InfestorTerran_autocast', 'func_type': 'raw_autocast', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, + 254: {'name': 'BurrowUp_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, + 256: {'name': 'BurrowUp_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2110, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, + 258: {'name': 'BurrowUp_Queen_autocast', 'func_type': 'raw_autocast', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, + 257: {'name': 'BurrowUp_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, + 260: {'name': 'BurrowUp_Ravager_autocast', 'func_type': 'raw_autocast', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, + 259: {'name': 'BurrowUp_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, + 262: {'name': 'BurrowUp_Roach_autocast', 'func_type': 'raw_autocast', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, + 261: {'name': 'BurrowUp_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, + 263: {'name': 'BurrowUp_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2016, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP'], 'avail_unit_type_id': [493]}, + 265: {'name': 'BurrowUp_Ultralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, + 264: {'name': 'BurrowUp_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, + 266: {'name': 'BurrowUp_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2097, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 268: {'name': 'BurrowUp_Zergling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, + 267: {'name': 'BurrowUp_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, + 98: {'name': 'Cancel_quick', 'func_type': 'raw_cmd', 'ability_id': 3659, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_CYCLONE', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOST', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB', 'TERRAN_SUPPLYDEPOT', 'TERRAN_THORAP', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_BROODLORDCOCOON', 'ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPIRE', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_ORACLE', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_VOIDRAY', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 38, 37, 24, 18, 692, 22, 27, 40, 39, 30, 50, 26, 23, 20, 25, 28, 42, 41, 19, 691, 1960, 96, 113, 87, 137, 138, 90, 88, 86, 91, 94, 111, 127, 100, 501, 95, 106, 128, 687, 97, 89, 98, 139, 92, 99, 140, 892, 93, 1956, 311, 801, 61, 72, 69, 64, 63, 62, 488, 59, 495, 732, 78, 66, 60, 70, 71, 67, 496, 68, 65, 80, 1955]}, + 123: {'name': 'Cancel_AdeptPhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2594, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, + 124: {'name': 'Cancel_AdeptShadePhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2596, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPTPHASESHIFT'], 'avail_unit_type_id': [801]}, + 269: {'name': 'Cancel_BarracksAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [38, 37]}, + 125: {'name': 'Cancel_BuildInProgress_quick', 'func_type': 'raw_cmd', 'ability_id': 314, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_INFESTATIONPIT', 'ZERG_NYDUSNETWORK', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960, 96, 90, 88, 86, 94, 95, 97, 89, 93, 1956, 61, 72, 69, 64, 63, 62, 59, 732, 66, 60, 70, 71, 67, 68, 65, 1955]}, + 270: {'name': 'Cancel_CreepTumor_quick', 'func_type': 'raw_cmd', 'ability_id': 1763, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN'], 'avail_unit_type_id': [87, 137, 138]}, + 271: {'name': 'Cancel_FactoryAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 484, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [40, 39]}, + 126: {'name': 'Cancel_GravitonBeam_quick', 'func_type': 'raw_cmd', 'ability_id': 174, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, + 272: {'name': 'Cancel_HangarQueue5_quick', 'func_type': 'raw_cmd', 'ability_id': 1038, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, + 129: {'name': 'Cancel_Last_quick', 'func_type': 'raw_cmd', 'ability_id': 3671, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_STARPORT', 'TERRAN_STARPORTTECHLAB', 'ZERG_BANELINGCOCOON', 'ZERG_BANELINGNEST', 'ZERG_EGG', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_GREATERSPIRE', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_LAIR', 'ZERG_LURKERDENMP', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPIRE', 'ZERG_ULTRALISKCAVERN', 'PROTOSS_CARRIER', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [29, 21, 37, 18, 22, 27, 39, 30, 26, 132, 130, 28, 41, 8, 96, 103, 90, 102, 86, 101, 91, 94, 100, 504, 97, 89, 92, 93, 79, 72, 69, 64, 63, 62, 59, 70, 71, 67, 68, 65]}, + 273: {'name': 'Cancel_LockOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2354, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 274: {'name': 'Cancel_MorphBroodlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1373, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BROODLORDCOCOON'], 'avail_unit_type_id': [113]}, + 275: {'name': 'Cancel_MorphGreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1221, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, + 276: {'name': 'Cancel_MorphHive_quick', 'func_type': 'raw_cmd', 'ability_id': 1219, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, + 277: {'name': 'Cancel_MorphLair_quick', 'func_type': 'raw_cmd', 'ability_id': 1217, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, + 279: {'name': 'Cancel_MorphLurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2113, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, + 278: {'name': 'Cancel_MorphLurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2333, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPEGG'], 'avail_unit_type_id': [501]}, + 280: {'name': 'Cancel_MorphMothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1848, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, + 281: {'name': 'Cancel_MorphOrbital_quick', 'func_type': 'raw_cmd', 'ability_id': 1517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 282: {'name': 'Cancel_MorphOverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2709, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_TRANSPORTOVERLORDCOCOON'], 'avail_unit_type_id': [892]}, + 283: {'name': 'Cancel_MorphOverseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1449, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDCOCOON'], 'avail_unit_type_id': [128]}, + 284: {'name': 'Cancel_MorphPlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 285: {'name': 'Cancel_MorphRavager_quick', 'func_type': 'raw_cmd', 'ability_id': 2331, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERCOCOON'], 'avail_unit_type_id': [687]}, + 286: {'name': 'Cancel_MorphThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2365, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, + 287: {'name': 'Cancel_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 250, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 288: {'name': 'Cancel_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 1623, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 130: {'name': 'Cancel_Queue1_quick', 'func_type': 'raw_cmd', 'ability_id': 304, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 131: {'name': 'Cancel_Queue5_quick', 'func_type': 'raw_cmd', 'ability_id': 306, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 289: {'name': 'Cancel_QueueAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 312, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_FACTORY', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 27, 28]}, + 132: {'name': 'Cancel_QueueCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 308, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 134: {'name': 'Cancel_QueuePassiveCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 1833, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 133: {'name': 'Cancel_QueuePassive_quick', 'func_type': 'raw_cmd', 'ability_id': 1831, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 290: {'name': 'Cancel_SpineCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1730, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, + 291: {'name': 'Cancel_SporeCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1732, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, + 292: {'name': 'Cancel_StarportAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [42, 41]}, + 127: {'name': 'Cancel_StasisTrap_quick', 'func_type': 'raw_cmd', 'ability_id': 2535, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 128: {'name': 'Cancel_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 3707, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, + 293: {'name': 'Effect_Abduct_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2067, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 96: {'name': 'Effect_AdeptPhaseShift_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2544, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, + 294: {'name': 'Effect_AntiArmorMissile_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3753, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 295: {'name': 'Effect_AutoTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1764, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 296: {'name': 'Effect_BlindingCloud_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2063, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 111: {'name': 'Effect_Blink_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, + 135: {'name': 'Effect_Blink_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1442, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_STALKER'], 'avail_unit_type_id': [74]}, + 112: {'name': 'Effect_Blink_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, + 297: {'name': 'Effect_CalldownMULE_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 298: {'name': 'Effect_CalldownMULE_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 299: {'name': 'Effect_CausticSpray_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2324, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, + 302: {'name': 'Effect_Charge_autocast', 'func_type': 'raw_autocast', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 300: {'name': 'Effect_Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 301: {'name': 'Effect_Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, + 122: {'name': 'Effect_ChronoBoostEnergyCost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3755, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 33: {'name': 'Effect_ChronoBoost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 261, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 303: {'name': 'Effect_Contaminate_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1825, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 304: {'name': 'Effect_CorrosiveBile_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2338, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, + 305: {'name': 'Effect_EMP_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 306: {'name': 'Effect_EMP_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 307: {'name': 'Effect_Explode_quick', 'func_type': 'raw_cmd', 'ability_id': 42, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING', 'ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [9, 115]}, + 157: {'name': 'Effect_Feedback_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 140, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, + 79: {'name': 'Effect_ForceField_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1526, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 308: {'name': 'Effect_FungalGrowth_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 309: {'name': 'Effect_FungalGrowth_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 310: {'name': 'Effect_GhostSnipe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2714, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 32: {'name': 'Effect_GravitonBeam_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 173, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, + 20: {'name': 'Effect_GuardianShield_quick', 'func_type': 'raw_cmd', 'ability_id': 76, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 312: {'name': 'Effect_Heal_autocast', 'func_type': 'raw_autocast', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 311: {'name': 'Effect_Heal_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 313: {'name': 'Effect_ImmortalBarrier_autocast', 'func_type': 'raw_autocast', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, + 91: {'name': 'Effect_ImmortalBarrier_quick', 'func_type': 'raw_cmd', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, + 314: {'name': 'Effect_InfestedTerrans_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 247, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 315: {'name': 'Effect_InjectLarva_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 251, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 316: {'name': 'Effect_InterferenceMatrix_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3747, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, + 317: {'name': 'Effect_KD8Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, + 538: {'name': 'Effect_KD8Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, + 318: {'name': 'Effect_LockOn_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 541: {'name': 'Effect_LockOn_autocast', 'func_type': 'raw_autocast', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, + 319: {'name': 'Effect_LocustSwoop_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2387, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_LOCUSTMPFLYING'], 'avail_unit_type_id': [693]}, + 110: {'name': 'Effect_MassRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3686, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, + 136: {'name': 'Effect_MassRecall_Mothership_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2368, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, + 162: {'name': 'Effect_MassRecall_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3757, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 137: {'name': 'Effect_MassRecall_StrategicRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 142, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, + 320: {'name': 'Effect_MedivacIgniteAfterburners_quick', 'func_type': 'raw_cmd', 'ability_id': 2116, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 321: {'name': 'Effect_NeuralParasite_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 249, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, + 322: {'name': 'Effect_NukeCalldown_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1622, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, + 90: {'name': 'Effect_OracleRevelation_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2146, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, + 323: {'name': 'Effect_ParasiticBomb_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2542, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 65: {'name': 'Effect_PsiStorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1036, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, + 167: {'name': 'Effect_PurificationNova_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2346, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DISRUPTOR'], 'avail_unit_type_id': [694]}, + 324: {'name': 'Effect_Repair_autocast', 'func_type': 'raw_autocast', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 108: {'name': 'Effect_Repair_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 109: {'name': 'Effect_Repair_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, + 326: {'name': 'Effect_Repair_Mule_autocast', 'func_type': 'raw_autocast', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 325: {'name': 'Effect_Repair_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 328: {'name': 'Effect_Repair_RepairDrone_autocast', 'func_type': 'raw_autocast', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, + 327: {'name': 'Effect_Repair_RepairDrone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, + 330: {'name': 'Effect_Repair_SCV_autocast', 'func_type': 'raw_autocast', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 329: {'name': 'Effect_Repair_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 331: {'name': 'Effect_Restore_autocast', 'func_type': 'raw_autocast', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, + 161: {'name': 'Effect_Restore_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, + 332: {'name': 'Effect_Salvage_quick', 'func_type': 'raw_cmd', 'ability_id': 32, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 333: {'name': 'Effect_Scan_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 399, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 113: {'name': 'Effect_ShadowStride_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2700, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR'], 'avail_unit_type_id': [76]}, + 334: {'name': 'Effect_SpawnChangeling_quick', 'func_type': 'raw_cmd', 'ability_id': 181, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 335: {'name': 'Effect_SpawnLocusts_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, + 336: {'name': 'Effect_SpawnLocusts_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, + 337: {'name': 'Effect_Spray_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3684, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [45, 104, 84]}, + 338: {'name': 'Effect_Spray_Protoss_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 30, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 339: {'name': 'Effect_Spray_Terran_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 26, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 340: {'name': 'Effect_Spray_Zerg_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 28, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 341: {'name': 'Effect_Stim_quick', 'func_type': 'raw_cmd', 'ability_id': 3675, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MARAUDER', 'TERRAN_MARINE'], 'avail_unit_type_id': [24, 51, 48]}, + 342: {'name': 'Effect_Stim_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 253, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, + 343: {'name': 'Effect_Stim_Marauder_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1684, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, + 344: {'name': 'Effect_Stim_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 380, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, + 345: {'name': 'Effect_Stim_Marine_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1683, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, + 346: {'name': 'Effect_SupplyDrop_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 255, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 347: {'name': 'Effect_TacticalJump_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2358, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 348: {'name': 'Effect_TimeWarp_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2244, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, + 349: {'name': 'Effect_Transfusion_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1664, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, + 350: {'name': 'Effect_ViperConsume_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2073, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, + 94: {'name': 'Effect_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 2393, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, + 353: {'name': 'Effect_WidowMineAttack_autocast', 'func_type': 'raw_autocast', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 351: {'name': 'Effect_WidowMineAttack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 352: {'name': 'Effect_WidowMineAttack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, + 537: {'name': 'Effect_YamatoGun_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 401, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 93: {'name': 'Hallucination_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 2391, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 22: {'name': 'Hallucination_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 146, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 23: {'name': 'Hallucination_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 148, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 92: {'name': 'Hallucination_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 2389, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 24: {'name': 'Hallucination_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 150, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 25: {'name': 'Hallucination_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 152, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 89: {'name': 'Hallucination_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 2114, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 26: {'name': 'Hallucination_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 154, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 27: {'name': 'Hallucination_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 156, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 28: {'name': 'Hallucination_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 158, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 29: {'name': 'Hallucination_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 160, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 30: {'name': 'Hallucination_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 162, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 31: {'name': 'Hallucination_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 164, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, + 354: {'name': 'Halt_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 315, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960]}, + 99: {'name': 'Halt_quick', 'func_type': 'raw_cmd', 'ability_id': 3660, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SCV', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 45, 25, 28, 19, 1960]}, + 355: {'name': 'Halt_TerranBuild_quick', 'func_type': 'raw_cmd', 'ability_id': 348, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 102: {'name': 'Harvest_Gather_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3666, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, + 356: {'name': 'Harvest_Gather_Drone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1183, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 357: {'name': 'Harvest_Gather_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 166, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 358: {'name': 'Harvest_Gather_Probe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 298, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 359: {'name': 'Harvest_Gather_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 295, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 103: {'name': 'Harvest_Return_quick', 'func_type': 'raw_cmd', 'ability_id': 3667, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, + 360: {'name': 'Harvest_Return_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1184, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, + 361: {'name': 'Harvest_Return_Mule_quick', 'func_type': 'raw_cmd', 'ability_id': 167, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, + 154: {'name': 'Harvest_Return_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 299, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, + 362: {'name': 'Harvest_Return_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 296, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, + 17: {'name': 'HoldPosition_quick', 'func_type': 'raw_cmd', 'ability_id': 3793, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 542: {'name': 'HoldPosition_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 3778, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 543: {'name': 'HoldPosition_Hold_quick', 'func_type': 'raw_cmd', 'ability_id': 18, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 364: {'name': 'Land_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 554, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [46]}, + 365: {'name': 'Land_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 419, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTERFLYING'], 'avail_unit_type_id': [36]}, + 366: {'name': 'Land_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 520, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [43]}, + 367: {'name': 'Land_OrbitalCommand_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1524, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMANDFLYING'], 'avail_unit_type_id': [134]}, + 363: {'name': 'Land_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3678, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_FACTORYFLYING', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [46, 36, 43, 134, 44]}, + 368: {'name': 'Land_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 522, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [44]}, + 370: {'name': 'Lift_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 452, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 371: {'name': 'Lift_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 417, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 372: {'name': 'Lift_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 485, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 373: {'name': 'Lift_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1522, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, + 369: {'name': 'Lift_quick', 'func_type': 'raw_cmd', 'ability_id': 3679, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_COMMANDCENTER', 'TERRAN_FACTORY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 18, 27, 132, 28]}, + 374: {'name': 'Lift_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 518, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 376: {'name': 'LoadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 416, 'general_id': 3663, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, + 375: {'name': 'LoadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3663, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, + 377: {'name': 'Load_Bunker_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 407, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 378: {'name': 'Load_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 394, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 379: {'name': 'Load_NydusNetwork_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1437, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 380: {'name': 'Load_NydusWorm_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2370, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, + 381: {'name': 'Load_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1406, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 104: {'name': 'Load_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3668, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 54, 142, 95, 893, 81, 136]}, + 382: {'name': 'Load_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 911, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 86: {'name': 'Morph_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 1766, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [76, 75]}, + 383: {'name': 'Morph_BroodLord_quick', 'func_type': 'raw_cmd', 'ability_id': 1372, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, + 78: {'name': 'Morph_Gateway_quick', 'func_type': 'raw_cmd', 'ability_id': 1520, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 384: {'name': 'Morph_GreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1220, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, + 385: {'name': 'Morph_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 1998, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLION'], 'avail_unit_type_id': [53]}, + 386: {'name': 'Morph_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 1978, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLIONTANK'], 'avail_unit_type_id': [484]}, + 387: {'name': 'Morph_Hive_quick', 'func_type': 'raw_cmd', 'ability_id': 1218, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, + 388: {'name': 'Morph_Lair_quick', 'func_type': 'raw_cmd', 'ability_id': 1216, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, + 389: {'name': 'Morph_LiberatorAAMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2560, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_LIBERATORAG'], 'avail_unit_type_id': [734]}, + 390: {'name': 'Morph_LiberatorAGMode_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_LIBERATOR'], 'avail_unit_type_id': [689]}, + 392: {'name': 'Morph_LurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2112, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, + 391: {'name': 'Morph_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2332, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, + 393: {'name': 'Morph_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1847, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, + 121: {'name': 'Morph_ObserverMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3739, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVERSURVEILLANCEMODE'], 'avail_unit_type_id': [1911]}, + 394: {'name': 'Morph_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1516, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 395: {'name': 'Morph_OverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2708, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, + 397: {'name': 'Morph_OverseerMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3745, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEEROVERSIGHTMODE'], 'avail_unit_type_id': [1912]}, + 396: {'name': 'Morph_Overseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1448, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, + 398: {'name': 'Morph_OversightMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3743, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, + 399: {'name': 'Morph_PlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1450, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 400: {'name': 'Morph_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2330, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, + 401: {'name': 'Morph_Root_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3680, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [139, 140]}, + 402: {'name': 'Morph_SiegeMode_quick', 'func_type': 'raw_cmd', 'ability_id': 388, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANK'], 'avail_unit_type_id': [33]}, + 403: {'name': 'Morph_SpineCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1729, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, + 404: {'name': 'Morph_SpineCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1725, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER'], 'avail_unit_type_id': [98]}, + 405: {'name': 'Morph_SporeCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1731, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, + 406: {'name': 'Morph_SporeCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1727, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLER'], 'avail_unit_type_id': [99]}, + 407: {'name': 'Morph_SupplyDepot_Lower_quick', 'func_type': 'raw_cmd', 'ability_id': 556, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOT'], 'avail_unit_type_id': [19]}, + 408: {'name': 'Morph_SupplyDepot_Raise_quick', 'func_type': 'raw_cmd', 'ability_id': 558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOTLOWERED'], 'avail_unit_type_id': [47]}, + 160: {'name': 'Morph_SurveillanceMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3741, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVER'], 'avail_unit_type_id': [82]}, + 409: {'name': 'Morph_ThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2364, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, + 410: {'name': 'Morph_ThorHighImpactMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2362, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THOR'], 'avail_unit_type_id': [52]}, + 411: {'name': 'Morph_Unsiege_quick', 'func_type': 'raw_cmd', 'ability_id': 390, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANKSIEGED'], 'avail_unit_type_id': [32]}, + 412: {'name': 'Morph_Uproot_quick', 'func_type': 'raw_cmd', 'ability_id': 3681, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER'], 'avail_unit_type_id': [98, 99]}, + 413: {'name': 'Morph_VikingAssaultMode_quick', 'func_type': 'raw_cmd', 'ability_id': 403, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGFIGHTER'], 'avail_unit_type_id': [35]}, + 414: {'name': 'Morph_VikingFighterMode_quick', 'func_type': 'raw_cmd', 'ability_id': 405, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGASSAULT'], 'avail_unit_type_id': [34]}, + 77: {'name': 'Morph_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 544: {'name': 'Morph_WarpGate_autocast', 'func_type': 'raw_autocast', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 80: {'name': 'Morph_WarpPrismPhasingMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1528, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM'], 'avail_unit_type_id': [81]}, + 81: {'name': 'Morph_WarpPrismTransportMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1530, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [136]}, + 13: {'name': 'Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 14: {'name': 'Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 545: {'name': 'Move_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 546: {'name': 'Move_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 547: {'name': 'Move_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 548: {'name': 'Move_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 15: {'name': 'Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 16: {'name': 'Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 549: {'name': 'Patrol_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 550: {'name': 'Patrol_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, + 551: {'name': 'Patrol_Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 552: {'name': 'Patrol_Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, + 415: {'name': 'Rally_Building_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, + 416: {'name': 'Rally_Building_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, + 417: {'name': 'Rally_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 418: {'name': 'Rally_CommandCenter_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 419: {'name': 'Rally_Hatchery_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 420: {'name': 'Rally_Hatchery_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 421: {'name': 'Rally_Hatchery_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 422: {'name': 'Rally_Hatchery_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 423: {'name': 'Rally_Morphing_Unit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, + 424: {'name': 'Rally_Morphing_Unit_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, + 138: {'name': 'Rally_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 165: {'name': 'Rally_Nexus_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 106: {'name': 'Rally_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, + 107: {'name': 'Rally_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, + 114: {'name': 'Rally_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, + 115: {'name': 'Rally_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, + 425: {'name': 'Research_AdaptiveTalons_quick', 'func_type': 'raw_cmd', 'ability_id': 3709, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERDENMP'], 'avail_unit_type_id': [504]}, + 85: {'name': 'Research_AdeptResonatingGlaives_quick', 'func_type': 'raw_cmd', 'ability_id': 1594, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 426: {'name': 'Research_AdvancedBallistics_quick', 'func_type': 'raw_cmd', 'ability_id': 805, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 553: {'name': 'Research_AnabolicSynthesis_quick', 'func_type': 'raw_cmd', 'ability_id': 263, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, + 427: {'name': 'Research_BansheeCloakingField_quick', 'func_type': 'raw_cmd', 'ability_id': 790, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 428: {'name': 'Research_BansheeHyperflightRotors_quick', 'func_type': 'raw_cmd', 'ability_id': 799, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 429: {'name': 'Research_BattlecruiserWeaponRefit_quick', 'func_type': 'raw_cmd', 'ability_id': 1532, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FUSIONCORE'], 'avail_unit_type_id': [30]}, + 84: {'name': 'Research_Blink_quick', 'func_type': 'raw_cmd', 'ability_id': 1593, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 430: {'name': 'Research_Burrow_quick', 'func_type': 'raw_cmd', 'ability_id': 1225, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 431: {'name': 'Research_CentrifugalHooks_quick', 'func_type': 'raw_cmd', 'ability_id': 1482, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGNEST'], 'avail_unit_type_id': [96]}, + 83: {'name': 'Research_Charge_quick', 'func_type': 'raw_cmd', 'ability_id': 1592, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, + 432: {'name': 'Research_ChitinousPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 265, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, + 433: {'name': 'Research_CombatShield_quick', 'func_type': 'raw_cmd', 'ability_id': 731, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 434: {'name': 'Research_ConcussiveShells_quick', 'func_type': 'raw_cmd', 'ability_id': 732, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 554: {'name': 'Research_CycloneLockOnDamage_quick', 'func_type': 'raw_cmd', 'ability_id': 769, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 435: {'name': 'Research_CycloneRapidFireLaunchers_quick', 'func_type': 'raw_cmd', 'ability_id': 768, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 436: {'name': 'Research_DrillingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 764, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 563: {'name': 'Research_EnhancedShockwaves_quick', 'func_type': 'raw_cmd', 'ability_id': 822, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 69: {'name': 'Research_ExtendedThermalLance_quick', 'func_type': 'raw_cmd', 'ability_id': 1097, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 437: {'name': 'Research_GlialRegeneration_quick', 'func_type': 'raw_cmd', 'ability_id': 216, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, + 67: {'name': 'Research_GraviticBooster_quick', 'func_type': 'raw_cmd', 'ability_id': 1093, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 68: {'name': 'Research_GraviticDrive_quick', 'func_type': 'raw_cmd', 'ability_id': 1094, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, + 438: {'name': 'Research_GroovedSpines_quick', 'func_type': 'raw_cmd', 'ability_id': 1282, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, + 440: {'name': 'Research_HighCapacityFuelTanks_quick', 'func_type': 'raw_cmd', 'ability_id': 804, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 439: {'name': 'Research_HiSecAutoTracking_quick', 'func_type': 'raw_cmd', 'ability_id': 650, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 441: {'name': 'Research_InfernalPreigniter_quick', 'func_type': 'raw_cmd', 'ability_id': 761, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 18: {'name': 'Research_InterceptorGravitonCatapult_quick', 'func_type': 'raw_cmd', 'ability_id': 44, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, + 442: {'name': 'Research_MuscularAugments_quick', 'func_type': 'raw_cmd', 'ability_id': 1283, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, + 443: {'name': 'Research_NeosteelFrame_quick', 'func_type': 'raw_cmd', 'ability_id': 655, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 444: {'name': 'Research_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 1455, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, + 445: {'name': 'Research_PathogenGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1454, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, + 446: {'name': 'Research_PersonalCloaking_quick', 'func_type': 'raw_cmd', 'ability_id': 820, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, + 19: {'name': 'Research_PhoenixAnionPulseCrystals_quick', 'func_type': 'raw_cmd', 'ability_id': 46, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, + 447: {'name': 'Research_PneumatizedCarapace_quick', 'func_type': 'raw_cmd', 'ability_id': 1223, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 139: {'name': 'Research_ProtossAirArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1565, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 140: {'name': 'Research_ProtossAirArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1566, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 141: {'name': 'Research_ProtossAirArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1567, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 116: {'name': 'Research_ProtossAirArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3692, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 142: {'name': 'Research_ProtossAirWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1562, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 143: {'name': 'Research_ProtossAirWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1563, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 144: {'name': 'Research_ProtossAirWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1564, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 117: {'name': 'Research_ProtossAirWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3693, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 145: {'name': 'Research_ProtossGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1065, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 146: {'name': 'Research_ProtossGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1066, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 147: {'name': 'Research_ProtossGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1067, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 118: {'name': 'Research_ProtossGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3694, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 148: {'name': 'Research_ProtossGroundWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1062, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 149: {'name': 'Research_ProtossGroundWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1063, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 150: {'name': 'Research_ProtossGroundWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1064, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 119: {'name': 'Research_ProtossGroundWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3695, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 151: {'name': 'Research_ProtossShieldsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1068, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 152: {'name': 'Research_ProtossShieldsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1069, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 153: {'name': 'Research_ProtossShieldsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1070, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 120: {'name': 'Research_ProtossShields_quick', 'func_type': 'raw_cmd', 'ability_id': 3696, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, + 70: {'name': 'Research_PsiStorm_quick', 'func_type': 'raw_cmd', 'ability_id': 1126, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TEMPLARARCHIVE'], 'avail_unit_type_id': [68]}, + 448: {'name': 'Research_RavenCorvidReactor_quick', 'func_type': 'raw_cmd', 'ability_id': 793, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 449: {'name': 'Research_RavenRecalibratedExplosives_quick', 'func_type': 'raw_cmd', 'ability_id': 803, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, + 97: {'name': 'Research_ShadowStrike_quick', 'func_type': 'raw_cmd', 'ability_id': 2720, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKSHRINE'], 'avail_unit_type_id': [69]}, + 450: {'name': 'Research_SmartServos_quick', 'func_type': 'raw_cmd', 'ability_id': 766, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, + 451: {'name': 'Research_Stimpack_quick', 'func_type': 'raw_cmd', 'ability_id': 730, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, + 453: {'name': 'Research_TerranInfantryArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 656, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 454: {'name': 'Research_TerranInfantryArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 657, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 455: {'name': 'Research_TerranInfantryArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 658, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 452: {'name': 'Research_TerranInfantryArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3697, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 457: {'name': 'Research_TerranInfantryWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 652, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 458: {'name': 'Research_TerranInfantryWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 653, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 459: {'name': 'Research_TerranInfantryWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 654, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 456: {'name': 'Research_TerranInfantryWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3698, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 461: {'name': 'Research_TerranShipWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 861, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 462: {'name': 'Research_TerranShipWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 862, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 463: {'name': 'Research_TerranShipWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 863, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 460: {'name': 'Research_TerranShipWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3699, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 464: {'name': 'Research_TerranStructureArmorUpgrade_quick', 'func_type': 'raw_cmd', 'ability_id': 651, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, + 466: {'name': 'Research_TerranVehicleAndShipPlatingLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 864, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 467: {'name': 'Research_TerranVehicleAndShipPlatingLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 865, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 468: {'name': 'Research_TerranVehicleAndShipPlatingLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 866, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 465: {'name': 'Research_TerranVehicleAndShipPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 3700, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 470: {'name': 'Research_TerranVehicleWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 855, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 471: {'name': 'Research_TerranVehicleWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 856, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 472: {'name': 'Research_TerranVehicleWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 857, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 469: {'name': 'Research_TerranVehicleWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3701, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, + 473: {'name': 'Research_TunnelingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 217, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, + 82: {'name': 'Research_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1568, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, + 475: {'name': 'Research_ZergFlyerArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1315, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 476: {'name': 'Research_ZergFlyerArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1316, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 477: {'name': 'Research_ZergFlyerArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1317, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 474: {'name': 'Research_ZergFlyerArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3702, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 479: {'name': 'Research_ZergFlyerAttackLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1312, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 480: {'name': 'Research_ZergFlyerAttackLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1313, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 481: {'name': 'Research_ZergFlyerAttackLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1314, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 478: {'name': 'Research_ZergFlyerAttack_quick', 'func_type': 'raw_cmd', 'ability_id': 3703, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, + 483: {'name': 'Research_ZergGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1189, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 484: {'name': 'Research_ZergGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1190, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 485: {'name': 'Research_ZergGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1191, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 482: {'name': 'Research_ZergGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3704, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 494: {'name': 'Research_ZerglingAdrenalGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1252, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, + 495: {'name': 'Research_ZerglingMetabolicBoost_quick', 'func_type': 'raw_cmd', 'ability_id': 1253, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, + 487: {'name': 'Research_ZergMeleeWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1186, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 488: {'name': 'Research_ZergMeleeWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1187, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 489: {'name': 'Research_ZergMeleeWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1188, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 486: {'name': 'Research_ZergMeleeWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3705, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 491: {'name': 'Research_ZergMissileWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1192, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 492: {'name': 'Research_ZergMissileWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1193, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 493: {'name': 'Research_ZergMissileWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1194, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 490: {'name': 'Research_ZergMissileWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3706, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, + 10: {'name': 'Scan_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, + 11: {'name': 'Scan_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, + 1: {'name': 'Smart_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, + 12: {'name': 'Smart_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, + 101: {'name': 'Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 3665, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 46, 57, 24, 36, 692, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 134, 130, 56, 49, 45, 33, 32, 44, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 142, 95, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 136, 73]}, + 496: {'name': 'Stop_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 2057, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 497: {'name': 'Stop_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1691, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 155: {'name': 'Stop_Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 4, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, + 54: {'name': 'Train_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 922, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 498: {'name': 'Train_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 80, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, + 499: {'name': 'Train_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 621, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 500: {'name': 'Train_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 623, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 56: {'name': 'Train_Carrier_quick', 'func_type': 'raw_cmd', 'ability_id': 948, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 62: {'name': 'Train_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 978, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 501: {'name': 'Train_Corruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 1353, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 502: {'name': 'Train_Cyclone_quick', 'func_type': 'raw_cmd', 'ability_id': 597, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 52: {'name': 'Train_DarkTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 920, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 166: {'name': 'Train_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 994, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 503: {'name': 'Train_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1342, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 504: {'name': 'Train_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 562, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 505: {'name': 'Train_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 596, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 506: {'name': 'Train_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 595, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 51: {'name': 'Train_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 919, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 507: {'name': 'Train_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1345, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 63: {'name': 'Train_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 979, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 508: {'name': 'Train_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1352, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 509: {'name': 'Train_Liberator_quick', 'func_type': 'raw_cmd', 'ability_id': 626, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 510: {'name': 'Train_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 563, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 511: {'name': 'Train_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 560, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 512: {'name': 'Train_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 620, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 513: {'name': 'Train_MothershipCore_quick', 'func_type': 'raw_cmd', 'ability_id': 1853, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 21: {'name': 'Train_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 110, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 514: {'name': 'Train_Mutalisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1346, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 61: {'name': 'Train_Observer_quick', 'func_type': 'raw_cmd', 'ability_id': 977, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 58: {'name': 'Train_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 954, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 515: {'name': 'Train_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1344, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 55: {'name': 'Train_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 946, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 64: {'name': 'Train_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 1006, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, + 516: {'name': 'Train_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1632, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, + 517: {'name': 'Train_Raven_quick', 'func_type': 'raw_cmd', 'ability_id': 622, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 518: {'name': 'Train_Reaper_quick', 'func_type': 'raw_cmd', 'ability_id': 561, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, + 519: {'name': 'Train_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1351, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 520: {'name': 'Train_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 524, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, + 53: {'name': 'Train_Sentry_quick', 'func_type': 'raw_cmd', 'ability_id': 921, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 521: {'name': 'Train_SiegeTank_quick', 'func_type': 'raw_cmd', 'ability_id': 591, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 50: {'name': 'Train_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 917, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 522: {'name': 'Train_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 1356, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 59: {'name': 'Train_Tempest_quick', 'func_type': 'raw_cmd', 'ability_id': 955, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 523: {'name': 'Train_Thor_quick', 'func_type': 'raw_cmd', 'ability_id': 594, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 524: {'name': 'Train_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1348, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 525: {'name': 'Train_VikingFighter_quick', 'func_type': 'raw_cmd', 'ability_id': 624, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, + 526: {'name': 'Train_Viper_quick', 'func_type': 'raw_cmd', 'ability_id': 1354, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 57: {'name': 'Train_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 950, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, + 76: {'name': 'TrainWarp_Adept_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1419, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 74: {'name': 'TrainWarp_DarkTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1417, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 73: {'name': 'TrainWarp_HighTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1416, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 60: {'name': 'Train_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 976, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, + 75: {'name': 'TrainWarp_Sentry_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1418, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 72: {'name': 'TrainWarp_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1414, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 71: {'name': 'TrainWarp_Zealot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1413, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, + 527: {'name': 'Train_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 614, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, + 49: {'name': 'Train_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 916, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, + 528: {'name': 'Train_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1343, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, + 529: {'name': 'UnloadAllAt_Medivac_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 530: {'name': 'UnloadAllAt_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 531: {'name': 'UnloadAllAt_Overlord_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 532: {'name': 'UnloadAllAt_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, + 105: {'name': 'UnloadAllAt_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, + 164: {'name': 'UnloadAllAt_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, + 156: {'name': 'UnloadAllAt_WarpPrism_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 163: {'name': 'UnloadAllAt_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + 533: {'name': 'UnloadAll_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 408, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 534: {'name': 'UnloadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 413, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 535: {'name': 'UnloadAll_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1438, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 536: {'name': 'UnloadAll_NydusWorm_quick', 'func_type': 'raw_cmd', 'ability_id': 2371, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, + 100: {'name': 'UnloadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3664, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [24, 18, 36, 142, 95]}, + 556: {'name': 'UnloadUnit_quick', 'func_type': 'raw_cmd', 'ability_id': 3796, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 18, 54, 142, 95, 893, 81, 136]}, + 557: {'name': 'UnloadUnit_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 410, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, + 558: {'name': 'UnloadUnit_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 415, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, + 559: {'name': 'UnloadUnit_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 397, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, + 560: {'name': 'UnloadUnit_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1440, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, + 561: {'name': 'UnloadUnit_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1409, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, + 562: {'name': 'UnloadUnit_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 914, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, + } + +ACTIONS_STAT = { + 0: {'action_name': 'no_op', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, + 1: {'action_name': 'Smart_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 2: {'action_name': 'Attack_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 3: {'action_name': 'Attack_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 12: {'action_name': 'Smart_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 13: {'action_name': 'Move_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 14: {'action_name': 'Move_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 15: {'action_name': 'Patrol_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 16: {'action_name': 'Patrol_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 17: {'action_name': 'HoldPosition_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 19: {'action_name': 'Research_PhoenixAnionPulseCrystals_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, + 20: {'action_name': 'Effect_GuardianShield_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 21: {'action_name': 'Train_Mothership_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, + 22: {'action_name': 'Hallucination_Archon_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 23: {'action_name': 'Hallucination_Colossus_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 25: {'action_name': 'Hallucination_Immortal_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 26: {'action_name': 'Hallucination_Phoenix_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 27: {'action_name': 'Hallucination_Probe_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 28: {'action_name': 'Hallucination_Stalker_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 29: {'action_name': 'Hallucination_VoidRay_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 30: {'action_name': 'Hallucination_WarpPrism_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 31: {'action_name': 'Hallucination_Zealot_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 32: {'action_name': 'Effect_GravitonBeam_unit', 'selected_type': [78], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Phoenix'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 34: {'action_name': 'Build_Nexus_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 35: {'action_name': 'Build_Pylon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 36: {'action_name': 'Build_Assimilator_unit', 'selected_type': [84], 'target_type': [344, 342, 343, 880, 881, 665], 'selected_type_name': ['Probe'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'LabMineralField']}, + 37: {'action_name': 'Build_Gateway_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 38: {'action_name': 'Build_Forge_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 39: {'action_name': 'Build_FleetBeacon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 40: {'action_name': 'Build_TwilightCouncil_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 41: {'action_name': 'Build_PhotonCannon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 42: {'action_name': 'Build_Stargate_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 43: {'action_name': 'Build_TemplarArchive_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 44: {'action_name': 'Build_DarkShrine_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 45: {'action_name': 'Build_RoboticsBay_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 46: {'action_name': 'Build_RoboticsFacility_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 47: {'action_name': 'Build_CyberneticsCore_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 48: {'action_name': 'Build_ShieldBattery_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, + 49: {'action_name': 'Train_Zealot_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 50: {'action_name': 'Train_Stalker_quick', 'selected_type': [62, 133], 'target_type': [], 'selected_type_name': ['Gateway', 'WarpGate'], 'target_type_name': []}, + 51: {'action_name': 'Train_HighTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 52: {'action_name': 'Train_DarkTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 53: {'action_name': 'Train_Sentry_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 54: {'action_name': 'Train_Adept_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 55: {'action_name': 'Train_Phoenix_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 56: {'action_name': 'Train_Carrier_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 57: {'action_name': 'Train_VoidRay_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 58: {'action_name': 'Train_Oracle_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 59: {'action_name': 'Train_Tempest_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, + 60: {'action_name': 'Train_WarpPrism_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 61: {'action_name': 'Train_Observer_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 62: {'action_name': 'Train_Colossus_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 63: {'action_name': 'Train_Immortal_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 64: {'action_name': 'Train_Probe_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, + 65: {'action_name': 'Effect_PsiStorm_pt', 'selected_type': [75], 'target_type': [], 'selected_type_name': ['HighTemplar'], 'target_type_name': []}, + 66: {'action_name': 'Build_Interceptors_quick', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, + 67: {'action_name': 'Research_GraviticBooster_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 68: {'action_name': 'Research_GraviticDrive_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 69: {'action_name': 'Research_ExtendedThermalLance_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, + 70: {'action_name': 'Research_PsiStorm_quick', 'selected_type': [68], 'target_type': [], 'selected_type_name': ['TemplarArchive'], 'target_type_name': []}, + 71: {'action_name': 'TrainWarp_Zealot_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 72: {'action_name': 'TrainWarp_Stalker_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 73: {'action_name': 'TrainWarp_HighTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 74: {'action_name': 'TrainWarp_DarkTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 75: {'action_name': 'TrainWarp_Sentry_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 76: {'action_name': 'TrainWarp_Adept_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 77: {'action_name': 'Morph_WarpGate_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 78: {'action_name': 'Morph_Gateway_quick', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, + 79: {'action_name': 'Effect_ForceField_pt', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 80: {'action_name': 'Morph_WarpPrismPhasingMode_quick', 'selected_type': [81, 136], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing'], 'target_type_name': []}, + 81: {'action_name': 'Morph_WarpPrismTransportMode_quick', 'selected_type': [136, 81], 'target_type': [], 'selected_type_name': ['WarpPrismPhasing', 'WarpPrism'], 'target_type_name': []}, + 82: {'action_name': 'Research_WarpGate_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 83: {'action_name': 'Research_Charge_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 84: {'action_name': 'Research_Blink_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 85: {'action_name': 'Research_AdeptResonatingGlaives_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, + 86: {'action_name': 'Morph_Archon_quick', 'selected_type': [75, 76], 'target_type': [], 'selected_type_name': ['HighTemplar', 'DarkTemplar'], 'target_type_name': []}, + 87: {'action_name': 'Behavior_BuildingAttackOn_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, + 88: {'action_name': 'Behavior_BuildingAttackOff_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, + 89: {'action_name': 'Hallucination_Oracle_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 90: {'action_name': 'Effect_OracleRevelation_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 92: {'action_name': 'Hallucination_Disruptor_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 94: {'action_name': 'Effect_VoidRayPrismaticAlignment_quick', 'selected_type': [80], 'target_type': [], 'selected_type_name': ['VoidRay'], 'target_type_name': []}, + 95: {'action_name': 'Build_StasisTrap_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 96: {'action_name': 'Effect_AdeptPhaseShift_pt', 'selected_type': [311], 'target_type': [], 'selected_type_name': ['Adept'], 'target_type_name': []}, + 97: {'action_name': 'Research_ShadowStrike_quick', 'selected_type': [69], 'target_type': [], 'selected_type_name': ['DarkShrine'], 'target_type_name': []}, + 98: {'action_name': 'Cancel_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 99: {'action_name': 'Halt_quick', 'selected_type': [45, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], 'target_type': [], 'selected_type_name': ['SCV', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore'], 'target_type_name': []}, + 100: {'action_name': 'UnloadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 101: {'action_name': 'Stop_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 102: {'action_name': 'Harvest_Gather_unit', 'selected_type': [104, 45, 84, 268], 'target_type': [483, 20, 341, 88, 665, 666, 61, 884, 885, 796, 797, 1961, 146, 147, 1955, 1960, 1956], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': ['MineralField750', 'Refinery', 'MineralField', 'Extractor', 'LabMineralField', 'LabMineralField750', 'Assimilator', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450', 'RichMineralField', 'RichMineralField750', 'AssimilatorRich', 'RefineryRich', 'ExtractorRich']}, + 103: {'action_name': 'Harvest_Return_quick', 'selected_type': [104, 45, 84, 268], 'target_type': [], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': []}, + 104: {'action_name': 'Load_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 105: {'action_name': 'UnloadAllAt_pt', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 106: {'action_name': 'Rally_Units_pt', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 107: {'action_name': 'Rally_Units_unit', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 109: {'action_name': 'Effect_Repair_unit', 'selected_type': [268, 45], 'target_type': [29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 26, 144, 53, 484, 689, 734, 268, 54, 23, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': ['Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'GhostAcademy', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed']}, + 110: {'action_name': 'Effect_MassRecall_pt', 'selected_type': [10, 59], 'target_type': [], 'selected_type_name': ['Mothership', 'Nexus'], 'target_type_name': []}, + 111: {'action_name': 'Effect_Blink_pt', 'selected_type': [74, 76], 'target_type': [], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': []}, + 114: {'action_name': 'Rally_Workers_pt', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': []}, + 115: {'action_name': 'Rally_Workers_unit', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 116: {'action_name': 'Research_ProtossAirArmor_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 117: {'action_name': 'Research_ProtossAirWeapons_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, + 118: {'action_name': 'Research_ProtossGroundArmor_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 119: {'action_name': 'Research_ProtossGroundWeapons_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 120: {'action_name': 'Research_ProtossShields_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, + 121: {'action_name': 'Morph_ObserverMode_quick', 'selected_type': [1911], 'target_type': [], 'selected_type_name': ['ObserverSurveillanceMode'], 'target_type_name': []}, + 122: {'action_name': 'Effect_ChronoBoostEnergyCost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, + 129: {'action_name': 'Cancel_Last_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, + 157: {'action_name': 'Effect_Feedback_unit', 'selected_type': [75], 'target_type': [129, 75, 111, 499, 1912, 126, 127, 78, 10, 77, 144, 56, 495, 50, 54, 55, 125], 'selected_type_name': ['HighTemplar'], 'target_type_name': ['Overseer', 'HighTemplar', 'Infestor', 'Viper', 'OverseerOversightMode', 'Queen', 'InfestorBurrowed', 'Phoenix', 'Mothership', 'Sentry', 'GhostAlternate', 'Raven', 'Oracle', 'Ghost', 'Medivac', 'Banshee', 'QueenBurrowed']}, + 158: {'action_name': 'Behavior_PulsarBeamOff_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 159: {'action_name': 'Behavior_PulsarBeamOn_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, + 160: {'action_name': 'Morph_SurveillanceMode_quick', 'selected_type': [82], 'target_type': [], 'selected_type_name': ['Observer'], 'target_type_name': []}, + 161: {'action_name': 'Effect_Restore_unit', 'selected_type': [1910], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73], 'selected_type_name': ['ShieldBattery'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot']}, + 164: {'action_name': 'UnloadAllAt_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress']}, + 166: {'action_name': 'Train_Disruptor_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, + 167: {'action_name': 'Effect_PurificationNova_pt', 'selected_type': [694], 'target_type': [], 'selected_type_name': ['Disruptor'], 'target_type_name': []}, + 168: {'action_name': 'raw_move_camera', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, + 169: {'action_name': 'Behavior_CloakOff_quick', 'selected_type': [144, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'Banshee'], 'target_type_name': []}, + 172: {'action_name': 'Behavior_CloakOn_quick', 'selected_type': [144, 145, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost', 'Banshee'], 'target_type_name': []}, + 175: {'action_name': 'Behavior_GenerateCreepOff_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 176: {'action_name': 'Behavior_GenerateCreepOn_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 177: {'action_name': 'Behavior_HoldFireOff_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, + 180: {'action_name': 'Behavior_HoldFireOn_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, + 183: {'action_name': 'Build_Armory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 184: {'action_name': 'Build_BanelingNest_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 185: {'action_name': 'Build_Barracks_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 186: {'action_name': 'Build_Bunker_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 187: {'action_name': 'Build_CommandCenter_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 188: {'action_name': 'Build_CreepTumor_pt', 'selected_type': [137, 126], 'target_type': [], 'selected_type_name': ['CreepTumorBurrowed', 'Queen'], 'target_type_name': []}, + 191: {'action_name': 'Build_EngineeringBay_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 192: {'action_name': 'Build_EvolutionChamber_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 193: {'action_name': 'Build_Extractor_unit', 'selected_type': [104], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['Drone'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, + 194: {'action_name': 'Build_Factory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 195: {'action_name': 'Build_FusionCore_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 196: {'action_name': 'Build_GhostAcademy_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 197: {'action_name': 'Build_Hatchery_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 198: {'action_name': 'Build_HydraliskDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 199: {'action_name': 'Build_InfestationPit_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 201: {'action_name': 'Build_LurkerDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 202: {'action_name': 'Build_MissileTurret_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 203: {'action_name': 'Build_Nuke_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 204: {'action_name': 'Build_NydusNetwork_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 205: {'action_name': 'Build_NydusWorm_pt', 'selected_type': [95], 'target_type': [], 'selected_type_name': ['NydusNetwork'], 'target_type_name': []}, + 206: {'action_name': 'Build_Reactor_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 207: {'action_name': 'Build_Reactor_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 214: {'action_name': 'Build_Refinery_pt', 'selected_type': [45], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['SCV'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, + 215: {'action_name': 'Build_RoachWarren_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 216: {'action_name': 'Build_SensorTower_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 217: {'action_name': 'Build_SpawningPool_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 218: {'action_name': 'Build_SpineCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 219: {'action_name': 'Build_Spire_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 220: {'action_name': 'Build_SporeCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 221: {'action_name': 'Build_Starport_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 222: {'action_name': 'Build_SupplyDepot_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, + 223: {'action_name': 'Build_TechLab_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 224: {'action_name': 'Build_TechLab_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 231: {'action_name': 'Build_UltraliskCavern_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, + 232: {'action_name': 'BurrowDown_quick', 'selected_type': [7, 104, 105, 9, 107, 109, 110, 494, 111, 688, 498, 502, 503, 126], 'target_type': [], 'selected_type_name': ['InfestedTerran', 'Drone', 'Zergling', 'Baneling', 'Hydralisk', 'Ultralisk', 'Roach', 'SwarmHost', 'Infestor', 'Ravager', 'WidowMine', 'Lurker', 'LurkerBurrowed', 'Queen'], 'target_type_name': []}, + 246: {'action_name': 'BurrowUp_quick', 'selected_type': [131, 503, 493, 690, 115, 500, 116, 118, 119, 117, 125, 127, 120], 'target_type': [], 'selected_type_name': ['UltraliskBurrowed', 'LurkerBurrowed', 'SwarmHostBurrowed', 'RavagerBurrowed', 'BanelingBurrowed', 'WidowMineBurrowed', 'DroneBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'HydraliskBurrowed', 'QueenBurrowed', 'InfestorBurrowed', 'InfestedTerranBurrowed'], 'target_type_name': []}, + 293: {'action_name': 'Effect_Abduct_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 294: {'action_name': 'Effect_AntiArmorMissile_unit', 'selected_type': [56], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Raven'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 295: {'action_name': 'Effect_AutoTurret_pt', 'selected_type': [56], 'target_type': [], 'selected_type_name': ['Raven'], 'target_type_name': []}, + 296: {'action_name': 'Effect_BlindingCloud_pt', 'selected_type': [499], 'target_type': [], 'selected_type_name': ['Viper'], 'target_type_name': []}, + 297: {'action_name': 'Effect_CalldownMULE_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, + 298: {'action_name': 'Effect_CalldownMULE_unit', 'selected_type': [132], 'target_type': [665, 666, 483, 341, 146, 147, 884, 885, 796, 797, 1961], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['LabMineralField', 'LabMineralField750', 'MineralField750', 'MineralField', 'RichMineralField', 'RichMineralField750', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450']}, + 299: {'action_name': 'Effect_CausticSpray_unit', 'selected_type': [112], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Corruptor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 301: {'action_name': 'Effect_Charge_unit', 'selected_type': [73], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Zealot'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 303: {'action_name': 'Effect_Contaminate_unit', 'selected_type': [1912, 129], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 304: {'action_name': 'Effect_CorrosiveBile_pt', 'selected_type': [688], 'target_type': [], 'selected_type_name': ['Ravager'], 'target_type_name': []}, + 305: {'action_name': 'Effect_EMP_pt', 'selected_type': [144, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost'], 'target_type_name': []}, + 307: {'action_name': 'Effect_Explode_quick', 'selected_type': [9, 115], 'target_type': [], 'selected_type_name': ['Baneling', 'BanelingBurrowed'], 'target_type_name': []}, + 308: {'action_name': 'Effect_FungalGrowth_pt', 'selected_type': [111], 'target_type': [], 'selected_type_name': ['Infestor'], 'target_type_name': []}, + 310: {'action_name': 'Effect_GhostSnipe_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 311: {'action_name': 'Effect_Heal_unit', 'selected_type': [54], 'target_type': [48, 51, 49], 'selected_type_name': ['Medivac'], 'target_type_name': ['Marine', 'Marauder', 'Reaper']}, + 314: {'action_name': 'Effect_InfestedTerrans_pt', 'selected_type': [111, 127], 'target_type': [], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': []}, + 315: {'action_name': 'Effect_InjectLarva_unit', 'selected_type': [126], 'target_type': [100, 101, 86], 'selected_type_name': ['Queen'], 'target_type_name': ['Lair', 'Hive', 'Hatchery']}, + 316: {'action_name': 'Effect_InterferenceMatrix_unit', 'selected_type': [56], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Raven'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 317: {'action_name': 'Effect_KD8Charge_pt', 'selected_type': [49], 'target_type': [], 'selected_type_name': ['Reaper'], 'target_type_name': []}, + 318: {'action_name': 'Effect_LockOn_unit', 'selected_type': [692], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Cyclone'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 319: {'action_name': 'Effect_LocustSwoop_pt', 'selected_type': [693], 'target_type': [], 'selected_type_name': ['LocustFlying'], 'target_type_name': []}, + 320: {'action_name': 'Effect_MedivacIgniteAfterburners_quick', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, + 321: {'action_name': 'Effect_NeuralParasite_unit', 'selected_type': [111, 127], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 322: {'action_name': 'Effect_NukeCalldown_pt', 'selected_type': [144, 145, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': []}, + 323: {'action_name': 'Effect_ParasiticBomb_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 332: {'action_name': 'Effect_Salvage_quick', 'selected_type': [24], 'target_type': [], 'selected_type_name': ['Bunker'], 'target_type_name': []}, + 333: {'action_name': 'Effect_Scan_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, + 334: {'action_name': 'Effect_SpawnChangeling_quick', 'selected_type': [1912, 129], 'target_type': [], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': []}, + 335: {'action_name': 'Effect_SpawnLocusts_pt', 'selected_type': [493, 494], 'target_type': [], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': []}, + 337: {'action_name': 'Effect_Spray_pt', 'selected_type': [104, 84, 45], 'target_type': [], 'selected_type_name': ['Drone', 'Probe', 'SCV'], 'target_type_name': []}, + 341: {'action_name': 'Effect_Stim_quick', 'selected_type': [48, 24, 51], 'target_type': [], 'selected_type_name': ['Marine', 'Bunker', 'Marauder'], 'target_type_name': []}, + 346: {'action_name': 'Effect_SupplyDrop_unit', 'selected_type': [132], 'target_type': [19, 47], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['SupplyDepot', 'SupplyDepotLowered']}, + 347: {'action_name': 'Effect_TacticalJump_pt', 'selected_type': [57], 'target_type': [], 'selected_type_name': ['Battlecruiser'], 'target_type_name': []}, + 348: {'action_name': 'Effect_TimeWarp_pt', 'selected_type': [10], 'target_type': [], 'selected_type_name': ['Mothership'], 'target_type_name': []}, + 349: {'action_name': 'Effect_Transfusion_unit', 'selected_type': [126], 'target_type': [9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Queen'], 'target_type_name': ['Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, + 350: {'action_name': 'Effect_ViperConsume_unit', 'selected_type': [499], 'target_type': [96, 97, 98, 99, 100, 101, 1956, 504, 142, 86, 88, 89, 90, 91, 92, 94, 95, 102, 139, 93, 140], 'selected_type_name': ['Viper'], 'target_type_name': ['BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'ExtractorRich', 'LurkerDen', 'NydusCanal', 'Hatchery', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'InfestationPit', 'NydusNetwork', 'GreaterSpire', 'SpineCrawlerUprooted', 'UltraliskCavern', 'SporeCrawlerUprooted']}, + 363: {'action_name': 'Land_pt', 'selected_type': [36, 134, 43, 44, 46], 'target_type': [], 'selected_type_name': ['CommandCenterFlying', 'OrbitalCommandFlying', 'FactoryFlying', 'StarportFlying', 'BarracksFlying'], 'target_type_name': []}, + 369: {'action_name': 'Lift_quick', 'selected_type': [132, 18, 21, 27, 28], 'target_type': [], 'selected_type_name': ['OrbitalCommand', 'CommandCenter', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, + 375: {'action_name': 'LoadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 383: {'action_name': 'Morph_BroodLord_quick', 'selected_type': [112], 'target_type': [], 'selected_type_name': ['Corruptor'], 'target_type_name': []}, + 384: {'action_name': 'Morph_GreaterSpire_quick', 'selected_type': [92], 'target_type': [], 'selected_type_name': ['Spire'], 'target_type_name': []}, + 385: {'action_name': 'Morph_Hellbat_quick', 'selected_type': [53], 'target_type': [], 'selected_type_name': ['Hellion'], 'target_type_name': []}, + 386: {'action_name': 'Morph_Hellion_quick', 'selected_type': [484], 'target_type': [], 'selected_type_name': ['Hellbat'], 'target_type_name': []}, + 387: {'action_name': 'Morph_Hive_quick', 'selected_type': [100], 'target_type': [], 'selected_type_name': ['Lair'], 'target_type_name': []}, + 388: {'action_name': 'Morph_Lair_quick', 'selected_type': [86], 'target_type': [], 'selected_type_name': ['Hatchery'], 'target_type_name': []}, + 389: {'action_name': 'Morph_LiberatorAAMode_quick', 'selected_type': [734], 'target_type': [], 'selected_type_name': ['LiberatorAG'], 'target_type_name': []}, + 390: {'action_name': 'Morph_LiberatorAGMode_pt', 'selected_type': [689], 'target_type': [], 'selected_type_name': ['Liberator'], 'target_type_name': []}, + 391: {'action_name': 'Morph_Lurker_quick', 'selected_type': [107], 'target_type': [], 'selected_type_name': ['Hydralisk'], 'target_type_name': []}, + 394: {'action_name': 'Morph_OrbitalCommand_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, + 395: {'action_name': 'Morph_OverlordTransport_quick', 'selected_type': [106], 'target_type': [], 'selected_type_name': ['Overlord'], 'target_type_name': []}, + 396: {'action_name': 'Morph_Overseer_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, + 397: {'action_name': 'Morph_OverseerMode_quick', 'selected_type': [1912], 'target_type': [], 'selected_type_name': ['OverseerOversightMode'], 'target_type_name': []}, + 398: {'action_name': 'Morph_OversightMode_quick', 'selected_type': [129], 'target_type': [], 'selected_type_name': ['Overseer'], 'target_type_name': []}, + 399: {'action_name': 'Morph_PlanetaryFortress_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, + 400: {'action_name': 'Morph_Ravager_quick', 'selected_type': [110], 'target_type': [], 'selected_type_name': ['Roach'], 'target_type_name': []}, + 401: {'action_name': 'Morph_Root_pt', 'selected_type': [139, 140, 98, 99], 'target_type': [], 'selected_type_name': ['SpineCrawlerUprooted', 'SporeCrawlerUprooted'], 'target_type_name': []}, + 402: {'action_name': 'Morph_SiegeMode_quick', 'selected_type': [33], 'target_type': [], 'selected_type_name': ['SiegeTank'], 'target_type_name': []}, + 407: {'action_name': 'Morph_SupplyDepot_Lower_quick', 'selected_type': [19], 'target_type': [], 'selected_type_name': ['SupplyDepot'], 'target_type_name': []}, + 408: {'action_name': 'Morph_SupplyDepot_Raise_quick', 'selected_type': [47], 'target_type': [], 'selected_type_name': ['SupplyDepotLowered'], 'target_type_name': []}, + 409: {'action_name': 'Morph_ThorExplosiveMode_quick', 'selected_type': [691], 'target_type': [], 'selected_type_name': ['ThorHighImpactMode'], 'target_type_name': []}, + 410: {'action_name': 'Morph_ThorHighImpactMode_quick', 'selected_type': [52], 'target_type': [], 'selected_type_name': ['Thor'], 'target_type_name': []}, + 411: {'action_name': 'Morph_Unsiege_quick', 'selected_type': [32], 'target_type': [], 'selected_type_name': ['SiegeTankSieged'], 'target_type_name': []}, + 412: {'action_name': 'Morph_Uproot_quick', 'selected_type': [98, 99, 139, 140], 'target_type': [], 'selected_type_name': ['SpineCrawler', 'SporeCrawler'], 'target_type_name': []}, + 413: {'action_name': 'Morph_VikingAssaultMode_quick', 'selected_type': [35], 'target_type': [], 'selected_type_name': ['VikingFighter'], 'target_type_name': []}, + 414: {'action_name': 'Morph_VikingFighterMode_quick', 'selected_type': [34], 'target_type': [], 'selected_type_name': ['VikingAssault'], 'target_type_name': []}, + 425: {'action_name': 'Research_AdaptiveTalons_quick', 'selected_type': [504], 'target_type': [], 'selected_type_name': ['LurkerDen'], 'target_type_name': []}, + 426: {'action_name': 'Research_AdvancedBallistics_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 427: {'action_name': 'Research_BansheeCloakingField_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 428: {'action_name': 'Research_BansheeHyperflightRotors_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 429: {'action_name': 'Research_BattlecruiserWeaponRefit_quick', 'selected_type': [30], 'target_type': [], 'selected_type_name': ['FusionCore'], 'target_type_name': []}, + 430: {'action_name': 'Research_Burrow_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 431: {'action_name': 'Research_CentrifugalHooks_quick', 'selected_type': [96], 'target_type': [], 'selected_type_name': ['BanelingNest'], 'target_type_name': []}, + 432: {'action_name': 'Research_ChitinousPlating_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, + 433: {'action_name': 'Research_CombatShield_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 434: {'action_name': 'Research_ConcussiveShells_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 436: {'action_name': 'Research_DrillingClaws_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 437: {'action_name': 'Research_GlialRegeneration_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, + 438: {'action_name': 'Research_GroovedSpines_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 439: {'action_name': 'Research_HiSecAutoTracking_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 440: {'action_name': 'Research_HighCapacityFuelTanks_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 441: {'action_name': 'Research_InfernalPreigniter_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 442: {'action_name': 'Research_MuscularAugments_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 444: {'action_name': 'Research_NeuralParasite_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, + 445: {'action_name': 'Research_PathogenGlands_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, + 446: {'action_name': 'Research_PersonalCloaking_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 447: {'action_name': 'Research_PneumatizedCarapace_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 448: {'action_name': 'Research_RavenCorvidReactor_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 450: {'action_name': 'Research_SmartServos_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 451: {'action_name': 'Research_Stimpack_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, + 452: {'action_name': 'Research_TerranInfantryArmor_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 456: {'action_name': 'Research_TerranInfantryWeapons_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 460: {'action_name': 'Research_TerranShipWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 464: {'action_name': 'Research_TerranStructureArmorUpgrade_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 465: {'action_name': 'Research_TerranVehicleAndShipPlating_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 469: {'action_name': 'Research_TerranVehicleWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, + 473: {'action_name': 'Research_TunnelingClaws_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, + 474: {'action_name': 'Research_ZergFlyerArmor_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, + 478: {'action_name': 'Research_ZergFlyerAttack_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, + 482: {'action_name': 'Research_ZergGroundArmor_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 486: {'action_name': 'Research_ZergMeleeWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 490: {'action_name': 'Research_ZergMissileWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, + 494: {'action_name': 'Research_ZerglingAdrenalGlands_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, + 495: {'action_name': 'Research_ZerglingMetabolicBoost_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, + 498: {'action_name': 'Train_Baneling_quick', 'selected_type': [105], 'target_type': [], 'selected_type_name': ['Zergling'], 'target_type_name': []}, + 499: {'action_name': 'Train_Banshee_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 500: {'action_name': 'Train_Battlecruiser_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 501: {'action_name': 'Train_Corruptor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 502: {'action_name': 'Train_Cyclone_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 503: {'action_name': 'Train_Drone_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 504: {'action_name': 'Train_Ghost_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 505: {'action_name': 'Train_Hellbat_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 506: {'action_name': 'Train_Hellion_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 507: {'action_name': 'Train_Hydralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 508: {'action_name': 'Train_Infestor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 509: {'action_name': 'Train_Liberator_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 510: {'action_name': 'Train_Marauder_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 511: {'action_name': 'Train_Marine_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 512: {'action_name': 'Train_Medivac_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 514: {'action_name': 'Train_Mutalisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 515: {'action_name': 'Train_Overlord_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 516: {'action_name': 'Train_Queen_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, + 517: {'action_name': 'Train_Raven_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 518: {'action_name': 'Train_Reaper_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, + 519: {'action_name': 'Train_Roach_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 520: {'action_name': 'Train_SCV_quick', 'selected_type': [18, 132, 130], 'target_type': [], 'selected_type_name': ['CommandCenter', 'OrbitalCommand', 'PlanetaryFortress'], 'target_type_name': []}, + 521: {'action_name': 'Train_SiegeTank_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 522: {'action_name': 'Train_SwarmHost_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 523: {'action_name': 'Train_Thor_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 524: {'action_name': 'Train_Ultralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 525: {'action_name': 'Train_VikingFighter_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, + 526: {'action_name': 'Train_Viper_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 527: {'action_name': 'Train_WidowMine_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, + 528: {'action_name': 'Train_Zergling_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, + 537: {'action_name': 'Effect_YamatoGun_unit', 'selected_type': [57], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Battlecruiser'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 538: {'action_name': 'Effect_KD8Charge_unit', 'selected_type': [49], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Reaper'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 553: {'action_name': 'Research_AnabolicSynthesis_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, + 554: {'action_name': 'Research_CycloneLockOnDamage_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 556: {'action_name': 'UnloadUnit_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, + 24: {'action_name': 'Hallucination_HighTemplar_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 93: {'action_name': 'Hallucination_Adept_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, + 200: {'action_name': 'Build_Interceptors_autocast', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, + 247: {'action_name': 'BurrowUp_autocast', 'selected_type': [115, 117, 119], 'target_type': [], 'selected_type_name': ['BanelingBurrowed', 'HydraliskBurrowed', 'ZerglingBurrowed'], 'target_type_name': []}, + 302: {'action_name': 'Effect_Charge_autocast', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, + 312: {'action_name': 'Effect_Heal_autocast', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, + 324: {'action_name': 'Effect_Repair_autocast', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, + 331: {'action_name': 'Effect_Restore_autocast', 'selected_type': [1910], 'target_type': [], 'selected_type_name': ['ShieldBattery'], 'target_type_name': []}, + 541: {'action_name': 'Effect_LockOn_autocast', 'selected_type': [692], 'target_type': [], 'selected_type_name': ['Cyclone'], 'target_type_name': []}, + 544: {'action_name': 'Morph_WarpGate_autocast', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, + 112: {'action_name': 'Effect_Blink_unit', 'selected_type': [74, 76], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 300: {'action_name': 'Effect_Charge_pt', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, + 33: {'action_name': 'Effect_ChronoBoost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, + 306: {'action_name': 'Effect_EMP_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 309: {'action_name': 'Effect_FungalGrowth_unit', 'selected_type': [111], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Infestor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 313: {'action_name': 'Effect_ImmortalBarrier_autocast', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, + 91: {'action_name': 'Effect_ImmortalBarrier_quick', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, + 108: {'action_name': 'Effect_Repair_pt', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, + 336: {'action_name': 'Effect_SpawnLocusts_unit', 'selected_type': [493, 494], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 353: {'action_name': 'Effect_WidowMineAttack_autocast', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, + 351: {'action_name': 'Effect_WidowMineAttack_pt', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, + 352: {'action_name': 'Effect_WidowMineAttack_unit', 'selected_type': [498, 500], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, + 392: {'action_name': 'Morph_LurkerDen_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, + 393: {'action_name': 'Morph_Mothership_quick', 'selected_type': [488], 'target_type': [], 'selected_type_name': ['MothershipCore'], 'target_type_name': []}, + 435: {'action_name': 'Research_CycloneRapidFireLaunchers_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, + 563: {'action_name': 'Research_EnhancedShockwaves_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, + 18: {'action_name': 'Research_InterceptorGravitonCatapult_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, + 443: {'action_name': 'Research_NeosteelFrame_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, + 449: {'action_name': 'Research_RavenRecalibratedExplosives_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, + 513: {'action_name': 'Train_MothershipCore_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, +} + +def get_general(general_id): + return {k: v for k, v in ACTION_INFO_MASK.items() if v['ability_id'] == general_id} + + +def merge_judge(target_general_action, val): + ret = [] + for k, v in target_general_action.items(): + if v['target_unit'] != val['target_unit']: + continue + if v['target_location'] != val['target_location']: + continue + if v['func_type'] != val['func_type']: + continue + ret.append(k) + try: + assert(len(ret) == 1) + except AssertionError: + print(target_general_action) + print(val) + print(ret) + return ret[0] + + +GENERAL_ACTION_INFO_MASK = {} +ACT_TO_GENERAL_ACT = {} +ACT_TO_GENERAL_ACT_ARRAY = np.full(max(ACTION_INFO_MASK.keys()) + 1, -1, dtype=np.int) +for k, v in ACTION_INFO_MASK.items(): + general_id = v['general_id'] + if general_id is None or general_id == 0: + GENERAL_ACTION_INFO_MASK[k] = v + ACT_TO_GENERAL_ACT[k] = k + ACT_TO_GENERAL_ACT_ARRAY[k] = k + else: + target_general_action = get_general(general_id) + action_id = merge_judge(target_general_action, v) + ACT_TO_GENERAL_ACT[k] = action_id + ACT_TO_GENERAL_ACT_ARRAY[k] = action_id + + +ACTION_RACE_MASK = { +'zerg': torch.tensor([False, False, True, True, True, True, False, False, True, True, + True, True, False, False, False, False, True, False, False, False, + True, False, False, False, True, True, False, False, False, False, + False, False, True, True, True, False, False, True, False, False, + False, True, True, False, False, False, False, False, True, False, + False, False, False, True, True, True, True, False, False, False, + False, False, False, False, False, True, True, True, True, True, + True, True, False, False, False, True, False, False, False, False, + True, False, False, False, False, False, True, True, False, False, + True, False, False, True, True, False, False, False, False, False, + False, False, True, True, False, False, False, False, False, True, + False, False, True, False, False, True, False, False, False, False, + False, False, False, False, False, True, True, True, True, False, + False, False, False, True, True, False, False, False, False, False, + False, False, False, False, False, False, False, False, False, False, + False, False, False, False, True, True, True, False, False, False, + True, False, True, False, True, False, False, True, True, False, + False, True, True, False, False, False, True, True, True, True, + False, True, True, False, False, False, False, False, False, False, + True, False, False, False, False, False, False, True, True, True, + True, True, True, True, True, True, False, False, True, False, + False, False, False, True, True, False, True, False, False, False, + False, False, False, False, True, False, False, True, False, False, + False, False, True, False, True, True, False, False, True, False, + False, False, False, False, False, False, False, False, False, False, + False, False, False, False, False, False, True, False, True, True, + True, True, True, True, True, True, True, True, False, True, + False, False, False, False, True, False, False, False, True, False, + False, False, False, True, False, True, False, False, False, False, + False, False, True, False, False, True, False, False, True, False, + False, True, False, False, False, False, True, False, False, True, + False, True, False, False, False, False, False, False, False, False, + False, False, True, True, True, True, True]), +'terran': torch.tensor([False, False, True, True, False, False, True, True, False, False, + True, True, False, False, True, False, False, True, True, True, + False, False, False, True, False, False, True, False, False, True, + False, True, False, False, False, False, False, False, True, False, + True, False, False, False, False, True, True, True, False, False, + False, True, False, False, False, False, False, False, True, False, + True, True, True, False, False, False, True, True, True, True, + True, False, False, True, True, False, False, False, True, True, + False, False, False, False, False, False, False, False, True, True, + False, False, False, False, False, True, False, False, True, True, + False, False, False, False, True, True, True, True, True, False, + False, True, False, True, False, False, False, False, True, True, + True, False, False, True, True, False, False, False, True, True, + True, True, False, False, False, False, True, True, True, True, + False, False, False, False, False, False, False, False, False, False, + False, False, False, True, True, True, True, True, True, True, + True, False, False, False, False, True, True, False, False, True, + True, False, False, False, False, True, False, False, False, False, + True, False, False, True, True, True, False, True, True, True, + False, True, True, False, False, False, False, True, True, True, + True, True, True, True, True, False, False, True, False, True, + True, True, False, False, False, False, False, True, True, True, + True, True, True, False, False, False, False, False, True, True, + True, False, False, True, False, False, True, False, False, False, + False, False, False, False, False, True, True, False, True, True, + True, True, True, True, True, True, False, False, False, False, + False, False, False, False, False, True, True, True, False, False, + True, True, False, False, False, True, False, False, False, True, + True, True, False, False, False, False, True, True, True, True, + False, False, False, False, False, False, False, False, False, True, + True, False, True, False, True, False, False, False, True, False, + True, False, False, False, False, False, False, False, False, False, + True, False, False, True, True, True, True]), +'protoss': torch.tensor([False, False, True, True, False, False, False, False, False, False, + False, False, True, True, False, True, False, False, False, False, + False, True, True, False, False, False, False, True, True, False, + True, False, False, False, False, True, True, False, False, True, + False, False, False, True, True, False, False, False, False, True, + True, False, True, False, False, False, False, True, False, True, + False, False, False, True, True, False, False, False, False, True, + True, False, True, False, False, False, True, True, False, False, + False, True, True, True, True, True, False, False, False, False, + False, True, True, False, False, False, True, True, False, False, + True, True, False, False, False, False, False, False, False, False, + True, False, False, False, True, False, True, True, False, False, + False, True, True, False, False, False, False, False, True, False, + False, False, True, False, False, True, False, False, False, False, + True, True, True, True, True, True, True, True, True, True, + True, True, True, False, True, True, True, False, False, False, + True, True, False, True, False, False, False, False, False, False, + False, False, False, True, True, False, False, False, False, False, + False, False, False, False, False, False, True, False, False, False, + False, False, False, True, True, True, True, True, True, True, + True, True, True, True, True, False, True, False, False, False, + False, False, True, False, False, True, False, False, False, False, + False, False, False, True, False, True, True, False, False, False, + False, True, False, False, False, False, False, True, False, True, + True, True, True, True, True, False, False, True, False, False, + False, False, False, False, False, False, False, True, False, False, + False, False, False, False, False, True, True, True, True, False, + False, False, True, True, False, False, True, True, False, False, + False, False, True, False, True, False, False, False, False, False, + True, True, False, True, True, False, True, True, False, False, + False, False, False, True, False, True, False, True, False, False, + False, False, True, True, True, True, True, True, True, True, + False, True, False, True, True, False, True])} class StaticData(object): @@ -1150,3 +2173,421 @@ def ger_reorder_tag(val, template): 917, 919, 920, 921, 922, 1448, 3680, 1450, 1454, 1455, 946, 948, 950, 596, 954, 955, 597, 1978, 3681, 2505, 1482, 1998, 976, 977, 978, 979, 1622, 994, 2536, 1516, 2542, 1006, 2544, 1518, 1520, 1526, 1528, 2554, 1343, 2556, 2558 ] +ACTIONS = [ + {'func_id': 0, 'general_ability_id': None, 'goal': 'other', 'name': 'no_op', 'queued': False, 'selected_units': False, 'target_location': False, 'target_unit': False} , + {'func_id': 168, 'general_ability_id': None, 'goal': 'other', 'name': 'raw_move_camera', 'queued': False, 'selected_units': False, 'target_location': True, 'target_unit': False} , + {'func_id': 2, 'general_ability_id': 3674, 'goal': 'other', 'name': 'Attack_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 3, 'general_ability_id': 3674, 'goal': 'other', 'name': 'Attack_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 88, 'general_ability_id': 2082, 'goal': 'other', 'name': 'Behavior_BuildingAttackOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 87, 'general_ability_id': 2081, 'goal': 'other', 'name': 'Behavior_BuildingAttackOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 169, 'general_ability_id': 3677, 'goal': 'other', 'name': 'Behavior_CloakOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 172, 'general_ability_id': 3676, 'goal': 'other', 'name': 'Behavior_CloakOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 175, 'general_ability_id': 1693, 'goal': 'other', 'name': 'Behavior_GenerateCreepOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 176, 'general_ability_id': 1692, 'goal': 'other', 'name': 'Behavior_GenerateCreepOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 177, 'general_ability_id': 3689, 'goal': 'other', 'name': 'Behavior_HoldFireOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 180, 'general_ability_id': 3688, 'goal': 'other', 'name': 'Behavior_HoldFireOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 158, 'general_ability_id': 2376, 'goal': 'other', 'name': 'Behavior_PulsarBeamOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 159, 'general_ability_id': 2375, 'goal': 'other', 'name': 'Behavior_PulsarBeamOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 183, 'general_ability_id': 331, 'goal': 'build', 'name': 'Build_Armory_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 29} , + {'func_id': 36, 'general_ability_id': 882, 'goal': 'build', 'name': 'Build_Assimilator_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 61} , + {'func_id': 184, 'general_ability_id': 1162, 'goal': 'build', 'name': 'Build_BanelingNest_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 96} , + {'func_id': 185, 'general_ability_id': 321, 'goal': 'build', 'name': 'Build_Barracks_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 21} , + {'func_id': 186, 'general_ability_id': 324, 'goal': 'build', 'name': 'Build_Bunker_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 24} , + {'func_id': 187, 'general_ability_id': 318, 'goal': 'build', 'name': 'Build_CommandCenter_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 18} , + {'func_id': 188, 'general_ability_id': 3691, 'goal': 'build', 'name': 'Build_CreepTumor_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 87} , + {'func_id': 47, 'general_ability_id': 894, 'goal': 'build', 'name': 'Build_CyberneticsCore_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 72} , + {'func_id': 44, 'general_ability_id': 891, 'goal': 'build', 'name': 'Build_DarkShrine_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 69} , + {'func_id': 191, 'general_ability_id': 322, 'goal': 'build', 'name': 'Build_EngineeringBay_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 22} , + {'func_id': 192, 'general_ability_id': 1156, 'goal': 'build', 'name': 'Build_EvolutionChamber_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 90} , + {'func_id': 193, 'general_ability_id': 1154, 'goal': 'build', 'name': 'Build_Extractor_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 88} , + {'func_id': 194, 'general_ability_id': 328, 'goal': 'build', 'name': 'Build_Factory_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 27} , + {'func_id': 39, 'general_ability_id': 885, 'goal': 'build', 'name': 'Build_FleetBeacon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 64} , + {'func_id': 38, 'general_ability_id': 884, 'goal': 'build', 'name': 'Build_Forge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 63} , + {'func_id': 195, 'general_ability_id': 333, 'goal': 'build', 'name': 'Build_FusionCore_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 30} , + {'func_id': 37, 'general_ability_id': 883, 'goal': 'build', 'name': 'Build_Gateway_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 62} , + {'func_id': 196, 'general_ability_id': 327, 'goal': 'build', 'name': 'Build_GhostAcademy_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 26} , + {'func_id': 197, 'general_ability_id': 1152, 'goal': 'build', 'name': 'Build_Hatchery_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 86} , + {'func_id': 198, 'general_ability_id': 1157, 'goal': 'build', 'name': 'Build_HydraliskDen_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 91} , + {'func_id': 199, 'general_ability_id': 1160, 'goal': 'build', 'name': 'Build_InfestationPit_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 94} , + {'func_id': 200, 'general_ability_id': 1042, 'goal': 'build', 'name': 'Build_Interceptors_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 85} , + {'func_id': 66, 'general_ability_id': 1042, 'goal': 'build', 'name': 'Build_Interceptors_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 85} , + {'func_id': 201, 'general_ability_id': 1163, 'goal': 'build', 'name': 'Build_LurkerDen_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 504} , + {'func_id': 202, 'general_ability_id': 323, 'goal': 'build', 'name': 'Build_MissileTurret_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 23} , + {'func_id': 34, 'general_ability_id': 880, 'goal': 'build', 'name': 'Build_Nexus_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 59} , + {'func_id': 203, 'general_ability_id': 710, 'goal': 'build', 'name': 'Build_Nuke_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 58} , + {'func_id': 204, 'general_ability_id': 1161, 'goal': 'build', 'name': 'Build_NydusNetwork_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 95} , + {'func_id': 205, 'general_ability_id': 1768, 'goal': 'build', 'name': 'Build_NydusWorm_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 142} , + {'func_id': 41, 'general_ability_id': 887, 'goal': 'build', 'name': 'Build_PhotonCannon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 66} , + {'func_id': 35, 'general_ability_id': 881, 'goal': 'build', 'name': 'Build_Pylon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 60} , + {'func_id': 207, 'general_ability_id': 3683, 'goal': 'build', 'name': 'Build_Reactor_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 6} , + {'func_id': 206, 'general_ability_id': 3683, 'goal': 'build', 'name': 'Build_Reactor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 6} , + {'func_id': 214, 'general_ability_id': 320, 'goal': 'build', 'name': 'Build_Refinery_pt', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 20} , + {'func_id': 215, 'general_ability_id': 1165, 'goal': 'build', 'name': 'Build_RoachWarren_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 97} , + {'func_id': 45, 'general_ability_id': 892, 'goal': 'build', 'name': 'Build_RoboticsBay_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 70} , + {'func_id': 46, 'general_ability_id': 893, 'goal': 'build', 'name': 'Build_RoboticsFacility_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 71} , + {'func_id': 216, 'general_ability_id': 326, 'goal': 'build', 'name': 'Build_SensorTower_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 25} , + {'func_id': 48, 'general_ability_id': 895, 'goal': 'build', 'name': 'Build_ShieldBattery_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 1910} , + {'func_id': 217, 'general_ability_id': 1155, 'goal': 'build', 'name': 'Build_SpawningPool_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 89} , + {'func_id': 218, 'general_ability_id': 1166, 'goal': 'build', 'name': 'Build_SpineCrawler_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 98} , + {'func_id': 219, 'general_ability_id': 1158, 'goal': 'build', 'name': 'Build_Spire_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 92} , + {'func_id': 220, 'general_ability_id': 1167, 'goal': 'build', 'name': 'Build_SporeCrawler_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 99} , + {'func_id': 42, 'general_ability_id': 889, 'goal': 'build', 'name': 'Build_Stargate_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 67} , + {'func_id': 221, 'general_ability_id': 329, 'goal': 'build', 'name': 'Build_Starport_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 28} , + {'func_id': 95, 'general_ability_id': 2505, 'goal': 'build', 'name': 'Build_StasisTrap_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 732} , + {'func_id': 222, 'general_ability_id': 319, 'goal': 'build', 'name': 'Build_SupplyDepot_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 19} , + {'func_id': 224, 'general_ability_id': 3682, 'goal': 'build', 'name': 'Build_TechLab_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 5} , + {'func_id': 223, 'general_ability_id': 3682, 'goal': 'build', 'name': 'Build_TechLab_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 5} , + {'func_id': 43, 'general_ability_id': 890, 'goal': 'build', 'name': 'Build_TemplarArchive_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 68} , + {'func_id': 40, 'general_ability_id': 886, 'goal': 'build', 'name': 'Build_TwilightCouncil_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 65} , + {'func_id': 231, 'general_ability_id': 1159, 'goal': 'build', 'name': 'Build_UltraliskCavern_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 93} , + {'func_id': 232, 'general_ability_id': 3661, 'goal': 'effect', 'name': 'BurrowDown_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 247, 'general_ability_id': 3662, 'goal': 'other', 'name': 'BurrowUp_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 246, 'general_ability_id': 3662, 'goal': 'other', 'name': 'BurrowUp_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 98, 'general_ability_id': 3659, 'goal': 'other', 'name': 'Cancel_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 129, 'general_ability_id': 3671, 'goal': 'other', 'name': 'Cancel_Last_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 293, 'general_ability_id': 2067, 'goal': 'effect', 'name': 'Effect_Abduct_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 96, 'general_ability_id': 2544, 'goal': 'effect', 'name': 'Effect_AdeptPhaseShift_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 294, 'general_ability_id': 3753, 'goal': 'effect', 'name': 'Effect_AntiArmorMissile_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 295, 'general_ability_id': 1764, 'goal': 'effect', 'name': 'Effect_AutoTurret_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 296, 'general_ability_id': 2063, 'goal': 'effect', 'name': 'Effect_BlindingCloud_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 111, 'general_ability_id': 3687, 'goal': 'effect', 'name': 'Effect_Blink_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 112, 'general_ability_id': 3687, 'goal': 'effect', 'name': 'Effect_Blink_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 297, 'general_ability_id': 171, 'goal': 'effect', 'name': 'Effect_CalldownMULE_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 298, 'general_ability_id': 171, 'goal': 'effect', 'name': 'Effect_CalldownMULE_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 299, 'general_ability_id': 2324, 'goal': 'effect', 'name': 'Effect_CausticSpray_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 302, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 300, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 301, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 122, 'general_ability_id': 3755, 'goal': 'effect', 'name': 'Effect_ChronoBoostEnergyCost_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 33, 'general_ability_id': 261, 'goal': 'effect', 'name': 'Effect_ChronoBoost_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 303, 'general_ability_id': 1825, 'goal': 'effect', 'name': 'Effect_Contaminate_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 304, 'general_ability_id': 2338, 'goal': 'effect', 'name': 'Effect_CorrosiveBile_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 305, 'general_ability_id': 1628, 'goal': 'effect', 'name': 'Effect_EMP_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 306, 'general_ability_id': 1628, 'goal': 'effect', 'name': 'Effect_EMP_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 307, 'general_ability_id': 42, 'goal': 'effect', 'name': 'Effect_Explode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 157, 'general_ability_id': 140, 'goal': 'effect', 'name': 'Effect_Feedback_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 79, 'general_ability_id': 1526, 'goal': 'effect', 'name': 'Effect_ForceField_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 308, 'general_ability_id': 74, 'goal': 'effect', 'name': 'Effect_FungalGrowth_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 309, 'general_ability_id': 74, 'goal': 'effect', 'name': 'Effect_FungalGrowth_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 310, 'general_ability_id': 2714, 'goal': 'effect', 'name': 'Effect_GhostSnipe_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 32, 'general_ability_id': 173, 'goal': 'effect', 'name': 'Effect_GravitonBeam_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 20, 'general_ability_id': 76, 'goal': 'effect', 'name': 'Effect_GuardianShield_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 312, 'general_ability_id': 386, 'goal': 'effect', 'name': 'Effect_Heal_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 311, 'general_ability_id': 386, 'goal': 'effect', 'name': 'Effect_Heal_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 313, 'general_ability_id': 2328, 'goal': 'effect', 'name': 'Effect_ImmortalBarrier_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 91, 'general_ability_id': 2328, 'goal': 'effect', 'name': 'Effect_ImmortalBarrier_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 314, 'general_ability_id': 247, 'goal': 'effect', 'name': 'Effect_InfestedTerrans_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 315, 'general_ability_id': 251, 'goal': 'effect', 'name': 'Effect_InjectLarva_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 316, 'general_ability_id': 3747, 'goal': 'effect', 'name': 'Effect_InterferenceMatrix_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 317, 'general_ability_id': 2588, 'goal': 'effect', 'name': 'Effect_KD8Charge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 538, 'general_ability_id': 2588, 'goal': 'effect', 'name': 'Effect_KD8Charge_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 318, 'general_ability_id': 2350, 'goal': 'effect', 'name': 'Effect_LockOn_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 541, 'general_ability_id': 2350, 'goal': 'effect', 'name': 'Effect_LockOn_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 319, 'general_ability_id': 2387, 'goal': 'effect', 'name': 'Effect_LocustSwoop_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 110, 'general_ability_id': 3686, 'goal': 'effect', 'name': 'Effect_MassRecall_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 320, 'general_ability_id': 2116, 'goal': 'effect', 'name': 'Effect_MedivacIgniteAfterburners_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 321, 'general_ability_id': 249, 'goal': 'effect', 'name': 'Effect_NeuralParasite_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 322, 'general_ability_id': 1622, 'goal': 'effect', 'name': 'Effect_NukeCalldown_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 90, 'general_ability_id': 2146, 'goal': 'effect', 'name': 'Effect_OracleRevelation_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 323, 'general_ability_id': 2542, 'goal': 'effect', 'name': 'Effect_ParasiticBomb_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 65, 'general_ability_id': 1036, 'goal': 'effect', 'name': 'Effect_PsiStorm_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 167, 'general_ability_id': 2346, 'goal': 'effect', 'name': 'Effect_PurificationNova_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 324, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 108, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 109, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 331, 'general_ability_id': 3765, 'goal': 'effect', 'name': 'Effect_Restore_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 161, 'general_ability_id': 3765, 'goal': 'effect', 'name': 'Effect_Restore_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 332, 'general_ability_id': 32, 'goal': 'effect', 'name': 'Effect_Salvage_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 333, 'general_ability_id': 399, 'goal': 'effect', 'name': 'Effect_Scan_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 334, 'general_ability_id': 181, 'goal': 'effect', 'name': 'Effect_SpawnChangeling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 335, 'general_ability_id': 2704, 'goal': 'effect', 'name': 'Effect_SpawnLocusts_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 336, 'general_ability_id': 2704, 'goal': 'effect', 'name': 'Effect_SpawnLocusts_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 337, 'general_ability_id': 3684, 'goal': 'effect', 'name': 'Effect_Spray_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 341, 'general_ability_id': 3675, 'goal': 'effect', 'name': 'Effect_Stim_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 346, 'general_ability_id': 255, 'goal': 'effect', 'name': 'Effect_SupplyDrop_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 347, 'general_ability_id': 2358, 'goal': 'effect', 'name': 'Effect_TacticalJump_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 348, 'general_ability_id': 2244, 'goal': 'effect', 'name': 'Effect_TimeWarp_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 349, 'general_ability_id': 1664, 'goal': 'effect', 'name': 'Effect_Transfusion_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 350, 'general_ability_id': 2073, 'goal': 'effect', 'name': 'Effect_ViperConsume_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 94, 'general_ability_id': 2393, 'goal': 'effect', 'name': 'Effect_VoidRayPrismaticAlignment_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 353, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 351, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 352, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 537, 'general_ability_id': 401, 'goal': 'effect', 'name': 'Effect_YamatoGun_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 93, 'general_ability_id': 2391, 'goal': 'effect', 'name': 'Hallucination_Adept_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 22, 'general_ability_id': 146, 'goal': 'effect', 'name': 'Hallucination_Archon_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 23, 'general_ability_id': 148, 'goal': 'effect', 'name': 'Hallucination_Colossus_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 92, 'general_ability_id': 2389, 'goal': 'effect', 'name': 'Hallucination_Disruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 24, 'general_ability_id': 150, 'goal': 'effect', 'name': 'Hallucination_HighTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 25, 'general_ability_id': 152, 'goal': 'effect', 'name': 'Hallucination_Immortal_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 89, 'general_ability_id': 2114, 'goal': 'effect', 'name': 'Hallucination_Oracle_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 26, 'general_ability_id': 154, 'goal': 'effect', 'name': 'Hallucination_Phoenix_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 27, 'general_ability_id': 156, 'goal': 'effect', 'name': 'Hallucination_Probe_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 28, 'general_ability_id': 158, 'goal': 'effect', 'name': 'Hallucination_Stalker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 29, 'general_ability_id': 160, 'goal': 'effect', 'name': 'Hallucination_VoidRay_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 30, 'general_ability_id': 162, 'goal': 'effect', 'name': 'Hallucination_WarpPrism_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 31, 'general_ability_id': 164, 'goal': 'effect', 'name': 'Hallucination_Zealot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 99, 'general_ability_id': 3660, 'goal': 'other', 'name': 'Halt_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 102, 'general_ability_id': 3666, 'goal': 'other', 'name': 'Harvest_Gather_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 103, 'general_ability_id': 3667, 'goal': 'other', 'name': 'Harvest_Return_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 17, 'general_ability_id': 3793, 'goal': 'other', 'name': 'HoldPosition_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 363, 'general_ability_id': 3678, 'goal': 'other', 'name': 'Land_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 369, 'general_ability_id': 3679, 'goal': 'other', 'name': 'Lift_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 375, 'general_ability_id': 3663, 'goal': 'other', 'name': 'LoadAll_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 104, 'general_ability_id': 3668, 'goal': 'other', 'name': 'Load_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 86, 'general_ability_id': 1766, 'goal': 'unit', 'name': 'Morph_Archon_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 141} , + {'func_id': 383, 'general_ability_id': 1372, 'goal': 'unit', 'name': 'Morph_BroodLord_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 114} , + {'func_id': 78, 'general_ability_id': 1520, 'goal': 'other', 'name': 'Morph_Gateway_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 384, 'general_ability_id': 1220, 'goal': 'build', 'name': 'Morph_GreaterSpire_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 102} , + {'func_id': 385, 'general_ability_id': 1998, 'goal': 'other', 'name': 'Morph_Hellbat_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 386, 'general_ability_id': 1978, 'goal': 'other', 'name': 'Morph_Hellion_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 387, 'general_ability_id': 1218, 'goal': 'build', 'name': 'Morph_Hive_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 101} , + {'func_id': 388, 'general_ability_id': 1216, 'goal': 'build', 'name': 'Morph_Lair_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 100} , + {'func_id': 389, 'general_ability_id': 2560, 'goal': 'other', 'name': 'Morph_LiberatorAAMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 390, 'general_ability_id': 2558, 'goal': 'other', 'name': 'Morph_LiberatorAGMode_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 392, 'general_ability_id': 2112, 'goal': 'build', 'name': 'Morph_LurkerDen_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 504} , + {'func_id': 391, 'general_ability_id': 2332, 'goal': 'unit', 'name': 'Morph_Lurker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 502} , + {'func_id': 393, 'general_ability_id': 1847, 'goal': 'unit', 'name': 'Morph_Mothership_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , + {'func_id': 121, 'general_ability_id': 3739, 'goal': 'other', 'name': 'Morph_ObserverMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 394, 'general_ability_id': 1516, 'goal': 'build', 'name': 'Morph_OrbitalCommand_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 132} , + {'func_id': 395, 'general_ability_id': 2708, 'goal': 'unit', 'name': 'Morph_OverlordTransport_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 893} , + {'func_id': 397, 'general_ability_id': 3745, 'goal': 'other', 'name': 'Morph_OverseerMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 396, 'general_ability_id': 1448, 'goal': 'unit', 'name': 'Morph_Overseer_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 129} , + {'func_id': 398, 'general_ability_id': 3743, 'goal': 'other', 'name': 'Morph_OversightMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 399, 'general_ability_id': 1450, 'goal': 'build', 'name': 'Morph_PlanetaryFortress_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 130} , + {'func_id': 400, 'general_ability_id': 2330, 'goal': 'unit', 'name': 'Morph_Ravager_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 688} , + {'func_id': 401, 'general_ability_id': 3680, 'goal': 'other', 'name': 'Morph_Root_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 402, 'general_ability_id': 388, 'goal': 'other', 'name': 'Morph_SiegeMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 407, 'general_ability_id': 556, 'goal': 'other', 'name': 'Morph_SupplyDepot_Lower_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 408, 'general_ability_id': 558, 'goal': 'other', 'name': 'Morph_SupplyDepot_Raise_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 160, 'general_ability_id': 3741, 'goal': 'other', 'name': 'Morph_SurveillanceMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 409, 'general_ability_id': 2364, 'goal': 'other', 'name': 'Morph_ThorExplosiveMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 410, 'general_ability_id': 2362, 'goal': 'other', 'name': 'Morph_ThorHighImpactMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 411, 'general_ability_id': 390, 'goal': 'other', 'name': 'Morph_Unsiege_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 412, 'general_ability_id': 3681, 'goal': 'other', 'name': 'Morph_Uproot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 413, 'general_ability_id': 403, 'goal': 'other', 'name': 'Morph_VikingAssaultMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 414, 'general_ability_id': 405, 'goal': 'other', 'name': 'Morph_VikingFighterMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 77, 'general_ability_id': 1518, 'goal': 'other', 'name': 'Morph_WarpGate_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 544, 'general_ability_id': 1518, 'goal': 'other', 'name': 'Morph_WarpGate_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 80, 'general_ability_id': 1528, 'goal': 'other', 'name': 'Morph_WarpPrismPhasingMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 81, 'general_ability_id': 1530, 'goal': 'other', 'name': 'Morph_WarpPrismTransportMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 13, 'general_ability_id': 3794, 'goal': 'other', 'name': 'Move_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 14, 'general_ability_id': 3794, 'goal': 'other', 'name': 'Move_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 15, 'general_ability_id': 3795, 'goal': 'other', 'name': 'Patrol_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 16, 'general_ability_id': 3795, 'goal': 'other', 'name': 'Patrol_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 106, 'general_ability_id': 3673, 'goal': 'other', 'name': 'Rally_Units_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 107, 'general_ability_id': 3673, 'goal': 'other', 'name': 'Rally_Units_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 114, 'general_ability_id': 3690, 'goal': 'other', 'name': 'Rally_Workers_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 115, 'general_ability_id': 3690, 'goal': 'other', 'name': 'Rally_Workers_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 425, 'general_ability_id': 3709, 'goal': 'research', 'name': 'Research_AdaptiveTalons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 293} , + {'func_id': 85, 'general_ability_id': 1594, 'goal': 'research', 'name': 'Research_AdeptResonatingGlaives_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 130} , + {'func_id': 426, 'general_ability_id': 805, 'goal': 'research', 'name': 'Research_AdvancedBallistics_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 140} , + {'func_id': 553, 'general_ability_id': 263, 'goal': 'research', 'name': 'Research_AnabolicSynthesis_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 88} , + {'func_id': 427, 'general_ability_id': 790, 'goal': 'research', 'name': 'Research_BansheeCloakingField_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 20} , + {'func_id': 428, 'general_ability_id': 799, 'goal': 'research', 'name': 'Research_BansheeHyperflightRotors_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 136} , + {'func_id': 429, 'general_ability_id': 1532, 'goal': 'research', 'name': 'Research_BattlecruiserWeaponRefit_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 76} , + {'func_id': 84, 'general_ability_id': 1593, 'goal': 'research', 'name': 'Research_Blink_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 87} , + {'func_id': 430, 'general_ability_id': 1225, 'goal': 'research', 'name': 'Research_Burrow_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 64} , + {'func_id': 431, 'general_ability_id': 1482, 'goal': 'research', 'name': 'Research_CentrifugalHooks_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 75} , + {'func_id': 83, 'general_ability_id': 1592, 'goal': 'research', 'name': 'Research_Charge_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 86} , + {'func_id': 432, 'general_ability_id': 265, 'goal': 'research', 'name': 'Research_ChitinousPlating_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 4} , + {'func_id': 433, 'general_ability_id': 731, 'goal': 'research', 'name': 'Research_CombatShield_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 16} , + {'func_id': 434, 'general_ability_id': 732, 'goal': 'research', 'name': 'Research_ConcussiveShells_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 17} , + {'func_id': 554, 'general_ability_id': 769, 'goal': 'research', 'name': 'Research_CycloneLockOnDamage_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 144} , + {'func_id': 435, 'general_ability_id': 768, 'goal': 'research', 'name': 'Research_CycloneRapidFireLaunchers_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 291} , + {'func_id': 436, 'general_ability_id': 764, 'goal': 'research', 'name': 'Research_DrillingClaws_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 122} , + {'func_id': 563, 'general_ability_id': 822, 'goal': 'research', 'name': 'Research_EnhancedShockwaves_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 296} , + {'func_id': 69, 'general_ability_id': 1097, 'goal': 'research', 'name': 'Research_ExtendedThermalLance_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 50} , + {'func_id': 437, 'general_ability_id': 216, 'goal': 'research', 'name': 'Research_GlialRegeneration_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 2} , + {'func_id': 67, 'general_ability_id': 1093, 'goal': 'research', 'name': 'Research_GraviticBooster_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 48} , + {'func_id': 68, 'general_ability_id': 1094, 'goal': 'research', 'name': 'Research_GraviticDrive_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 49} , + {'func_id': 438, 'general_ability_id': 1282, 'goal': 'research', 'name': 'Research_GroovedSpines_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 134} , + {'func_id': 440, 'general_ability_id': 804, 'goal': 'research', 'name': 'Research_HighCapacityFuelTanks_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 139} , + {'func_id': 439, 'general_ability_id': 650, 'goal': 'research', 'name': 'Research_HiSecAutoTracking_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 5} , + {'func_id': 441, 'general_ability_id': 761, 'goal': 'research', 'name': 'Research_InfernalPreigniter_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 19} , + {'func_id': 18, 'general_ability_id': 44, 'goal': 'research', 'name': 'Research_InterceptorGravitonCatapult_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 1} , + {'func_id': 442, 'general_ability_id': 1283, 'goal': 'research', 'name': 'Research_MuscularAugments_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 135} , + {'func_id': 443, 'general_ability_id': 655, 'goal': 'research', 'name': 'Research_NeosteelFrame_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , + {'func_id': 444, 'general_ability_id': 1455, 'goal': 'research', 'name': 'Research_NeuralParasite_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 101} , + {'func_id': 445, 'general_ability_id': 1454, 'goal': 'research', 'name': 'Research_PathogenGlands_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 74} , + {'func_id': 446, 'general_ability_id': 820, 'goal': 'research', 'name': 'Research_PersonalCloaking_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 25} , + {'func_id': 19, 'general_ability_id': 46, 'goal': 'research', 'name': 'Research_PhoenixAnionPulseCrystals_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 99} , + {'func_id': 447, 'general_ability_id': 1223, 'goal': 'research', 'name': 'Research_PneumatizedCarapace_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 62} , + {'func_id': 116, 'general_ability_id': 3692, 'goal': 'research', 'name': 'Research_ProtossAirArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 81} , + {'func_id': 117, 'general_ability_id': 3693, 'goal': 'research', 'name': 'Research_ProtossAirWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 78} , + {'func_id': 118, 'general_ability_id': 3694, 'goal': 'research', 'name': 'Research_ProtossGroundArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 42} , + {'func_id': 119, 'general_ability_id': 3695, 'goal': 'research', 'name': 'Research_ProtossGroundWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 39} , + {'func_id': 120, 'general_ability_id': 3696, 'goal': 'research', 'name': 'Research_ProtossShields_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 45} , + {'func_id': 70, 'general_ability_id': 1126, 'goal': 'research', 'name': 'Research_PsiStorm_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 52} , + {'func_id': 448, 'general_ability_id': 793, 'goal': 'research', 'name': 'Research_RavenCorvidReactor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 22} , + {'func_id': 449, 'general_ability_id': 803, 'goal': 'research', 'name': 'Research_RavenRecalibratedExplosives_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 97, 'general_ability_id': 2720, 'goal': 'research', 'name': 'Research_ShadowStrike_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 141} , + {'func_id': 450, 'general_ability_id': 766, 'goal': 'research', 'name': 'Research_SmartServos_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 289} , + {'func_id': 451, 'general_ability_id': 730, 'goal': 'research', 'name': 'Research_Stimpack_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 15} , + {'func_id': 452, 'general_ability_id': 3697, 'goal': 'research', 'name': 'Research_TerranInfantryArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 11} , + {'func_id': 456, 'general_ability_id': 3698, 'goal': 'research', 'name': 'Research_TerranInfantryWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 7} , + {'func_id': 460, 'general_ability_id': 3699, 'goal': 'research', 'name': 'Research_TerranShipWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 36} , + {'func_id': 464, 'general_ability_id': 651, 'goal': 'research', 'name': 'Research_TerranStructureArmorUpgrade_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 6} , + {'func_id': 465, 'general_ability_id': 3700, 'goal': 'research', 'name': 'Research_TerranVehicleAndShipPlating_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 116} , + {'func_id': 469, 'general_ability_id': 3701, 'goal': 'research', 'name': 'Research_TerranVehicleWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 30} , + {'func_id': 473, 'general_ability_id': 217, 'goal': 'research', 'name': 'Research_TunnelingClaws_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 3} , + {'func_id': 82, 'general_ability_id': 1568, 'goal': 'research', 'name': 'Research_WarpGate_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 84} , + {'func_id': 474, 'general_ability_id': 3702, 'goal': 'research', 'name': 'Research_ZergFlyerArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 71} , + {'func_id': 478, 'general_ability_id': 3703, 'goal': 'research', 'name': 'Research_ZergFlyerAttack_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 68} , + {'func_id': 482, 'general_ability_id': 3704, 'goal': 'research', 'name': 'Research_ZergGroundArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 56} , + {'func_id': 494, 'general_ability_id': 1252, 'goal': 'research', 'name': 'Research_ZerglingAdrenalGlands_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 65} , + {'func_id': 495, 'general_ability_id': 1253, 'goal': 'research', 'name': 'Research_ZerglingMetabolicBoost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 66} , + {'func_id': 486, 'general_ability_id': 3705, 'goal': 'research', 'name': 'Research_ZergMeleeWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 53} , + {'func_id': 490, 'general_ability_id': 3706, 'goal': 'research', 'name': 'Research_ZergMissileWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 59} , + {'func_id': 1, 'general_ability_id': 1, 'goal': 'other', 'name': 'Smart_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 12, 'general_ability_id': 1, 'goal': 'other', 'name': 'Smart_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 101, 'general_ability_id': 3665, 'goal': 'other', 'name': 'Stop_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 54, 'general_ability_id': 922, 'goal': 'unit', 'name': 'Train_Adept_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 311} , + {'func_id': 498, 'general_ability_id': 80, 'goal': 'unit', 'name': 'Train_Baneling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 9} , + {'func_id': 499, 'general_ability_id': 621, 'goal': 'unit', 'name': 'Train_Banshee_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 55} , + {'func_id': 500, 'general_ability_id': 623, 'goal': 'unit', 'name': 'Train_Battlecruiser_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 57} , + {'func_id': 56, 'general_ability_id': 948, 'goal': 'unit', 'name': 'Train_Carrier_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 79} , + {'func_id': 62, 'general_ability_id': 978, 'goal': 'unit', 'name': 'Train_Colossus_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 4} , + {'func_id': 501, 'general_ability_id': 1353, 'goal': 'unit', 'name': 'Train_Corruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 112} , + {'func_id': 502, 'general_ability_id': 597, 'goal': 'unit', 'name': 'Train_Cyclone_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 692} , + {'func_id': 52, 'general_ability_id': 920, 'goal': 'unit', 'name': 'Train_DarkTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 76} , + {'func_id': 166, 'general_ability_id': 994, 'goal': 'unit', 'name': 'Train_Disruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 694} , + {'func_id': 503, 'general_ability_id': 1342, 'goal': 'unit', 'name': 'Train_Drone_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 104} , + {'func_id': 504, 'general_ability_id': 562, 'goal': 'unit', 'name': 'Train_Ghost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 50} , + {'func_id': 505, 'general_ability_id': 596, 'goal': 'unit', 'name': 'Train_Hellbat_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 484} , + {'func_id': 506, 'general_ability_id': 595, 'goal': 'unit', 'name': 'Train_Hellion_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 53} , + {'func_id': 51, 'general_ability_id': 919, 'goal': 'unit', 'name': 'Train_HighTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 75} , + {'func_id': 507, 'general_ability_id': 1345, 'goal': 'unit', 'name': 'Train_Hydralisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 107} , + {'func_id': 63, 'general_ability_id': 979, 'goal': 'unit', 'name': 'Train_Immortal_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 83} , + {'func_id': 508, 'general_ability_id': 1352, 'goal': 'unit', 'name': 'Train_Infestor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 111} , + {'func_id': 509, 'general_ability_id': 626, 'goal': 'unit', 'name': 'Train_Liberator_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 689} , + {'func_id': 510, 'general_ability_id': 563, 'goal': 'unit', 'name': 'Train_Marauder_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 51} , + {'func_id': 511, 'general_ability_id': 560, 'goal': 'unit', 'name': 'Train_Marine_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 48} , + {'func_id': 512, 'general_ability_id': 620, 'goal': 'unit', 'name': 'Train_Medivac_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 54} , + {'func_id': 513, 'general_ability_id': 1853, 'goal': 'unit', 'name': 'Train_MothershipCore_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 488} , + {'func_id': 21, 'general_ability_id': 110, 'goal': 'unit', 'name': 'Train_Mothership_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , + {'func_id': 514, 'general_ability_id': 1346, 'goal': 'unit', 'name': 'Train_Mutalisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 108} , + {'func_id': 61, 'general_ability_id': 977, 'goal': 'unit', 'name': 'Train_Observer_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 82} , + {'func_id': 58, 'general_ability_id': 954, 'goal': 'unit', 'name': 'Train_Oracle_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 495} , + {'func_id': 515, 'general_ability_id': 1344, 'goal': 'unit', 'name': 'Train_Overlord_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 106} , + {'func_id': 55, 'general_ability_id': 946, 'goal': 'unit', 'name': 'Train_Phoenix_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 78} , + {'func_id': 64, 'general_ability_id': 1006, 'goal': 'unit', 'name': 'Train_Probe_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 84} , + {'func_id': 516, 'general_ability_id': 1632, 'goal': 'unit', 'name': 'Train_Queen_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 126} , + {'func_id': 517, 'general_ability_id': 622, 'goal': 'unit', 'name': 'Train_Raven_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 56} , + {'func_id': 518, 'general_ability_id': 561, 'goal': 'unit', 'name': 'Train_Reaper_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 49} , + {'func_id': 519, 'general_ability_id': 1351, 'goal': 'unit', 'name': 'Train_Roach_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 110} , + {'func_id': 520, 'general_ability_id': 524, 'goal': 'unit', 'name': 'Train_SCV_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 45} , + {'func_id': 53, 'general_ability_id': 921, 'goal': 'unit', 'name': 'Train_Sentry_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 77} , + {'func_id': 521, 'general_ability_id': 591, 'goal': 'unit', 'name': 'Train_SiegeTank_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 33} , + {'func_id': 50, 'general_ability_id': 917, 'goal': 'unit', 'name': 'Train_Stalker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 74} , + {'func_id': 522, 'general_ability_id': 1356, 'goal': 'unit', 'name': 'Train_SwarmHost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 494} , + {'func_id': 59, 'general_ability_id': 955, 'goal': 'unit', 'name': 'Train_Tempest_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 496} , + {'func_id': 523, 'general_ability_id': 594, 'goal': 'unit', 'name': 'Train_Thor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 52} , + {'func_id': 524, 'general_ability_id': 1348, 'goal': 'unit', 'name': 'Train_Ultralisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 109} , + {'func_id': 525, 'general_ability_id': 624, 'goal': 'unit', 'name': 'Train_VikingFighter_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 35} , + {'func_id': 526, 'general_ability_id': 1354, 'goal': 'unit', 'name': 'Train_Viper_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 499} , + {'func_id': 57, 'general_ability_id': 950, 'goal': 'unit', 'name': 'Train_VoidRay_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 80} , + {'func_id': 76, 'general_ability_id': 1419, 'goal': 'unit', 'name': 'TrainWarp_Adept_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 311} , + {'func_id': 74, 'general_ability_id': 1417, 'goal': 'unit', 'name': 'TrainWarp_DarkTemplar_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 76} , + {'func_id': 73, 'general_ability_id': 1416, 'goal': 'unit', 'name': 'TrainWarp_HighTemplar_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 75} , + {'func_id': 60, 'general_ability_id': 976, 'goal': 'unit', 'name': 'Train_WarpPrism_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 81} , + {'func_id': 75, 'general_ability_id': 1418, 'goal': 'unit', 'name': 'TrainWarp_Sentry_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 77} , + {'func_id': 72, 'general_ability_id': 1414, 'goal': 'unit', 'name': 'TrainWarp_Stalker_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 74} , + {'func_id': 71, 'general_ability_id': 1413, 'goal': 'unit', 'name': 'TrainWarp_Zealot_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 73} , + {'func_id': 527, 'general_ability_id': 614, 'goal': 'unit', 'name': 'Train_WidowMine_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 498} , + {'func_id': 49, 'general_ability_id': 916, 'goal': 'unit', 'name': 'Train_Zealot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 73} , + {'func_id': 528, 'general_ability_id': 1343, 'goal': 'unit', 'name': 'Train_Zergling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 105} , + {'func_id': 105, 'general_ability_id': 3669, 'goal': 'other', 'name': 'UnloadAllAt_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , + {'func_id': 164, 'general_ability_id': 3669, 'goal': 'other', 'name': 'UnloadAllAt_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , + {'func_id': 100, 'general_ability_id': 3664, 'goal': 'other', 'name': 'UnloadAll_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , + {'func_id': 556, 'general_ability_id': 3796, 'goal': 'other', 'name': 'UnloadUnit_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , +] + + +NUM_UNIT_MIX_ABILITIES = len(UNIT_MIX_ABILITIES) #269 + +UNIT_ABILITY_REORDER = torch.full((max(UNIT_MIX_ABILITIES) + 1, ), fill_value=-1, dtype=torch.long) +for idx in range(len(UNIT_SPECIFIC_ABILITIES)): + if UNIT_GENERAL_ABILITIES[idx] == 0: + UNIT_ABILITY_REORDER[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_MIX_ABILITIES.index(UNIT_SPECIFIC_ABILITIES[idx]) + else: + UNIT_ABILITY_REORDER[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_MIX_ABILITIES.index(UNIT_GENERAL_ABILITIES[idx]) +UNIT_ABILITY_REORDER[0] = 0 # use 0 as no op + +FUNC_ID_TO_ACTION_TYPE_DICT = {a['func_id']: idx for idx, a in enumerate(ACTIONS)} +ABILITY_TO_GABILITY = {} +for idx in range(len(UNIT_SPECIFIC_ABILITIES)): + if UNIT_GENERAL_ABILITIES[idx] == 0: + ABILITY_TO_GABILITY[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_SPECIFIC_ABILITIES[idx] + else: + ABILITY_TO_GABILITY[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_GENERAL_ABILITIES[idx] + +GABILITY_TO_QUEUE_ACTION = {} +QUEUE_ACTIONS = [] +count = 1 # use 0 as no op +for idx, f in enumerate(ACTIONS): + if 'Train_' in f['name'] or 'Research' in f['name']: + GABILITY_TO_QUEUE_ACTION[f['general_ability_id']] = count + QUEUE_ACTIONS.append(idx) + count += 1 + else: + GABILITY_TO_QUEUE_ACTION[f['general_ability_id']] = 0 + +ABILITY_TO_QUEUE_ACTION = torch.full((max(ABILITY_TO_GABILITY.keys()) + 1, ), fill_value=-1, dtype=torch.long) +ABILITY_TO_QUEUE_ACTION[0] = 0 # use 0 as no op +for a_id, g_id in ABILITY_TO_GABILITY.items(): + if g_id in GABILITY_TO_QUEUE_ACTION.keys(): + ABILITY_TO_QUEUE_ACTION[a_id] = GABILITY_TO_QUEUE_ACTION[g_id] + else: + ABILITY_TO_QUEUE_ACTION[a_id] = 0 + +EXCLUDE_ACTIONS = [ + 'Build_Pylon_pt', 'Train_Overlord_quick', 'Build_SupplyDepot_pt', # supply action + 'Train_Drone_quick', 'Train_SCV_quick', 'Train_Probe_quick', # worker action + 'Build_CreepTumor_pt', '' +] + +BO_EXCLUDE_ACTIONS = [ +] + +CUM_EXCLUDE_ACTIONS = [ + 'Build_SpineCrawler_pt', 'Build_SporeCrawler_pt', 'Build_PhotonCannon_pt', 'Build_ShieldBattery_pt', + 'Build_Bunker_pt', 'Morph_Overseer_quick', 'Build_MissileTurret_pt' +] + +BEGINNING_ORDER_ACTIONS = [0] +CUMULATIVE_STAT_ACTIONS = [0] +for idx, f in enumerate(ACTIONS): + if f['goal'] in ['unit', 'build', 'research'] and f['name'] not in EXCLUDE_ACTIONS and f['name'] not in CUM_EXCLUDE_ACTIONS: + CUMULATIVE_STAT_ACTIONS.append(idx) + if f['goal'] in ['unit', 'build', 'research'] and f['name'] not in EXCLUDE_ACTIONS: + BEGINNING_ORDER_ACTIONS.append(idx) + +NUM_ACTIONS = len(ACTIONS) +NUM_QUEUE_ACTIONS = len(QUEUE_ACTIONS) +NUM_BEGINNING_ORDER_ACTIONS = len(BEGINNING_ORDER_ACTIONS) +NUM_CUMULATIVE_STAT_ACTIONS = len(CUMULATIVE_STAT_ACTIONS) + +SELECTED_UNITS_MASK = torch.zeros(len(ACTIONS), dtype=torch.bool) +for idx, a in enumerate(ACTIONS): + if a['selected_units']: + SELECTED_UNITS_MASK[idx] = 1 + +UNIT_BUILD_ACTIONS = [a['func_id'] for a in ACTIONS if a['goal'] == 'build'] +UNIT_TRAIN_ACTIONS = [a['func_id'] for a in ACTIONS if a['goal'] == 'unit'] + +GENERAL_ABILITY_IDS = [] +for idx, a in enumerate(ACTIONS): + GENERAL_ABILITY_IDS.append(a['general_ability_id']) +UNIT_ABILITY_TO_ACTION = {} +for idx, a in enumerate(UNIT_MIX_ABILITIES): + if a in GENERAL_ABILITY_IDS: + UNIT_ABILITY_TO_ACTION[idx] = GENERAL_ABILITY_IDS.index(a) + +UNIT_TO_CUM = defaultdict(lambda: -1) +UPGRADE_TO_CUM = defaultdict(lambda: -1) +for idx, a in enumerate(ACTIONS): + if 'game_id' in a and a['goal'] in ['unit', 'build'] and idx in CUMULATIVE_STAT_ACTIONS: + UNIT_TO_CUM[a['game_id']] = CUMULATIVE_STAT_ACTIONS.index(idx) + elif 'game_id' in a and a['goal'] in ['research'] and idx in CUMULATIVE_STAT_ACTIONS: + UPGRADE_TO_CUM[a['game_id']] = CUMULATIVE_STAT_ACTIONS.index(idx) diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml index 5cdef334e5..08859163b3 100644 --- a/dizoo/distar/model/actor_critic_default_config.yaml +++ b/dizoo/distar/model/actor_critic_default_config.yaml @@ -21,6 +21,7 @@ model: freeze_targets: [] state_dict_mask: [] use_value_network: False + only_update_baseline: False enable_baselines: ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] entity_reduce_type: 'selected_units_num' # ['constant', 'entity_num', 'selected_units_num'] # ===== Value ===== @@ -403,6 +404,7 @@ model: norm_type: 'LN' ln_type: 'normal' use_mask: False + race: 'zerg' delay_head: input_dim: 1024 # action_type_head.gate_dim decode_dim: 256 @@ -428,6 +430,7 @@ model: num_layers: 1 max_entity_num: 64 activation: 'relu' + extra_units: True # select extra units if selected units exceed max_entity_num=64 target_unit_head: input_dim: 1024 # action_type_head.gate_dim entity_embedding_dim: 256 # entity_encoder.output_dim @@ -443,11 +446,7 @@ model: upsample_dims: [64, 32, 1] # len(upsample_dims)-len(down_channels)+1 = ratio res_dim: 128 res_num: 4 - film: False gate: True - unet: False - reshape_size: [16, 16] reshape_channel: 4 # entity_encoder.gate_dim / reshape_size map_skip_dim: 128 # spatial_encoder.down_channels[-1] activation: 'relu' - # loc_type: 'alphastar' diff --git a/dizoo/distar/model/head/action_arg_head.py b/dizoo/distar/model/head/action_arg_head.py index 34d36b086e..35f3d3b1f4 100644 --- a/dizoo/distar/model/head/action_arg_head.py +++ b/dizoo/distar/model/head/action_arg_head.py @@ -17,9 +17,8 @@ import torch.nn as nn import torch.nn.functional as F from ding.torch_utils import fc_block, conv2d_block, deconv2d_block, build_activation, ResBlock, NearestUpsample, \ - BilinearUpsample, sequence_mask, GatedResBlock, FiLMedResBlock, AttentionPool + BilinearUpsample, sequence_mask, GatedConvResBlock, AttentionPool, script_lstm from dizoo.distar.envs import MAX_ENTITY_NUM, MAX_SELECTED_UNITS_NUM -from ..lstm import script_lnlstm, script_lstm class DelayHead(nn.Module): @@ -104,9 +103,8 @@ def __init__(self, cfg): self.key_dim = self.cfg.key_dim self.num_layers = self.cfg.num_layers - self.test_iou = self.cfg.get('test_iou', False) - self.lstm = script_lnlstm(self.cfg.key_dim, self.cfg.hidden_dim, self.cfg.num_layers) + self.lstm = script_lstm(self.cfg.key_dim, self.cfg.hidden_dim, self.cfg.num_layers, LN=True) self.end_embedding = torch.nn.Parameter(torch.FloatTensor(1, self.key_dim)) stdv = 1. / math.sqrt(self.end_embedding.size(1)) self.end_embedding.data.uniform_(-stdv, stdv) @@ -116,7 +114,7 @@ def __init__(self, cfg): self.attention_pool = AttentionPool( key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim, max_num=MAX_SELECTED_UNITS_NUM + 1 ) - self.extra_units = self.whole_cfg.get('agent', {}).get('extra_units', False) + self.extra_units = self.cfg.extra_units # select extra units if selected units exceed max_entity_num=64 def _get_key_mask(self, entity_embedding, entity_num): bs = entity_embedding.shape[0] @@ -175,19 +173,11 @@ def _query( result: Optional[Tensor] = None results: Optional[Tensor] = None - extra_units = torch.zeros(bs, MAX_ENTITY_NUM + 1, device=ae.device) if selected_units is not None and selected_units_num is not None: # train bs = selected_units.shape[0] seq_len = selected_units_num.max() queries = [] selected_mask = sequence_mask(selected_units_num) # b, s - if self.test_iou: - iou_ae = ae.detach().clone() - iou_logits_mask = logits_mask.detach().clone() - iou_state = [ - (torch.zeros(ae.shape[0], 32, device=ae.device), torch.zeros(ae.shape[0], 32, device=ae.device)) - for _ in range(self.num_layers) - ] logits_mask = logits_mask.repeat(max(seq_len, 1), 1, 1) # b, n -> s, b, n logits_mask[0, torch.arange(bs), entity_num] = 0 # end flag is not available at first selection selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) @@ -233,54 +223,8 @@ def _query( logits = query_result.sum(dim=3) # s, b, n logits = logits.masked_fill(~logits_mask, -1e9) logits = logits.permute(1, 0, 2).contiguous() - if self.test_iou: - with torch.no_grad(): - selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) - selected_units_num = torch.ones(bs, dtype=torch.long, device=ae.device) * seq_len - key = key.squeeze(dim=0) - for i in range(seq_len): - if i > 0: - if i == 1: # end flag can be selected at second selection - iou_logits_mask[torch.arange(bs), - entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) - if result is not None: - iou_logits_mask[torch.arange(bs), result.detach()] = torch.tensor( - [0], dtype=torch.bool, device=ae.device - ) # mask selected units - lstm_input = self.query_fc2(self.query_fc1(iou_ae)).unsqueeze(0) - lstm_output, iou_state = self.lstm(lstm_input, iou_state) - queries = lstm_output.permute(1, 0, 2) # b, 1, c - query_result = queries * key - step_logits = query_result.sum(dim=2) # b, n - step_logits = step_logits.masked_fill(~iou_logits_mask, -1e9) - step_logits = step_logits.div(1) - result = self._get_pred_with_logit(step_logits) - selected_units_num[(result == entity_num) * ~(end_flag)] = torch.tensor(i + 1).to(result.device) - end_flag[result == entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) - results_list.append(result) - reduce_type = self.whole_cfg.model.entity_reduce_type - if reduce_type == 'selected_units_num' or 'attention' in reduce_type: - selected_units_one_hot[torch.arange(bs)[~end_flag], result[~end_flag], :] = 1 - if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': - selected_units_emebedding = (key_embeddings * selected_units_one_hot - ).sum(dim=1) / selected_units_one_hot.sum(dim=1) - selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) - iou_ae = autoregressive_embedding + selected_units_emebedding - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': - iou_ae = autoregressive_embedding + self.attention_pool( - key_embeddings, mask=selected_units_one_hot - ) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': - iou_ae = autoregressive_embedding + self.attention_pool( - key_embeddings, - num=selected_units_one_hot.sum(dim=1).squeeze(dim=1), - mask=selected_units_one_hot, - ) - else: - iou_ae = iou_ae + key_embeddings[torch.arange(bs), result] * ~end_flag.unsqueeze(dim=1) - results = torch.stack(results_list, dim=0) - results = results.transpose(1, 0).contiguous() - + results = selected_units + extra_units = None else: selected_units_num = torch.ones(bs, dtype=torch.long, device=ae.device) * self.max_select_num end_flag[~su_mask] = 1 @@ -391,7 +335,6 @@ def __init__(self, cfg): self.whole_cfg = cfg self.cfg = self.whole_cfg.model.policy.head.location_head self.act = build_activation(self.cfg.activation) - self.reshape_size = self.cfg.reshape_size self.reshape_channel = self.cfg.reshape_channel self.conv1 = conv2d_block( @@ -406,25 +349,18 @@ def __init__(self, cfg): self.res = nn.ModuleList() self.res_act = nn.ModuleList() self.res_dim = self.cfg.res_dim - self.use_film = self.cfg.get('film', False) - self.use_gate = self.cfg.get('gate', False) - self.use_unet = self.cfg.get('unet', False) + self.use_gate = self.cfg.gate self.project_embed = fc_block( self.cfg.input_dim, self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8 * 4, activation=build_activation(self.cfg.activation) ) - if self.use_film: - self.film_fc = fc_block(self.cfg.input_dim, self.res_dim, activation=build_activation(self.cfg.activation)) - self.film_gamma = nn.ModuleList() - self.film_beta = nn.ModuleList() - self.film = nn.ModuleList() self.res = nn.ModuleList() for i in range(self.cfg.res_num): if self.use_gate: self.res.append( - GatedResBlock( + GatedConvResBlock( self.res_dim, self.res_dim, 3, @@ -436,12 +372,6 @@ def __init__(self, cfg): ) else: self.res.append(ResBlock(self.dim, build_activation(self.cfg.activation), norm_type=None)) - if self.use_film: - self.film_gamma.append(nn.Linear(self.res_dim, self.res_dim)) - self.film_beta.append(nn.Linear(self.res_dim, self.res_dim)) - self.film.append(FiLMedResBlock(self.res_dim, with_cond=[True])) - torch.nn.init.xavier_uniform_(self.film_gamma[i].weight) - torch.nn.init.xavier_uniform_(self.film_beta[i].weight) self.upsample = nn.ModuleList() # upsample list dims = [self.res_dim] + self.cfg.upsample_dims @@ -468,8 +398,6 @@ def forward(self, embedding, map_skip: List[Tensor], location=None): x1 = self.act(cat_feature) x = self.conv1(x1) - if self.use_film: - film_embedding = self.film_fc(embedding) # reverse cat_feature instead of reversing resblock for i in range(self.cfg.res_num): @@ -478,15 +406,11 @@ def forward(self, embedding, map_skip: List[Tensor], location=None): x = self.res[i](x, x) else: x = self.res[i](x) - if self.use_film: - x = self.film[i](x, gammas=self.film_gamma[i](film_embedding), betas=self.film_beta[i](film_embedding)) for i, layer in enumerate(self.upsample): if self.cfg.upsample_type == 'nearest': x = F.interpolate(x, scale_factor=2., mode='nearest') elif self.cfg.upsample_type == 'bilinear': x = F.interpolate(x, scale_factor=2., mode='bilinear') - if self.use_unet: - x = x + map_skip[len(map_skip) - self.cfg.res_num - i - 1] x = layer(x) logits_flatten = x.view(x.shape[0], -1) diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py index 98eaa250e1..104c4e0ad8 100644 --- a/dizoo/distar/model/head/action_type_head.py +++ b/dizoo/distar/model/head/action_type_head.py @@ -22,12 +22,8 @@ def __init__(self, cfg): self.cfg = self.whole_cfg.model.policy.head.action_type_head self.act = build_activation(self.cfg.activation) # use relu as default self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim, activation=self.act, norm_type=None) - # self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim) blocks = [ResFCBlock(self.cfg.res_dim, self.act, self.cfg.norm_type) for _ in range(self.cfg.res_num)] self.res = nn.Sequential(*blocks) - self.weight_norm = self.cfg.get('weight_norm', False) - self.drop_Z = torch.nn.Dropout(p=self.cfg.get('drop_ratio', 0.0)) - self.drop_ratio = self.cfg.get('drop_ratio', 0.0) self.action_fc = build_activation('glu')(self.cfg.res_dim, self.cfg.action_num, self.cfg.context_dim) self.action_map_fc1 = fc_block( @@ -39,11 +35,8 @@ def __init__(self, cfg): self.glu1 = build_activation('glu')(self.cfg.action_map_dim, self.cfg.gate_dim, self.cfg.context_dim) self.glu2 = build_activation('glu')(self.cfg.input_dim, self.cfg.gate_dim, self.cfg.context_dim) self.action_num = self.cfg.action_num - if self.whole_cfg.common.type == 'play': - self.use_mask = True - else: - self.use_mask = False - self.race = 'zerg' + self.use_mask = self.cfg.use_mask + self.race = self.cfg.race def forward(self, lstm_output, diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py index 74ef6a208b..f21a8d9863 100644 --- a/dizoo/distar/model/model.py +++ b/dizoo/distar/model/model.py @@ -7,11 +7,10 @@ import torch.nn as nn from ding.utils import read_yaml_config, deep_merge_dicts, default_collate -from ding.torch_utils import detach_grad +from ding.torch_utils import detach_grad, script_lstm from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM from .encoder import Encoder from .obs_encoder.value_encoder import ValueEncoder -from .lstm import script_lnlstm from .policy import Policy from .value import ValueBaseline @@ -28,7 +27,7 @@ def __init__(self, cfg={}, use_value_network=False, temperature=None): self.cfg = self.whole_cfg.model self.encoder = Encoder(self.whole_cfg) self.policy = Policy(self.whole_cfg) - self._use_value_feature = self.whole_cfg.learner.get('use_value_feature', False) + self._use_value_feature = self.whole_cfg.learner.use_value_feature if use_value_network: if self._use_value_feature: self.value_encoder = ValueEncoder(self.whole_cfg) @@ -38,10 +37,12 @@ def __init__(self, cfg={}, use_value_network=False, temperature=None): # creating a ValueBaseline network for each baseline, to be used in _critic_forward self.value_networks[v.name] = ValueBaseline(v.param, self._use_value_feature) # name of needed cumulative stat items - self.only_update_baseline = self.cfg.get('only_update_baseline', False) - self.core_lstm = script_lnlstm( - self.cfg.encoder.core_lstm.input_size, self.cfg.encoder.core_lstm.hidden_size, - self.cfg.encoder.core_lstm.num_layers + self.only_update_baseline = self.cfg.only_update_baseline + self.core_lstm = script_lstm( + self.cfg.encoder.core_lstm.input_size, + self.cfg.encoder.core_lstm.hidden_size, + self.cfg.encoder.core_lstm.num_layers, + LN=True ) def forward( diff --git a/dizoo/distar/model/module_utils.py b/dizoo/distar/model/module_utils.py deleted file mode 100644 index d28d311dfd..0000000000 --- a/dizoo/distar/model/module_utils.py +++ /dev/null @@ -1,570 +0,0 @@ -import torch -import torch.nn as nn -import torch.nn.functional as F -import math -from torch.nn.init import kaiming_normal_, kaiming_uniform_ -from distar.ctools.torch_utils import conv2d_block, sequence_mask, fc_block, build_normalization -from typing import Optional, Dict, Tuple -from torch import Tensor - - -def scatter_connection(shape, project_embeddings, entity_location, scatter_dim, scatter_type='add'): - B, H, W = shape - device = entity_location.device - entity_num = entity_location.shape[1] - index = entity_location.view(-1, 2).long() - bias = torch.arange(B).unsqueeze(1).repeat(1, entity_num).view(-1).to(device) - bias *= H * W - index[:, 0].clamp_(0, W - 1) - index[:, 1].clamp_(0, H - 1) - index = index[:, 1] * W + index[:, 0] # entity_location: (x, y), spatial_info: (y, x) - index += bias - index = index.repeat(scatter_dim, 1) - # flat scatter map and project embeddings - scatter_map = torch.zeros(scatter_dim, B * H * W, device=device) - project_embeddings = project_embeddings.view(-1, scatter_dim).permute(1, 0) - if scatter_type == 'cover': - scatter_map.scatter_(dim=1, index=index, src=project_embeddings) - elif scatter_type == 'add': - scatter_map.scatter_add_(dim=1, index=index, src=project_embeddings) - else: - raise NotImplementedError - scatter_map = scatter_map.reshape(scatter_dim, B, H, W) - scatter_map = scatter_map.permute(1, 0, 2, 3) - return scatter_map - - -class AttentionPool(nn.Module): - - def __init__(self, key_dim, head_num, output_dim, max_num=None): - super(AttentionPool, self).__init__() - self.queries = torch.nn.Parameter(torch.zeros(1, 1, head_num, key_dim)) - torch.nn.init.xavier_uniform_(self.queries) - self.head_num = head_num - self.add_num = False - if max_num is not None: - self.add_num = True - self.num_ebed = torch.nn.Embedding(num_embeddings=max_num, embedding_dim=output_dim) - self.embed_fc = fc_block(key_dim * self.head_num, output_dim) - - def forward(self, x, num=None, mask=None): - assert len(x.shape) == 3 # batch size, tokens, channels - x_with_head = x.unsqueeze(dim=2) # add head dim - score = x_with_head * self.queries - score = score.sum(dim=3) # b, t, h - if mask is not None: - assert len(mask.shape) == 3 and mask.shape[-1] == 1 - mask = mask.repeat(1, 1, self.head_num) - score.masked_fill_(~mask.bool(), value=-1e9) - score = F.softmax(score, dim=1) - x = x.unsqueeze(dim=3).repeat(1, 1, 1, self.head_num) # b, t, c, h - score = score.unsqueeze(dim=2) # b, t, 1, h - x = x * score - x = x.sum(dim=1) # b, c, h - x = x.view(x.shape[0], -1) # b, c * h - x = self.embed_fc(x) # b, c - if self.add_num: - x = x + F.relu(self.num_ebed(num.long())) - x = F.relu(x) - return x - - -class Attention(nn.Module): - - def __init__(self, input_dim, head_dim, output_dim, head_num, dropout): - super(Attention, self).__init__() - self.head_num = head_num - self.head_dim = head_dim - self.dropout = dropout - self.attention_pre = fc_block(input_dim, head_dim * head_num * 3) # query, key, value - self.project = fc_block(head_dim * head_num, output_dim) - - def split(self, x, T: bool = False): - B, N = x.shape[:2] - x = x.view(B, N, self.head_num, self.head_dim) - x = x.permute(0, 2, 1, 3).contiguous() # B, head_num, N, head_dim - if T: - x = x.permute(0, 1, 3, 2).contiguous() - return x - - def forward(self, x, mask: Optional[torch.Tensor] = None): - """ - Overview: - x: [batch_size, seq_len, embeddding_size] - """ - assert (len(x.shape) == 3) - B, N = x.shape[:2] - x = self.attention_pre(x) - query, key, value = torch.chunk(x, 3, dim=2) - query, key, value = self.split(query), self.split(key, T=True), self.split(value) - - score = torch.matmul(query, key) # B, head_num, N, N - score /= math.sqrt(self.head_dim) - if mask is not None: - score.masked_fill_(~mask, value=-1e9) - - score = F.softmax(score, dim=-1) - if self.dropout: - score = self.dropout(score) - attention = torch.matmul(score, value) # B, head_num, N, head_dim - - attention = attention.permute(0, 2, 1, 3).contiguous() # B, N, head_num, head_dim - attention = self.project(attention.view(B, N, -1)) # B, N, output_dim - return attention - - -class TransformerLayer(nn.Module): - - def __init__(self, input_dim, head_dim, hidden_dim, output_dim, head_num, mlp_num, dropout, activation, ln_type): - super(TransformerLayer, self).__init__() - self.attention = Attention(input_dim, head_dim, output_dim, head_num, dropout) - self.layernorm1 = build_normalization('LN')(output_dim) - self.dropout = dropout - layers = [] - dims = [output_dim] + [hidden_dim] * (mlp_num - 1) + [output_dim] - for i in range(mlp_num): - layers.append(fc_block(dims[i], dims[i + 1], activation=activation)) - if self.dropout: - layers.append(self.dropout) - self.mlp = nn.Sequential(*layers) - self.layernorm2 = build_normalization('LN')(output_dim) - self.ln_type = ln_type - - def forward(self, x, mask: Optional[torch.Tensor] = None): - if self.ln_type == 'post': - a = self.attention(x, mask) - if self.dropout: - a = self.dropout(a) - x = self.layernorm1(x + a) - m = self.mlp(x) - if self.dropout: - m = self.dropout(m) - x = self.layernorm2(x + m) - elif self.ln_type == 'pre': - a = self.attention(self.layernorm1(x), mask) - if self.dropout: - a = self.dropout(a) - x = x + a - m = self.mlp(self.layernorm2(x)) - if self.dropout: - m = self.dropout(m) - x = x + m - else: - raise NotImplementedError(self.ln_type) - return x, mask - - -class Transformer(nn.Module): - ''' - Note: - Input has passed through embedding - ''' - - def __init__( - self, - input_dim, - head_dim=128, - hidden_dim=1024, - output_dim=256, - head_num=2, - mlp_num=2, - layer_num=3, - pad_val=0, - dropout_ratio=0.0, - activation=nn.ReLU(), - ln_type='pre' - ): - super(Transformer, self).__init__() - self.embedding = fc_block(input_dim, output_dim, activation=activation) - self.pad_val = pad_val - self.act = activation - layers = [] - dims = [output_dim] + [output_dim] * layer_num - if dropout_ratio > 0: - self.dropout = nn.Dropout(dropout_ratio) - else: - self.dropout = None - for i in range(layer_num): - layers.append( - TransformerLayer( - dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act, ln_type - ) - ) - self.layers = nn.ModuleList(layers) - - def forward(self, x, mask: Optional[torch.Tensor] = None): - if mask is not None: - mask = mask.unsqueeze(dim=1).repeat(1, mask.shape[1], 1).unsqueeze(dim=1) - x = self.embedding(x) - if self.dropout: - x = self.dropout(x) - for m in self.layers: - x, mask = m(x, mask) - return x - - -class GatedResBlock(nn.Module): - ''' - Gated Residual Block with conv2d_block by songgl at 2020.10.23 - ''' - - def __init__(self, in_channels, out_channels, kernel_size, stride, padding, activation=nn.ReLU(), norm_type='BN'): - super(GatedResBlock, self).__init__() - assert (stride == 1) - assert (in_channels == out_channels) - self.act = activation - self.conv1 = conv2d_block(in_channels, out_channels, 3, 1, 1, activation=self.act, norm_type=norm_type) - self.conv2 = conv2d_block(out_channels, out_channels, 3, 1, 1, activation=None, norm_type=norm_type) - self.GateWeightG = nn.Sequential( - conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), - conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), - conv2d_block(out_channels, out_channels, 1, 1, 0, activation=self.act, norm_type=None), - conv2d_block(out_channels, out_channels, 1, 1, 0, activation=None, norm_type=None) - ) - self.UpdateSP = nn.Parameter(torch.zeros(1)) - nn.init.constant_(self.UpdateSP, 0.1) - - def forward(self, x, NoiseMap): - residual = x - x = self.conv1(x) - x = self.conv2(x) - x = torch.tanh(x * torch.sigmoid(self.GateWeightG(NoiseMap))) * self.UpdateSP - x = self.act(x + residual) - #x = x + residual - return x - - -class FiLM(nn.Module): - """ - A Feature-wise Linear Modulation Layer from - 'FiLM: Visual Reasoning with a General Conditioning Layer' - """ - - def forward(self, x, gammas, betas): - gammas = gammas.unsqueeze(2).unsqueeze(3).expand_as(x) - betas = betas.unsqueeze(2).unsqueeze(3).expand_as(x) - return (gammas * x) + betas - - -class FiLMedResBlock(nn.Module): - - def __init__( - self, - in_dim, - out_dim=None, - with_residual=True, - with_batchnorm=False, - with_cond=[False], - dropout=0, - num_extra_channels=0, - extra_channel_freq=1, - with_input_proj=3, - num_cond_maps=0, - kernel_size=3, - batchnorm_affine=False, - num_layers=1, - condition_method='conv-film', - debug_every=float('inf') - ): - if out_dim is None: - out_dim = in_dim - super(FiLMedResBlock, self).__init__() - self.with_residual = with_residual - self.with_batchnorm = with_batchnorm - self.with_cond = with_cond - self.dropout = dropout - self.extra_channel_freq = 0 if num_extra_channels == 0 else extra_channel_freq - self.with_input_proj = with_input_proj # Kernel size of input projection - self.num_cond_maps = num_cond_maps - self.kernel_size = kernel_size - self.batchnorm_affine = batchnorm_affine - self.num_layers = num_layers - self.condition_method = condition_method - self.debug_every = debug_every - self.film = None - self.bn1 = None - self.drop = None - - if self.with_input_proj % 2 == 0: - raise (NotImplementedError) - if self.kernel_size % 2 == 0: - raise (NotImplementedError) - if self.num_layers >= 2: - raise (NotImplementedError) - - if self.condition_method == 'block-input-film' and self.with_cond[0]: - self.film = FiLM() - if self.with_input_proj: - self.input_proj = nn.Conv2d( - in_dim + (num_extra_channels if self.extra_channel_freq >= 1 else 0), - in_dim, - kernel_size=self.with_input_proj, - padding=self.with_input_proj // 2 - ) - - self.conv1 = nn.Conv2d( - in_dim + self.num_cond_maps + (num_extra_channels if self.extra_channel_freq >= 2 else 0), - out_dim, - kernel_size=self.kernel_size, - padding=self.kernel_size // 2 - ) - if self.condition_method == 'conv-film' and self.with_cond[0]: - self.film = FiLM() - if self.with_batchnorm: - self.bn1 = nn.BatchNorm2d(out_dim, affine=((not self.with_cond[0]) or self.batchnorm_affine)) - if self.condition_method == 'bn-film' and self.with_cond[0]: - self.film = FiLM() - if dropout > 0: - self.drop = nn.Dropout2d(p=self.dropout) - if ((self.condition_method == 'relu-film' or self.condition_method == 'block-output-film') - and self.with_cond[0]): - self.film = FiLM() - - self.init_modules(self.modules()) - - def init_modules(self, modules, init='normal'): - if init.lower() == 'normal': - init_params = kaiming_normal_ - elif init.lower() == 'uniform': - init_params = kaiming_uniform_ - else: - return - for m in modules: - if isinstance(m, (nn.Conv2d, nn.Linear)): - init_params(m.weight) - - def forward( - self, - x, - gammas: Optional[torch.Tensor] = None, - betas: Optional[torch.Tensor] = None, - extra_channels: Optional[torch.Tensor] = None, - cond_maps: Optional[torch.Tensor] = None - ): - - if self.film is not None: - if self.condition_method == 'block-input-film' and self.with_cond[0]: - x = self.film(x, gammas, betas) - - # ResBlock input projection - if self.with_input_proj: - if extra_channels is not None and self.extra_channel_freq >= 1: - x = torch.cat([x, extra_channels], 1) - x = F.relu(self.input_proj(x)) - out = x - - # ResBlock body - if cond_maps is not None: - out = torch.cat([out, cond_maps], 1) - if extra_channels is not None and self.extra_channel_freq >= 2: - out = torch.cat([out, extra_channels], 1) - out = self.conv1(out) - if self.film is not None: - if self.condition_method == 'conv-film' and self.with_cond[0]: - out = self.film(out, gammas, betas) - if self.bn1 is not None: - if self.with_batchnorm: - out = self.bn1(out) - if self.film is not None: - if self.condition_method == 'bn-film' and self.with_cond[0]: - out = self.film(out, gammas, betas) - if self.drop is not None: - if self.dropout > 0: - out = self.drop(out) - # out = F.relu(out) - if self.film is not None: - if self.condition_method == 'relu-film' and self.with_cond[0]: - out = self.film(out, gammas, betas) - - # ResBlock remainder - if self.with_residual: - out = F.relu(x + out) - if self.film is not None: - if self.condition_method == 'block-output-film' and self.with_cond[0]: - out = self.film(out, gammas, betas) - return out - - -class LSTMForwardWrapper(object): - - def _before_forward(self, inputs, prev_state): - assert hasattr(self, 'num_layers') - assert hasattr(self, 'hidden_size') - seq_len, batch_size = inputs.shape[:2] - if prev_state is None: - num_directions = 1 - zeros = torch.zeros( - num_directions * self.num_layers, - batch_size, - self.hidden_size, - dtype=inputs.dtype, - device=inputs.device - ) - prev_state = (zeros, zeros) - elif isinstance(prev_state, list) and len(prev_state) == 2 and isinstance(prev_state[0], torch.Tensor): - pass - elif isinstance(prev_state, list) and len(prev_state) == batch_size: - num_directions = 1 - zeros = torch.zeros( - num_directions * self.num_layers, 1, self.hidden_size, dtype=inputs.dtype, device=inputs.device - ) - state = [] - for prev in prev_state: - if prev is None: - state.append([zeros, zeros]) - else: - state.append(prev) - state = list(zip(*state)) - prev_state = [torch.cat(t, dim=1) for t in state] - return prev_state - - def _after_forward(self, next_state, list_next_state: bool = False): - if list_next_state: - h, c = [torch.stack(t, dim=0) for t in zip(*next_state)] - batch_size = h.shape[1] - next_state = [torch.chunk(h, batch_size, dim=1), torch.chunk(c, batch_size, dim=1)] - next_state = list(zip(*next_state)) - else: - next_state = [torch.stack(t, dim=0) for t in zip(*next_state)] - return next_state - - -class LSTM(nn.Module): - - def __init__(self, input_size, hidden_size, num_layers, norm_type=None, bias=True, dropout=0.): - super(LSTM, self).__init__() - self.input_size = input_size - self.hidden_size = hidden_size - self.num_layers = num_layers - - norm_func = build_normalization(norm_type) - #self.norm = nn.ModuleList([norm_func(hidden_size) for _ in range(4 * num_layers)]) - self.norm_A = nn.ModuleList([norm_func(hidden_size * 4) for _ in range(2 * num_layers)]) - self.norm_B = nn.ModuleList([norm_func(hidden_size) for _ in range(1 * num_layers)]) - self.wx = nn.ParameterList() - self.wh = nn.ParameterList() - dims = [input_size] + [hidden_size] * 3 - for l in range(num_layers): - self.wx.append(nn.Parameter(torch.zeros(dims[l], dims[l + 1] * 4))) - self.wh.append(nn.Parameter(torch.zeros(hidden_size, hidden_size * 4))) - if bias: - self.bias = nn.Parameter(torch.zeros(num_layers, hidden_size * 4)) - else: - self.bias = None - self.use_dropout = dropout > 0. - if self.use_dropout: - self.dropout = nn.Dropout(dropout) - self._init() - - def _init(self): - gain = math.sqrt(1. / self.hidden_size) - for l in range(self.num_layers): - torch.nn.init.uniform_(self.wx[l], -gain, gain) - torch.nn.init.uniform_(self.wh[l], -gain, gain) - if self.bias is not None: - torch.nn.init.uniform_(self.bias[l], -gain, gain) - - # for i in range(len(self.norm_A)): - # torch.nn.init.constant_(self.norm_A[i].weight, 0) - # torch.nn.init.constant_(self.norm_A[i].bias, 1) - # for i in range(len(self.norm_B)): - # torch.nn.init.constant_(self.norm_A[i].weight, 0) - # torch.nn.init.constant_(self.norm_A[i].bias, 1) - - def forward( - self, inputs, prev_state: Tuple[Tensor, Tensor], list_next_state: bool = False, forget_bias: float = 1.0 - ): - ''' - Input: - inputs: tensor of size [seq_len, batch_size, input_size] - prev_state: None or tensor of size [num_directions*num_layers, batch_size, hidden_size] - list_next_state: whether return next_state with list format - ''' - seq_len, batch_size = inputs.shape[:2] - - H, C = prev_state - x = inputs - next_state = [] - for l in range(self.num_layers): - h, c = H[l], C[l] - new_x = [] - for s in range(seq_len): - if self.use_dropout: - gate = self.norm_A[l * 2](torch.matmul(self.dropout(x[s]), self.wx[l]) - ) + self.norm_A[l * 2 + 1](torch.matmul(h, self.wh[l])) - else: - gate = self.norm_A[l * 2](torch.matmul(x[s], self.wx[l]) - ) + self.norm_A[l * 2 + 1](torch.matmul(h, self.wh[l])) - if self.bias is not None: - gate += self.bias[l] - gate = list(torch.chunk(gate, 4, dim=1)) - # for i in range(4): - # gate[i] = self.norm[l * 4 + i](gate[i]) - i, f, o, u = gate - i = torch.sigmoid(i) - f = torch.sigmoid(f + forget_bias) - o = torch.sigmoid(o) - u = torch.tanh(u) - c = f * c + i * u - cc = self.norm_B[l](c) - h = o * torch.tanh(cc) - # if self.use_dropout and l != self.num_layers - 1: # layer input dropout - # h = self.dropout(h) - new_x.append(h) - next_state.append((h, c)) - x = torch.stack(new_x, dim=0) - return x, next_state - - -class PytorchLSTM(nn.LSTM, LSTMForwardWrapper): - - def forward(self, inputs, prev_state, list_next_state: bool = False): - prev_state = self._before_forward(inputs, prev_state) - output, next_state = nn.LSTM.forward(self, inputs, prev_state) - next_state = self._after_forward(next_state, list_next_state) - return output, next_state - - def _after_forward(self, next_state, list_next_state: bool = False): - if list_next_state: - h, c = next_state - batch_size = h.shape[1] - next_state = [torch.chunk(h, batch_size, dim=1), torch.chunk(c, batch_size, dim=1)] - return list(zip(*next_state)) - else: - return next_state - - -def get_lstm(lstm_type, input_size, hidden_size, num_layers, norm_type, dropout=0.): - assert lstm_type in ['normal', 'pytorch'] - if lstm_type == 'normal': - return LSTM(input_size, hidden_size, num_layers, norm_type, dropout=dropout) - elif lstm_type == 'pytorch': - return PytorchLSTM(input_size, hidden_size, num_layers, dropout=dropout) - - -class GLU(nn.Module): - - def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): - super(GLU, self).__init__() - assert (input_type in ['fc', 'conv2d']) - if input_type == 'fc': - self.layer1 = fc_block(context_dim, input_dim) - self.layer2 = fc_block(input_dim, output_dim) - elif input_type == 'conv2d': - self.layer1 = conv2d_block(context_dim, input_dim, 1, 1, 0) - self.layer2 = conv2d_block(input_dim, output_dim, 1, 1, 0) - - def forward(self, x, context): - gate = self.layer1(context) - gate = torch.sigmoid(gate) - x = gate * x - x = self.layer2(x) - return x - - -def build_activation(activation): - act_func = {'relu': nn.ReLU(inplace=True), 'glu': GLU, 'prelu': nn.PReLU(init=0.0)} - if activation in act_func.keys(): - return act_func[activation] - else: - raise KeyError("invalid key for activation: {}".format(activation)) diff --git a/dizoo/distar/model/policy.py b/dizoo/distar/model/policy.py index 46587ed652..8c6d0de52a 100644 --- a/dizoo/distar/model/policy.py +++ b/dizoo/distar/model/policy.py @@ -60,7 +60,7 @@ def train_forward( lstm_output, scalar_context, action_info['action_type'] ) - #action arg delay + # action arg delay logit['delay'], action['delay'], embeddings = self.delay_head(embeddings, action_info['delay']) logit['queued'], action['queued'], embeddings = self.queued_head(embeddings, action_info['queued']) diff --git a/dizoo/distar/model/tests/test_head.py b/dizoo/distar/model/tests/test_head.py new file mode 100644 index 0000000000..aee499232e --- /dev/null +++ b/dizoo/distar/model/tests/test_head.py @@ -0,0 +1,119 @@ +import pytest +import torch +from easydict import EasyDict +from ding.utils import read_yaml_config +from dizoo.distar.model.head import ActionTypeHead, DelayHead, SelectedUnitsHead, TargetUnitHead, LocationHead, \ + QueuedHead +B, ENTITY = 4, 128 +total_config = EasyDict(read_yaml_config('../actor_critic_default_config.yaml')) + + +@pytest.mark.envtest +class TestHead(): + + def test_action_type_head(self): + cfg = total_config.model.policy.head.action_type_head + head = ActionTypeHead(total_config) + lstm_output = torch.randn(B, cfg.input_dim) + scalar_context = torch.randn(B, cfg.context_dim) + + logit, action_type, embedding = head(lstm_output, scalar_context) + assert logit.shape == (B, 327) + assert action_type.shape == (B, ) + assert embedding.shape == (B, cfg.gate_dim) + + logit, output_action_type, embedding = head(lstm_output, scalar_context, action_type) + assert logit.shape == (B, 327) + assert embedding.shape == (B, cfg.gate_dim) + assert output_action_type.eq(action_type).all() + + def test_delay_head(self): + cfg = total_config.model.policy.head.delay_head + head = DelayHead(total_config) + inputs = torch.randn(B, cfg.input_dim) + + logit, delay, embedding = head(inputs) + assert logit.shape == (B, cfg.delay_dim) + assert delay.shape == (B, ) + assert embedding.shape == (B, cfg.input_dim) + + logit, output_delay, embedding = head(inputs, delay) + assert logit.shape == (B, cfg.delay_dim) + assert embedding.shape == (B, cfg.input_dim) + assert output_delay.eq(delay).all() + + def test_queued_head(self): + cfg = total_config.model.policy.head.queued_head + head = QueuedHead(total_config) + inputs = torch.randn(B, cfg.input_dim) + + logit, queued, embedding = head(inputs) + assert logit.shape == (B, cfg.queued_dim) + assert queued.shape == (B, ) + assert embedding.shape == (B, cfg.input_dim) + + logit, output_queued, embedding = head(inputs, queued) + assert logit.shape == (B, cfg.queued_dim) + assert embedding.shape == (B, cfg.input_dim) + assert output_queued.eq(queued).all() + + def test_target_unit_head(self): + cfg = total_config.model.policy.head.target_unit_head + head = TargetUnitHead(total_config) + inputs = torch.randn(B, cfg.input_dim) + entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) + entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) + entity_num[-1] = ENTITY + + logit, target_unit = head(inputs, entity_embedding, entity_num) + assert logit.shape == (B, ENTITY) + assert target_unit.shape == (B, ) + + logit, output_target_unit = head(inputs, entity_embedding, entity_num, target_unit) + assert logit.shape == (B, ENTITY) + assert output_target_unit.eq(target_unit).all() + + def test_location_head(self): + cfg = total_config.model.policy.head.location_head + head = LocationHead(total_config) + inputs = torch.randn(B, cfg.input_dim) + Y, X = total_config.model.spatial_y, total_config.model.spatial_x + map_skip = [torch.randn(B, cfg.res_dim, Y // 8, X // 8) for _ in range(cfg.res_num)] + + logit, location = head(inputs, map_skip) + assert logit.shape == (B, Y * X) + assert location.shape == (B, ) + + logit, output_location = head(inputs, map_skip, location) + assert logit.shape == (B, Y * X) + assert output_location.eq(location).all() + + def test_selected_units_head(self): + cfg = total_config.model.policy.head.selected_units_head + head = SelectedUnitsHead(total_config) + inputs = torch.randn(B, cfg.input_dim) + entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) + entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) + entity_num[-1] = ENTITY + su_mask = torch.randint(0, 2, size=(B, )).bool() + su_mask[-1] = 1 + + logit, selected_units, embedding, selected_units_num, extra_units = head( + inputs, entity_embedding, entity_num, su_mask=su_mask + ) + N = selected_units_num.max() + assert embedding.shape == (B, cfg.input_dim) + assert logit.shape == (B, N, ENTITY + 1) + assert selected_units.shape == (B, N) + assert selected_units_num.shape == (B, ) + assert extra_units.shape == (B, ENTITY + 1) + + selected_units_num = selected_units_num.clamp(0, 64) + logit, output_selected_units, embedding, selected_units_num, extra_units = head( + inputs, entity_embedding, entity_num, selected_units_num, selected_units, su_mask + ) + N = selected_units_num.max() + assert embedding.shape == (B, cfg.input_dim) + assert logit.shape == (B, N, ENTITY + 1) + assert extra_units is None + assert output_selected_units.eq(selected_units).all() From fd71c467479b46603884a7d626f1fa2168cf1bc2 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Tue, 7 Jun 2022 17:37:44 +0800 Subject: [PATCH 081/229] add learner to test pipeline --- ding/framework/middleware/__init__.py | 1 + .../middleware/league_coordinator.py | 2 +- ding/framework/middleware/league_learner.py | 23 ++-- ding/framework/middleware/tests/__init__.py | 3 +- .../middleware/tests/league_config.py | 4 +- .../middleware/tests/mock_for_test.py | 48 ++++++++ .../middleware/tests/test_league_learner.py | 85 +++++++++++++++ .../middleware/tests/test_league_pipeline.py | 103 +++++++----------- 8 files changed, 190 insertions(+), 79 deletions(-) create mode 100644 ding/framework/middleware/tests/test_league_learner.py diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 8580fc2caf..62cdf16759 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,3 +4,4 @@ from .ckpt_handler import CkptSaver from .league_actor import LeagueActor from .league_coordinator import LeagueCoordinator +from .league_learner import LeagueLearner diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 8db9d9c4e5..27bef09e23 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -6,7 +6,7 @@ if TYPE_CHECKING: from ding.framework import Task, Context - from ding.league import BaseLeague + from ding.league.v2 import BaseLeague class LeagueCoordinator: diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 2e82fee82a..7cc805af99 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,32 +1,25 @@ +import os from dataclasses import dataclass +from threading import Lock from time import sleep -from os import path as osp +from typing import TYPE_CHECKING, Callable, Optional + from ding.framework import task, EventEnum from ding.framework.storage import Storage, FileStorage from ding.league.player import PlayerMeta from ding.worker.learner.base_learner import BaseLearner -from typing import TYPE_CHECKING, Callable, Optional -from threading import Lock + if TYPE_CHECKING: from ding.framework import Context from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer - @dataclass class LearnerModel: player_id: str state_dict: dict train_iter: int = 0 - -@dataclass -class LearnerModel: - player_id: str - state_dict: dict - train_iter: int = 0 - - class LeagueLearner: def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: @@ -36,8 +29,8 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self.player_id = player.player_id self.checkpoint_prefix = cfg.policy.other.league.path_policy self._learner = self._get_learner() - task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_data) self._lock = Lock() + task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_data) def _on_actor_data(self, actor_data: "ActorData"): with self._lock: @@ -68,8 +61,10 @@ def _get_learner(self) -> BaseLearner: return learner def _save_checkpoint(self) -> Optional[Storage]: + if not os.path.exists(self.checkpoint_prefix): + os.makedirs(self.checkpoint_prefix) storage = FileStorage( - path=osp.join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) + path=os.path.join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) ) storage.save(self._learner.policy.state_dict()) return storage diff --git a/ding/framework/middleware/tests/__init__.py b/ding/framework/middleware/tests/__init__.py index 5bb84e7fe2..54c6b9f76a 100644 --- a/ding/framework/middleware/tests/__init__.py +++ b/ding/framework/middleware/tests/__init__.py @@ -1 +1,2 @@ -from .mock_for_test import MockEnv, MockPolicy, MockHerRewardModel, CONFIG +from .mock_for_test import * +from .league_config import cfg \ No newline at end of file diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 27a5d9373c..e31def9660 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -46,7 +46,7 @@ }, 'multi_gpu': False, 'epoch_per_collect': 10, - 'batch_size': 32, + 'batch_size': 16, 'learning_rate': 1e-05, 'value_weight': 0.5, 'entropy_weight': 0.0, @@ -99,7 +99,7 @@ }, 'league': { 'player_category': ['default'], - 'path_policy': 'league_demo/policy', + 'path_policy': 'league_demo/ckpt', 'active_players': { 'main_player': 2 }, diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 7fa6cde7aa..0a5ef694ab 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -1,10 +1,15 @@ from typing import Union, Any, List, Callable, Dict, Optional from collections import namedtuple +import random import torch import treetensor.numpy as tnp from easydict import EasyDict from unittest.mock import Mock +from ding.league.player import PlayerMeta +from ding.league.v2 import BaseLeague, Job +from ding.framework.storage import FileStorage + obs_dim = [2, 2] action_space = 1 env_num = 2 @@ -116,3 +121,46 @@ def __init__(self) -> None: def estimate(self, episode: List[Dict[str, Any]]) -> List[Dict[str, Any]]: return [[episode[0] for _ in range(self.episode_element_size)]] + + +class MockLeague(BaseLeague): + def __init__(self, cfg) -> None: + super().__init__(cfg) + print(self.active_players) + self.update_payoff_cnt = 0 + self.update_active_player_cnt = 0 + self.create_historical_player_cnt = 0 + self.get_job_info_cnt = 0 + + def update_payoff(self, job): + self.update_payoff_cnt += 1 + + def update_active_player(self, meta): + self.update_active_player_cnt += 1 + + def create_historical_player(self, meta): + self.create_historical_player_cnt += 1 + + def get_job_info(self, player_id): + self.get_job_info_cnt += 1 + other_players = [i for i in self.active_players_ids if i != player_id] + another_palyer = random.choice(other_players) + return Job( + launch_player=player_id, + players=[ + PlayerMeta(player_id=player_id, checkpoint=FileStorage(path=None), total_agent_step=0), + PlayerMeta(player_id=another_palyer, checkpoint=FileStorage(path=None), total_agent_step=0) + ] + ) + + +class MockLogger(): + + def add_scalar(*args): + pass + + def close(*args): + pass + + def flush(*args): + pass diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py new file mode 100644 index 0000000000..4918e5492b --- /dev/null +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -0,0 +1,85 @@ +from copy import deepcopy +from time import sleep +import torch +import pytest + +from ding.envs import BaseEnvManager +from ding.model import VAC +from ding.policy import PPOPolicy +from ding.framework import EventEnum +from ding.framework.task import task, Parallel +from ding.framework.middleware import LeagueLearner +from ding.framework.middleware.functional.actor_data import ActorData +from ding.framework.middleware.tests import cfg, MockLeague, MockLogger +from dizoo.league_demo.game_env import GameEnv + + +def prepare_test(): + global cfg + cfg = deepcopy(cfg) + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + model = VAC(**cfg.policy.model) + policy = PPOPolicy(cfg.policy, model=model) + return policy + + return cfg, env_fn, policy_fn + +def coordinator_mocker(): + task.on(EventEnum.LEARNER_SEND_META, lambda x: print("test:", x)) + task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: print("test: send model success")) + def _coordinator_mocker(ctx): + sleep(1) + return _coordinator_mocker + +def actor_mocker(league): + def _actor_mocker(ctx): + sleep(1) + obs_size = cfg.policy.model.obs_shape + data = [{ + 'obs': torch.rand(*obs_size), + 'next_obs': torch.rand(*obs_size), + 'done': False, + 'reward': torch.rand(1), + 'logit': torch.rand(1), + 'action': torch.randint(low=0, high=2, size=(1,)), + } for _ in range(32)] + actor_data = ActorData(env_step=0, train_data=data) + n_players = len(league.active_players_ids) + player = league.active_players[(task.router.node_id + 2) % n_players] + print("actor player:", player.player_id) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + return _actor_mocker + +def _main(): + cfg, env_fn, policy_fn = prepare_test() + league = MockLeague(cfg.policy.other.league) + + with task.start(): + if task.router.node_id == 0: + task.use(coordinator_mocker()) + elif task.router.node_id <= 2: + task.use(actor_mocker(league)) + else: + n_players = len(league.active_players_ids) + player = league.active_players[task.router.node_id % n_players] + learner = LeagueLearner(cfg, policy_fn, player) + learner._learner._tb_logger = MockLogger() + task.use(learner) + task.run(max_step=5) + + +@pytest.mark.unittest +def test_league_learner(): + Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(_main) + + +if __name__ == '__main__': + Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 8b2d0f5c75..2801be6974 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -1,21 +1,40 @@ +# from time import sleep +# from boto import config +# import pytest +# from copy import deepcopy + +# from ding.framework.middleware.league_learner import LeagueLearner +# from ding.framework.middleware.tests.league_config import cfg +# from ding.framework.middleware import LeagueActor, LeagueCoordinator +# from ding.league.player import PlayerMeta, create_player +# from ding.league.v2 import BaseLeague +# from ding.framework.storage import FileStorage + +# from ding.framework.task import task, Parallel +# from ding.league.v2.base_league import Job +# from ding.model import VAC +# from ding.policy.ppo import PPOPolicy +# from dizoo.league_demo.game_env import GameEnv + +from copy import deepcopy from time import sleep +import torch import pytest -from copy import deepcopy -from ding.envs import BaseEnvManager -from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, LeagueCoordinator -from ding.league.player import PlayerMeta -from ding.framework.storage import FileStorage +import random -from ding.framework.task import task, Parallel -from ding.league.v2.base_league import Job +from ding.envs import BaseEnvManager from ding.model import VAC -from ding.policy.ppo import PPOPolicy +from ding.policy import PPOPolicy +from ding.framework import EventEnum +from ding.framework.task import task, Parallel +from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner +from ding.framework.middleware.functional.actor_data import ActorData +from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.league_demo.game_env import GameEnv -from unittest.mock import patch -import random +N_ACTORS = 2 +N_LEARNERS = 2 def prepare_test(): global cfg @@ -35,67 +54,29 @@ def policy_fn(): return cfg, env_fn, policy_fn - -class MockLeague: - - def __init__(self): - self.active_players_ids = ["main_player_default_0", "main_player_default_1", "main_player_default_2"] - self.update_payoff_cnt = 0 - self.update_active_player_cnt = 0 - self.create_historical_player_cnt = 0 - self.get_job_info_cnt = 0 - - def update_payoff(self, job): - self.update_payoff_cnt += 1 - - def update_active_player(self, meta): - self.update_active_player_cnt += 1 - - def create_historical_player(self, meta): - self.create_historical_player_cnt += 1 - - def get_job_info(self, player_id): - self.get_job_info_cnt += 1 - other_players = [i for i in self.active_players_ids if i != player_id] - another_palyer = random.choice(other_players) - return Job( - launch_player=player_id, - players=[ - PlayerMeta(player_id=player_id, checkpoint=FileStorage(path=None), total_agent_step=0), - PlayerMeta(player_id=another_palyer, checkpoint=FileStorage(path=None), total_agent_step=0) - ] - ) - - -N_ACTORS = 3 - - def _main(): cfg, env_fn, policy_fn = prepare_test() + league = MockLeague(cfg.policy.other.league) with task.start(async_mode=True): if task.router.node_id == 0: - league = MockLeague() - coordinator = LeagueCoordinator(league) - sleep(2) - with patch("ding.league.BaseLeague", MockLeague): - task.use(coordinator) - sleep(15) - # print(league.get_job_info_cnt) - assert league.get_job_info_cnt == N_ACTORS - assert league.update_payoff_cnt == N_ACTORS - else: + task.use(LeagueCoordinator(league)) + elif task.router.node_id <= N_ACTORS: task.use(LeagueActor(cfg, env_fn, policy_fn)) + else: + n_players = len(league.active_players_ids) + player = league.active_players[task.router.node_id % n_players] + learner = LeagueLearner(cfg, policy_fn, player) + learner._learner._tb_logger = MockLogger() + task.use(learner) - task.run(max_step=1) + task.run(max_step=10) @pytest.mark.unittest def test_league_actor(): - Parallel.runner(n_parallel_workers=N_ACTORS + 1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS + 1, protocol="tcp", topology="mesh")(_main) -# replicas = 10 -# un parallel worker 改成1 + Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) \ No newline at end of file From 77dc67e0eef35385e8b2ba0ee4a6292aaed610b2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 09:45:32 +0800 Subject: [PATCH 082/229] change vars names, get rid of cache_pool --- ding/framework/middleware/collector.py | 11 +++----- .../middleware/functional/collector.py | 27 +++++++++---------- .../middleware/tests/test_league_actor.py | 5 ++-- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 5b52e407eb..67ff3576d9 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -20,9 +20,6 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self.env = env self.env_num = self.env.env_num - self.obs_pool = CachePool('obs', self.env_num, deepcopy=self.cfg.deepcopy_obs) - self.policy_output_pool = CachePool('policy_output', self.env_num) - self.total_envstep_count = 0 self.end_flag = False self.n_rollout_samples = n_rollout_samples @@ -31,9 +28,9 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self.all_policies = all_policies self._battle_inferencer = task.wrap( - battle_inferencer(self.cfg, self.env, self.obs_pool, self.policy_output_pool) + battle_inferencer(self.cfg, self.env) ) - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.obs_pool, self.policy_output_pool)) + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env)) self._job_data_sender = task.wrap(job_data_sender(self.streaming_sampling_flag, self.n_rollout_samples)) @@ -75,7 +72,7 @@ def __call__(self, ctx: "BattleContext") -> None: the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ - ctx.envstep = self.total_envstep_count + ctx.env_step = self.total_envstep_count if ctx.n_episode is None: if ctx._default_n_episode is None: raise RuntimeError("Please specify collect n_episode") @@ -99,7 +96,7 @@ def __call__(self, ctx: "BattleContext") -> None: self._battle_inferencer(ctx) self._battle_rolloutor(ctx) - self.total_envstep_count = ctx.envstep + self.total_envstep_count = ctx.env_step self._job_data_sender(ctx) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 4af6e82dd9..78cb1eef36 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -2,6 +2,7 @@ from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch +from ding import policy from ding.envs import BaseEnvManager from ding.policy import Policy import torch @@ -167,7 +168,7 @@ def job_data_sender(streaming_sampling_flag: bool, n_rollout_samples: int): def _job_data_sender(ctx: "BattleContext"): if not ctx.job.is_eval and streaming_sampling_flag is True and len(ctx.train_data[0]) >= n_rollout_samples: - actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.train_data[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.train_data = [[] for _ in range(ctx.agent_num)] @@ -175,54 +176,54 @@ def _job_data_sender(ctx: "BattleContext"): ctx.job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) if not ctx.job.is_eval and len(ctx.train_data[0]) > 0: - actor_data = ActorData(env_step=ctx.envstep, train_data=ctx.train_data[0]) + actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.train_data[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.train_data = [[] for _ in range(ctx.agent_num)] return _job_data_sender - -def battle_inferencer(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): +import time +def battle_inferencer(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs + # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} # Policy forward. - obs_pool.update(obs) if cfg.transform_obs: obs = to_tensor(obs, dtype=torch.float32) obs = dicts_to_lists(obs) - policy_output = [p.forward(obs[i], **ctx.collect_kwargs) for i, p in enumerate(ctx.current_policies)] - policy_output_pool.update(policy_output) - + inference_output = [p.forward(obs[i], **ctx.collect_kwargs) for i, p in enumerate(ctx.current_policies)] + ctx.obs = obs + ctx.inference_output = inference_output # Interact with env. actions = {} for env_id in ctx.ready_env_id: actions[env_id] = [] - for output in policy_output: + for output in inference_output: actions[env_id].append(output[env_id]['action']) ctx.actions = to_ndarray(actions) return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, obs_pool: CachePool, policy_output_pool: CachePool): +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) for env_id, timestep in timesteps.items(): - ctx.envstep += 1 + ctx.env_step += 1 for policy_id, _ in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) transition = ctx.current_policies[policy_id].process_transition( - obs_pool[env_id][policy_id], policy_output_pool[env_id][policy_id], policy_timestep + ctx.obs[policy_id][env_id], ctx.inference_output[policy_id][env_id], policy_timestep ) transition['collect_iter'] = ctx.train_iter ctx.traj_buffer[env_id][policy_id].append(transition) @@ -242,8 +243,6 @@ def _battle_rolloutor(ctx: "BattleContext"): p.reset([env_id]) for i in range(ctx.agent_num): ctx.traj_buffer[env_id][i].clear() - obs_pool.reset(env_id) - policy_output_pool.reset(env_id) ctx.ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index d71b9b0f3f..f585720eb8 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -62,6 +62,7 @@ def test_actor(): def on_actor_greeting(actor_id): assert actor_id == ACTOR_ID testcases["on_actor_greeting"] = True + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=ACTOR_ID), job) def on_actor_job(job_: Job): assert job_.launch_player == job.launch_player @@ -77,8 +78,6 @@ def on_actor_data(actor_data): def _test_actor(ctx): sleep(0.3) - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=ACTOR_ID), job) - sleep(0.3) task.emit( EventEnum.LEARNER_SEND_MODEL, @@ -86,7 +85,7 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(5) + sleep(10) try: print(testcases) assert all(testcases.values()) From f95113ab36f4ad6e96ed1be53474c476e61b2cea Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 15:20:13 +0800 Subject: [PATCH 083/229] change the position of traj_buffers initialization --- ding/framework/middleware/collector.py | 11 +++- .../middleware/functional/collector.py | 66 ++++++++++++++----- ding/framework/middleware/league_actor.py | 3 +- 3 files changed, 59 insertions(+), 21 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 67ff3576d9..346319e3b3 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -5,6 +5,7 @@ from ding.framework import task, EventEnum from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, job_data_sender from typing import Dict +from ding.worker.collector.base_serial_collector import TrajBuffer # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -30,7 +31,6 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self._battle_inferencer = task.wrap( battle_inferencer(self.cfg, self.env) ) - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env)) self._job_data_sender = task.wrap(job_data_sender(self.streaming_sampling_flag, self.n_rollout_samples)) @@ -83,8 +83,13 @@ def __call__(self, ctx: "BattleContext") -> None: if ctx.collect_kwargs is None: ctx.collect_kwargs = {} - if self.env.closed: - self.env.launch() + # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions + self.traj_buffer = { + env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) + for policy_id in range(ctx.agent_num)} + for env_id in range(self.env_num) + } + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.traj_buffer)) ctx.collected_episode = 0 ctx.train_data = [[] for _ in range(ctx.agent_num)] diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 78cb1eef36..65fade9044 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -8,11 +8,10 @@ import torch from ding.utils import dicts_to_lists from ding.torch_utils import to_tensor, to_ndarray -from ding.worker.collector.base_serial_collector import CachePool, TrajBuffer, to_tensor_transitions -from threading import Lock -from ding.league.player import PlayerMeta +from ding.worker.collector.base_serial_collector import TrajBuffer, to_tensor_transitions from ding.framework import task, EventEnum from .actor_data import ActorData +from typing import Dict # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -150,13 +149,6 @@ def _policy_resetter(ctx: "BattleContext"): ctx._default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) ctx.agent_num = len(ctx.current_policies) ctx.traj_len = float("inf") - # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions - ctx.traj_buffer = { - env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) - for policy_id in range(ctx.agent_num)} - for env_id in range(env_num) - } - for p in ctx.current_policies: p.reset() else: @@ -187,6 +179,10 @@ def _job_data_sender(ctx: "BattleContext"): def battle_inferencer(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): + + if env.closed: + env.launch() + # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data @@ -213,36 +209,74 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager): +class BattleTransitionList: + + def __init__(self, env_num: int, agent_num: int) -> None: + self.env_num = env_num + self.agent_num = agent_num + self._transitions = [[[] for _ in range(agent_num)] for _ in range(env_num)] + self._done_idx = [[] for _ in range(env_num)] + + def append(self, env_id: int, policy_id: int, transition: Any) -> None: + self._transitions[env_id].append(transition) + if transition.done: + self._done_idx[env_id].append(len(self._transitions[env_id])) + + def to_trajectories(self) -> Tuple[List[Any], List[int]]: + trajectories = sum(self._transitions, []) + lengths = [len(t) for t in self._transitions] + trajectory_end_idx = [reduce(lambda x, y: x + y, lengths[:i + 1]) for i in range(len(lengths))] + trajectory_end_idx = [t - 1 for t in trajectory_end_idx] + return trajectories, trajectory_end_idx + + def to_episodes(self) -> List[List[Any]]: + episodes = [] + for env_id in range(self.env_num): + last_idx = 0 + for done_idx in self._done_idx[env_id]: + episodes.append(self._transitions[env_id][last_idx:done_idx]) + last_idx = done_idx + return episodes + + def clear(self): + for item in self._transitions: + item.clear() + for item in self._done_idx: + item.clear() + + +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, traj_buffer: Dict): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) + ctx.env_step += len(timesteps) for env_id, timestep in timesteps.items(): - ctx.env_step += 1 for policy_id, _ in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) transition = ctx.current_policies[policy_id].process_transition( ctx.obs[policy_id][env_id], ctx.inference_output[policy_id][env_id], policy_timestep ) + # transition = ttorch.as_tensor(transition) + # transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) transition['collect_iter'] = ctx.train_iter - ctx.traj_buffer[env_id][policy_id].append(transition) + traj_buffer[env_id][policy_id].append(transition) # If env is done, prepare data if timestep.done: - transitions = to_tensor_transitions(ctx.traj_buffer[env_id][policy_id]) + transitions = to_tensor_transitions(traj_buffer[env_id][policy_id]) if cfg.get_train_sample: train_sample = ctx.current_policies[policy_id].get_train_sample(transitions) ctx.train_data[policy_id].extend(train_sample) else: ctx.train_data[policy_id].append(transitions) - ctx.traj_buffer[env_id][policy_id].clear() + traj_buffer[env_id][policy_id].clear() if timestep.done: ctx.collected_episode += 1 for i, p in enumerate(ctx.current_policies): p.reset([env_id]) for i in range(ctx.agent_num): - ctx.traj_buffer[env_id][i].clear() + traj_buffer[env_id][i].clear() ctx.ready_env_id.remove(env_id) for policy_id in range(ctx.agent_num): ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 5562e2b4a7..fb1a3e77f5 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -26,8 +26,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn - # self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 - self.n_rollout_samples = 64 + self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 self._collectors: Dict[str, BattleCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) From 7d5c112c0abf6e45d34e95afc44407ce461d0c0b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 15:39:13 +0800 Subject: [PATCH 084/229] change a bit rolloutor --- ding/framework/middleware/functional/collector.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 65fade9044..a0b855ef55 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -218,9 +218,9 @@ def __init__(self, env_num: int, agent_num: int) -> None: self._done_idx = [[] for _ in range(env_num)] def append(self, env_id: int, policy_id: int, transition: Any) -> None: - self._transitions[env_id].append(transition) - if transition.done: - self._done_idx[env_id].append(len(self._transitions[env_id])) + self._transitions[env_id][policy_id].append(transition) + if transition.done and policy_id == 0: + self._done_idx[env_id].append(len(self._transitions[env_id][policy_id])) def to_trajectories(self) -> Tuple[List[Any], List[int]]: trajectories = sum(self._transitions, []) @@ -270,15 +270,11 @@ def _battle_rolloutor(ctx: "BattleContext"): else: ctx.train_data[policy_id].append(transitions) traj_buffer[env_id][policy_id].clear() + ctx.current_policies[policy_id].reset([env_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) if timestep.done: ctx.collected_episode += 1 - for i, p in enumerate(ctx.current_policies): - p.reset([env_id]) - for i in range(ctx.agent_num): - traj_buffer[env_id][i].clear() ctx.ready_env_id.remove(env_id) - for policy_id in range(ctx.agent_num): - ctx.episode_info[policy_id].append(timestep.info[policy_id]) return _battle_rolloutor From bc8c332f315bf2c3274af400f9d3dc0c0319d5e0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 21:33:33 +0800 Subject: [PATCH 085/229] change the style to 1.0 middleware --- ding/framework/context.py | 12 +++ ding/framework/middleware/collector.py | 50 +++------- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 95 +------------------ ding/framework/middleware/league_actor.py | 54 +++++++---- .../middleware/tests/league_config.py | 3 +- .../middleware/tests/test_league_actor.py | 5 +- .../tests/test_league_actor_one_process.py | 3 +- .../middleware/tests/test_league_pipeline.py | 3 +- 9 files changed, 79 insertions(+), 148 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index d5dd2da9a9..7ead2dd35b 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -80,3 +80,15 @@ class BattleContext(Context): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.__dict__ = self + self.n_episode = None + self.train_iter = 0 + self.job = None + self.collect_kwargs = {} + self.env_episode = 0 + self.episodes = [] + self.episode_info = [] + self.ready_env_id = set() + self.agent_num = 2 + self.job_finish = False + self.traj_len = float("inf") + self.current_policies = [] diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 346319e3b3..fceb5c99fa 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -2,19 +2,17 @@ from easydict import EasyDict from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager -from ding.framework import task, EventEnum -from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, job_data_sender +from ding.framework import task +from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor from typing import Dict -from ding.worker.collector.base_serial_collector import TrajBuffer # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext -from ding.worker.collector.base_serial_collector import CachePool class BattleCollector: - def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict): + def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, agent_num: int): self.cfg = cfg self.end_flag = False # self._reset(env) @@ -24,15 +22,15 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self.total_envstep_count = 0 self.end_flag = False self.n_rollout_samples = n_rollout_samples - self.streaming_sampling_flag = n_rollout_samples > 0 self.model_dict = model_dict self.all_policies = all_policies + self.agent_num = agent_num self._battle_inferencer = task.wrap( battle_inferencer(self.cfg, self.env) ) - self._job_data_sender = task.wrap(job_data_sender(self.streaming_sampling_flag, self.n_rollout_samples)) - + self._transition_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transition_list)) def __del__(self) -> None: """ @@ -59,8 +57,6 @@ def _update_policies(self, job) -> None: policy.load_state_dict(learner_model.state_dict) self.model_dict[player_id] = None - - def __call__(self, ctx: "BattleContext") -> None: """ Input of ctx: @@ -73,29 +69,7 @@ def __call__(self, ctx: "BattleContext") -> None: otherwise, return train_samples split by unroll_len. """ ctx.env_step = self.total_envstep_count - if ctx.n_episode is None: - if ctx._default_n_episode is None: - raise RuntimeError("Please specify collect n_episode") - else: - ctx.n_episode = ctx._default_n_episode - assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" - - if ctx.collect_kwargs is None: - ctx.collect_kwargs = {} - - # traj_buffer is {env_id: {policy_id: TrajBuffer}}, is used to store traj_len pieces of transitions - self.traj_buffer = { - env_id: {policy_id: TrajBuffer(maxlen=ctx.traj_len) - for policy_id in range(ctx.agent_num)} - for env_id in range(self.env_num) - } - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self.traj_buffer)) - - ctx.collected_episode = 0 - ctx.train_data = [[] for _ in range(ctx.agent_num)] - ctx.episode_info = [[] for _ in range(ctx.agent_num)] - ctx.ready_env_id = set() - ctx.remain_episode = ctx.n_episode + old = ctx.env_episode while True: self._update_policies(ctx.job) self._battle_inferencer(ctx) @@ -103,10 +77,14 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.env_step - self._job_data_sender(ctx) - - if ctx.collected_episode >= ctx.n_episode: + if (self.n_rollout_samples > 0 and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: + ctx.episodes = self._transition_list[0].to_episodes() + for transitions in self._transition_list: + transitions.clear() + if ctx.env_episode >= ctx.n_episode: + ctx.job_finish = True break + diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index 4997ff1da3..c17d0e8a63 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, policy_resetter, battle_inferencer, battle_rolloutor, job_data_sender +from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index a0b855ef55..e34e3f14a4 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -2,16 +2,11 @@ from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch -from ding import policy from ding.envs import BaseEnvManager from ding.policy import Policy import torch from ding.utils import dicts_to_lists from ding.torch_utils import to_tensor, to_ndarray -from ding.worker.collector.base_serial_collector import TrajBuffer, to_tensor_transitions -from ding.framework import task, EventEnum -from .actor_data import ActorData -from typing import Dict # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -141,41 +136,6 @@ def _rollout(ctx: "OnlineRLContext"): return _rollout -def policy_resetter(env_num: int): - - def _policy_resetter(ctx: "BattleContext"): - if ctx.current_policies is not None: - assert len(ctx.current_policies) > 1, "battle collector needs more than 1 policies" - ctx._default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) - ctx.agent_num = len(ctx.current_policies) - ctx.traj_len = float("inf") - for p in ctx.current_policies: - p.reset() - else: - raise RuntimeError('ctx.current_policies should not be None') - - return _policy_resetter - -def job_data_sender(streaming_sampling_flag: bool, n_rollout_samples: int): - - def _job_data_sender(ctx: "BattleContext"): - if not ctx.job.is_eval and streaming_sampling_flag is True and len(ctx.train_data[0]) >= n_rollout_samples: - actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.train_data[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - ctx.train_data = [[] for _ in range(ctx.agent_num)] - - if ctx.collected_episode >= ctx.n_episode: - ctx.job.result = [e['result'] for e in ctx.episode_info[0]] - task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) - if not ctx.job.is_eval and len(ctx.train_data[0]) > 0: - actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.train_data[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - ctx.train_data = [[] for _ in range(ctx.agent_num)] - - return _job_data_sender - - -import time def battle_inferencer(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): @@ -209,43 +169,7 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -class BattleTransitionList: - - def __init__(self, env_num: int, agent_num: int) -> None: - self.env_num = env_num - self.agent_num = agent_num - self._transitions = [[[] for _ in range(agent_num)] for _ in range(env_num)] - self._done_idx = [[] for _ in range(env_num)] - - def append(self, env_id: int, policy_id: int, transition: Any) -> None: - self._transitions[env_id][policy_id].append(transition) - if transition.done and policy_id == 0: - self._done_idx[env_id].append(len(self._transitions[env_id][policy_id])) - - def to_trajectories(self) -> Tuple[List[Any], List[int]]: - trajectories = sum(self._transitions, []) - lengths = [len(t) for t in self._transitions] - trajectory_end_idx = [reduce(lambda x, y: x + y, lengths[:i + 1]) for i in range(len(lengths))] - trajectory_end_idx = [t - 1 for t in trajectory_end_idx] - return trajectories, trajectory_end_idx - - def to_episodes(self) -> List[List[Any]]: - episodes = [] - for env_id in range(self.env_num): - last_idx = 0 - for done_idx in self._done_idx[env_id]: - episodes.append(self._transitions[env_id][last_idx:done_idx]) - last_idx = done_idx - return episodes - - def clear(self): - for item in self._transitions: - item.clear() - for item in self._done_idx: - item.clear() - - -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, traj_buffer: Dict): +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transition_list: List): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) @@ -257,24 +181,15 @@ def _battle_rolloutor(ctx: "BattleContext"): transition = ctx.current_policies[policy_id].process_transition( ctx.obs[policy_id][env_id], ctx.inference_output[policy_id][env_id], policy_timestep ) - # transition = ttorch.as_tensor(transition) - # transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - transition['collect_iter'] = ctx.train_iter - traj_buffer[env_id][policy_id].append(transition) - # If env is done, prepare data + transition = ttorch.as_tensor(transition) + transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transition_list[policy_id].append(env_id, transition) if timestep.done: - transitions = to_tensor_transitions(traj_buffer[env_id][policy_id]) - if cfg.get_train_sample: - train_sample = ctx.current_policies[policy_id].get_train_sample(transitions) - ctx.train_data[policy_id].extend(train_sample) - else: - ctx.train_data[policy_id].append(transitions) - traj_buffer[env_id][policy_id].clear() ctx.current_policies[policy_id].reset([env_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) if timestep.done: - ctx.collected_episode += 1 ctx.ready_env_id.remove(env_id) + ctx.env_episode += 1 return _battle_rolloutor diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index fb1a3e77f5..623ce458a6 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -1,20 +1,16 @@ from ding.framework import task, EventEnum -from time import sleep import logging -from typing import Dict, List, Any, Callable -from dataclasses import dataclass, field -from abc import abstractmethod +from typing import Dict, Callable from easydict import EasyDict -from ding.envs import BaseEnvManager from ding.framework import BattleContext from ding.league.v2.base_league import Job from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware import BattleCollector -from ding.framework.middleware.functional import policy_resetter +from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from threading import Lock import queue @@ -31,7 +27,6 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) - self._policy_resetter = task.wrap(policy_resetter(self.env_num)) self.job_queue = queue.Queue() self.model_dict = {} self.model_dict_lock = Lock() @@ -49,12 +44,12 @@ def _on_league_job(self, job: "Job"): """ self.job_queue.put(job) - def _get_collector(self, player_id: str): + def _get_collector(self, player_id: str, agent_num: int): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies)) + collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) self._collectors[player_id] = collector return collector @@ -88,6 +83,15 @@ def _get_current_policies(self, job): current_policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player + assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) + + if current_policies is not None: + assert len(current_policies) > 1, "battle collector needs more than 1 policies" + for p in current_policies: + p.reset() + else: + raise RuntimeError('current_policies should not be None') + return main_player, current_policies @@ -97,17 +101,35 @@ def __call__(self, ctx: "BattleContext"): if ctx.job is None: return - collector = self._get_collector(ctx.job.launch_player) + collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) main_player, ctx.current_policies = self._get_current_policies(ctx.job) - assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) + ctx.agent_num = len(ctx.current_policies) - self._policy_resetter(ctx) + _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) + if ctx.n_episode is None: + if _default_n_episode is None: + raise RuntimeError("Please specify collect n_episode") + else: + ctx.n_episode = _default_n_episode + assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" - ctx.n_episode = None ctx.train_iter = main_player.total_agent_step - ctx.collect_kwargs = None - - collector(ctx) + ctx.episode_info = [[] for _ in range(ctx.agent_num)] + + ctx.remain_episode = ctx.n_episode + while True: + + collector(ctx) + + if not ctx.job.is_eval: + actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.episodes) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + ctx.episodes = [] + if ctx.job_finish is True: + ctx.job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + ctx.episode_info = [[] for _ in range(ctx.agent_num)] + break diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 27a5d9373c..c905a34025 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -78,7 +78,8 @@ 'unroll_len': 1, 'discount_factor': 1.0, 'gae_lambda': 1.0, - 'n_episode': 128 + 'n_episode': 128, + 'n_rollout_samples': 32 }, 'eval': { 'evaluator': { diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index f585720eb8..4c1da29564 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -2,6 +2,7 @@ import pytest from copy import deepcopy from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware import LeagueActor @@ -49,7 +50,7 @@ def _main(): ) ACTOR_ID = 0 - with task.start(async_mode=True): + with task.start(async_mode=True, ctx=BattleContext()): league_actor = LeagueActor(cfg, env_fn, policy_fn) def test_actor(): @@ -99,7 +100,7 @@ def _test_actor(ctx): elif task.router.node_id == 1: task.use(test_actor()) - task.run() + task.run(max_step=5) @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index e97610bcf1..f7d66787e3 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -2,6 +2,7 @@ import pytest from copy import deepcopy from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware import LeagueActor @@ -42,7 +43,7 @@ def policy_fn(): def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() - with task.start(async_mode=True): + with task.start(async_mode=True, ctx = BattleContext()): league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index a84a4170a9..b8d7bcf565 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -2,6 +2,7 @@ import pytest from copy import deepcopy from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext from ding.framework.middleware.tests.league_config import cfg from ding.framework.middleware import LeagueActor, LeagueCoordinator from ding.league.player import PlayerMeta @@ -69,7 +70,7 @@ def get_job_info(self, player_id): def _main(): cfg, env_fn, policy_fn = prepare_test() - with task.start(async_mode=True): + with task.start(async_mode=True, ctx=BattleContext()): if task.router.node_id == 0: league = MockLeague() coordinator = LeagueCoordinator(league) From 1078673066c8b4c8014c304a66405400b4eafa80 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 23:18:29 +0800 Subject: [PATCH 086/229] change a bit --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/collector.py | 17 ++++++----------- .../middleware/functional/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 10 ++++------ 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 8580fc2caf..0c50f850de 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -1,5 +1,5 @@ from .functional import * -from .collector import StepCollector, EpisodeCollector, BattleCollector +from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver from .league_actor import LeagueActor diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index fceb5c99fa..cfb7b07563 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -10,7 +10,7 @@ from ding.framework import OnlineRLContext, BattleContext -class BattleCollector: +class BattleEpisodeCollector: def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, agent_num: int): self.cfg = cfg @@ -20,17 +20,14 @@ def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, m self.env_num = self.env.env_num self.total_envstep_count = 0 - self.end_flag = False self.n_rollout_samples = n_rollout_samples self.model_dict = model_dict self.all_policies = all_policies self.agent_num = agent_num - self._battle_inferencer = task.wrap( - battle_inferencer(self.cfg, self.env) - ) - self._transition_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transition_list)) + self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) + self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) def __del__(self) -> None: """ @@ -78,14 +75,12 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.env_step if (self.n_rollout_samples > 0 and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: - ctx.episodes = self._transition_list[0].to_episodes() - for transitions in self._transition_list: + ctx.episodes = self._transitions_list[0].to_episodes() + for transitions in self._transitions_list: transitions.clear() if ctx.env_episode >= ctx.n_episode: ctx.job_finish = True break - - diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index e34e3f14a4..ebea99e355 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -169,7 +169,7 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transition_list: List): +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) @@ -183,7 +183,7 @@ def _battle_rolloutor(ctx: "BattleContext"): ) transition = ttorch.as_tensor(transition) transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - transition_list[policy_id].append(env_id, transition) + transitions_list[policy_id].append(env_id, transition) if timestep.done: ctx.current_policies[policy_id].reset([env_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 623ce458a6..fba5eef506 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -9,7 +9,7 @@ from ding.league.v2.base_league import Job from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware import BattleCollector +from ding.framework.middleware import BattleEpisodeCollector from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from threading import Lock @@ -23,7 +23,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_num = env_fn().env_num self.policy_fn = policy_fn self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 - self._collectors: Dict[str, BattleCollector] = {} + self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) @@ -49,7 +49,7 @@ def _get_collector(self, player_id: str, agent_num: int): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) + collector = task.wrap(BattleEpisodeCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) self._collectors[player_id] = collector return collector @@ -116,13 +116,11 @@ def __call__(self, ctx: "BattleContext"): ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(ctx.agent_num)] - ctx.remain_episode = ctx.n_episode while True: - collector(ctx) - if not ctx.job.is_eval: + if not ctx.job.is_eval and len(ctx.episodes) > 0: actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.episodes) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.episodes = [] From d3fcc5171835bb34cb43c508dcf3ff59d9ca5249 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 23:35:08 +0800 Subject: [PATCH 087/229] change a bit --- ding/framework/middleware/collector.py | 2 +- ding/framework/middleware/league_actor.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index cfb7b07563..4c690303c4 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -75,8 +75,8 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.env_step if (self.n_rollout_samples > 0 and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: - ctx.episodes = self._transitions_list[0].to_episodes() for transitions in self._transitions_list: + ctx.episodes.append(transitions.to_episodes()) transitions.clear() if ctx.env_episode >= ctx.n_episode: ctx.job_finish = True diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index fba5eef506..578afb0782 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -120,8 +120,8 @@ def __call__(self, ctx: "BattleContext"): while True: collector(ctx) - if not ctx.job.is_eval and len(ctx.episodes) > 0: - actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.episodes) + if not ctx.job.is_eval and len(ctx.episodes[0]) > 0: + actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.episodes[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.episodes = [] if ctx.job_finish is True: From 0dc1c5f3bb73998c946603f6bb8709a7bb504e03 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 8 Jun 2022 23:50:54 +0800 Subject: [PATCH 088/229] change variable name --- ding/framework/context.py | 2 ++ ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/collector.py | 4 ++-- ding/framework/middleware/functional/collector.py | 1 + ding/framework/middleware/league_actor.py | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 7ead2dd35b..be8ef2482f 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -92,3 +92,5 @@ def __init__(self, *args, **kwargs) -> None: self.job_finish = False self.traj_len = float("inf") self.current_policies = [] + self.env_step = 0 + self.total_envstep_count = 0 diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 0c50f850de..ed4075492e 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -1,5 +1,5 @@ from .functional import * -from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector +from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector#, BattleStepCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver from .league_actor import LeagueActor diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4c690303c4..a1acdc9d2f 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -65,14 +65,14 @@ def __call__(self, ctx: "BattleContext") -> None: the former is a list containing collected episodes if not get_train_sample, \ otherwise, return train_samples split by unroll_len. """ - ctx.env_step = self.total_envstep_count + ctx.total_envstep_count = self.total_envstep_count old = ctx.env_episode while True: self._update_policies(ctx.job) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) - self.total_envstep_count = ctx.env_step + self.total_envstep_count = ctx.total_envstep_count if (self.n_rollout_samples > 0 and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: for transitions in self._transitions_list: diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index ebea99e355..2b40f70358 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -173,6 +173,7 @@ def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transitions_list: List) def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) + ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) for env_id, timestep in timesteps.items(): for policy_id, _ in enumerate(ctx.current_policies): diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 578afb0782..2c61d8d8cb 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -121,7 +121,7 @@ def __call__(self, ctx: "BattleContext"): collector(ctx) if not ctx.job.is_eval and len(ctx.episodes[0]) > 0: - actor_data = ActorData(env_step=ctx.env_step, train_data=ctx.episodes[0]) + actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.episodes[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) ctx.episodes = [] if ctx.job_finish is True: From 5944584cafc01bc67182a7d94b1b4961df8f3318 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 9 Jun 2022 00:37:17 +0800 Subject: [PATCH 089/229] add step collector and step actor --- ding/framework/context.py | 9 ++ ding/framework/middleware/__init__.py | 4 +- ding/framework/middleware/collector.py | 75 ++++++++++ ding/framework/middleware/league_actor.py | 131 +++++++++++++++++- .../middleware/tests/league_config.py | 4 +- .../middleware/tests/test_league_actor.py | 2 +- .../tests/test_league_actor_one_process.py | 4 +- .../middleware/tests/test_league_pipeline.py | 2 +- 8 files changed, 223 insertions(+), 8 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index be8ef2482f..4113ea5c7b 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -94,3 +94,12 @@ def __init__(self, *args, **kwargs) -> None: self.current_policies = [] self.env_step = 0 self.total_envstep_count = 0 + self.trajectories_list = [] + self.trajectory_end_idx_list = [] + self.trajectories = [] + self.trajectory_end_idx = None + + self.remain_episode = 0 + self.n_sample = 1 + self.unroll_len = 1 + self.train_data = None diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index ed4075492e..6b0e33141e 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -1,6 +1,6 @@ from .functional import * -from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector#, BattleStepCollector +from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector, BattleStepCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver -from .league_actor import LeagueActor +from .league_actor import LeagueActor, StepLeagueActor from .league_coordinator import LeagueCoordinator diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index a1acdc9d2f..b77895d4d8 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -83,6 +83,81 @@ def __call__(self, ctx: "BattleContext") -> None: break +class BattleStepCollector: + + def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, agent_num: int): + self.cfg = cfg + self.end_flag = False + # self._reset(env) + self.env = env + self.env_num = self.env.env_num + + self.total_envstep_count = 0 + self.n_rollout_samples = n_rollout_samples + self.model_dict = model_dict + self.all_policies = all_policies + self.agent_num = agent_num + + self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) + self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] + self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) + + def __del__(self) -> None: + """ + Overview: + Execute the close command and close the collector. __del__ is automatically called to \ + destroy the collector instance when the collector finishes its work + """ + if self.end_flag: + return + self.end_flag = True + self.env.close() + + def _update_policies(self, job) -> None: + job_player_id_list = [player.player_id for player in job.players] + + for player_id in job_player_id_list: + if self.model_dict.get(player_id) is None: + continue + else: + learner_model = self.model_dict.get(player_id) + policy = self.all_policies.get(player_id) + assert policy, "for player{}, policy should have been initialized already" + # update policy model + policy.load_state_dict(learner_model.state_dict) + self.model_dict[player_id] = None + + def __call__(self, ctx: "BattleContext") -> None: + """ + Input of ctx: + - n_episode (:obj:`int`): the number of collecting data episode + - train_iter (:obj:`int`): the number of training iteration + - collect_kwargs (:obj:`dict`): the keyword args for policy forward + Output of ctx: + - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ + the former is a list containing collected episodes if not get_train_sample, \ + otherwise, return train_samples split by unroll_len. + """ + ctx.total_envstep_count = self.total_envstep_count + old = ctx.env_step + + while True: + self._update_policies(ctx.job) + self._battle_inferencer(ctx) + self._battle_rolloutor(ctx) + + self.total_envstep_count = ctx.total_envstep_count + + if (self.n_rollout_samples > 0 and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_step >= ctx.n_sample * ctx.unroll_len: + for transitions in self._transitions_list: + trajectories, trajectory_end_idx = transitions.to_trajectories() + ctx.trajectories_list.append(trajectories) + ctx.trajectory_end_idx_list.append(trajectory_end_idx) + transitions.clear() + if ctx.env_step >= ctx.n_sample * ctx.unroll_len: + ctx.job_finish = True + break + class StepCollector: """ diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 2c61d8d8cb..d47c3d5484 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -9,7 +9,7 @@ from ding.league.v2.base_league import Job from ding.policy import Policy from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware import BattleEpisodeCollector +from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector, gae_estimator from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from threading import Lock @@ -131,3 +131,132 @@ def __call__(self, ctx: "BattleContext"): break +class StepLeagueActor: + + def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): + self.cfg = cfg + self.env_fn = env_fn + self.env_num = env_fn().env_num + self.policy_fn = policy_fn + self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.n_sample = self.cfg.policy.collect.get("n_sample") or 1 + self.unroll_len = self.cfg.policy.collect.get("unroll_len") or 1 + self._collectors: Dict[str, BattleEpisodeCollector] = {} + self.all_policies: Dict[str, "Policy.collect_function"] = {} + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) + task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) + self.job_queue = queue.Queue() + self.model_dict = {} + self.model_dict_lock = Lock() + + self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) + + def _on_learner_model(self, learner_model: "LearnerModel"): + """ + If get newest learner model, put it inside model_queue. + """ + with self.model_dict_lock: + self.model_dict[learner_model.player_id] = learner_model + + def _on_league_job(self, job: "Job"): + """ + Deal with job distributed by coordinator, put it inside job_queue. + """ + self.job_queue.put(job) + + def _get_collector(self, player_id: str, agent_num: int): + if self._collectors.get(player_id): + return self._collectors.get(player_id) + cfg = self.cfg + env = self.env_fn() + collector = task.wrap(BattleStepCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) + self._collectors[player_id] = collector + return collector + + def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": + player_id = player.player_id + if self.all_policies.get(player_id): + return self.all_policies.get(player_id) + policy: "Policy.collect_function" = self.policy_fn().collect_mode + self.all_policies[player_id] = policy + if "historical" in player.player_id: + policy.load_state_dict(player.checkpoint.load()) + + return policy + + def _get_job(self): + if self.job_queue.empty(): + task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) + job = None + + try: + job = self.job_queue.get(timeout=10) + except queue.Empty: + logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) + + return job + + def _get_current_policies(self, job): + current_policies = [] + main_player: "PlayerMeta" = None + for player in job.players: + current_policies.append(self._get_policy(player)) + if player.player_id == job.launch_player: + main_player = player + assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) + + if current_policies is not None: + assert len(current_policies) > 1, "battle collector needs more than 1 policies" + for p in current_policies: + p.reset() + else: + raise RuntimeError('current_policies should not be None') + + return main_player, current_policies + + + def __call__(self, ctx: "BattleContext"): + + ctx.job = self._get_job() + if ctx.job is None: + return + + collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) + + main_player, ctx.current_policies = self._get_current_policies(ctx.job) + ctx.agent_num = len(ctx.current_policies) + + _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) + if ctx.n_episode is None: + if _default_n_episode is None: + raise RuntimeError("Please specify collect n_episode") + else: + ctx.n_episode = _default_n_episode + assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" + + ctx.train_iter = main_player.total_agent_step + ctx.episode_info = [[] for _ in range(ctx.agent_num)] + ctx.remain_episode = ctx.n_episode + ctx.n_sample = self.n_sample + ctx.unroll_len = self.unroll_len + while True: + collector(ctx) + + if not ctx.job.is_eval and len(ctx.trajectories_list[0]) > 0: + ctx.trajectories = ctx.trajectories_list[0] + ctx.trajectory_end_idx = ctx.trajectory_end_idx_list[0] + self._gae_estimator(ctx) + actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + + ctx.trajectories_list = [] + ctx.trajectory_end_idx_list = [] + ctx.trajectories = [] + ctx.trajectory_end_idx = None + + if ctx.job_finish is True: + ctx.job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + ctx.episode_info = [[] for _ in range(ctx.agent_num)] + break + diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index c905a34025..a905431e19 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -79,7 +79,9 @@ 'discount_factor': 1.0, 'gae_lambda': 1.0, 'n_episode': 128, - 'n_rollout_samples': 32 + 'n_rollout_samples': 32, + 'n_sample': 64, + 'unroll_len': 2 }, 'eval': { 'evaluator': { diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 4c1da29564..6d5416a554 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -5,7 +5,7 @@ from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor +from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index f7d66787e3..f976c0f63d 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -5,7 +5,7 @@ from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor +from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage @@ -44,7 +44,7 @@ def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() with task.start(async_mode=True, ctx = BattleContext()): - league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): job = Job( diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index b8d7bcf565..b8308c4810 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -4,7 +4,7 @@ from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, LeagueCoordinator +from ding.framework.middleware import LeagueActor, LeagueCoordinator, StepLeagueActor from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage From c171d590b4befb968989ad38e7ce6897b0664aea Mon Sep 17 00:00:00 2001 From: Zhanhui Zhou Date: Sun, 5 Jun 2022 06:00:43 -0400 Subject: [PATCH 090/229] feature&optim(zzh): add DDPPO & add model-based SAC with lambda-return target & refactor MBRL pipeline (#332) * finish sac_nstep * draft ddppo * fix bugs * add multiprocessing * fix(jrn) * add configs add weight decay change from clip_norm to clip_value nan debug add 1e-6 fix numericall stable logcosh delete debug mode * temp save * temp save * finish mbsac and (WIP) create world model interface * fix * fix * grad clip * save before refactor mbsac * draft complete * add stale files * add docstring&comments * delete stale pipelines; update new configs * delete stale files * fix eval_freq in config * fix bug in termination_fn * polish * polish 1.1 * delete TanhTransform * polish 1.2 * polish 1.3 * fix test file name conflict * fix flake8 style * polish 1.4 * polish 1.5 * polish 1.6 * polish 1.7 * fix test_TanhTransform assertion * codecov * retrigger action --- README.md | 10 +- ding/config/config.py | 15 + ding/entry/__init__.py | 2 +- ding/entry/serial_entry_mbrl.py | 302 ++++++----- ding/entry/tests/test_serial_entry_mbrl.py | 29 + ding/model/template/__init__.py | 1 - ding/model/template/model_based/__init__.py | 1 - ding/model/template/model_based/mbpo.py | 424 --------------- ding/model/template/tests/test_mbpo.py | 45 -- ding/policy/command_mode_policy_instance.py | 6 + ding/policy/mbpolicy/__init__.py | 1 + ding/policy/mbpolicy/mbsac.py | 221 ++++++++ .../mbpolicy/tests/test_mbpolicy_utils.py | 36 ++ ding/policy/mbpolicy/tests/test_mbsac.py | 23 + ding/policy/mbpolicy/utils.py | 88 +++ ding/rl_utils/td.py | 33 +- ding/utils/__init__.py | 3 +- ding/utils/registry_factory.py | 2 + ding/worker/learner/base_learner.py | 7 +- ding/world_model/__init__.py | 2 + ding/world_model/base_world_model.py | 354 ++++++++++++ ding/world_model/ddppo.py | 509 ++++++++++++++++++ ding/world_model/mbpo.py | 255 +++++++++ ding/world_model/model/ensemble.py | 150 ++++++ ding/world_model/model/tests/test_ensemble.py | 29 + ding/world_model/tests/test_ddppo.py | 106 ++++ ding/world_model/tests/test_mbpo.py | 67 +++ ding/world_model/tests/test_world_model.py | 121 +++++ .../tests/test_world_model_utils.py | 19 + ding/world_model/utils.py | 25 + .../mbrl/pendulum_mbsac_ddppo_config.py | 116 ++++ .../config/mbrl/pendulum_mbsac_mbpo_config.py | 110 ++++ .../config/mbrl/pendulum_sac_ddppo_config.py | 121 +++++ .../config/mbrl/pendulum_sac_mbpo_config.py | 115 ++++ .../pendulum/envs/pendulum_env.py | 15 + .../config/ant_sac_mbpo_default_config.py | 135 ----- .../humanoid_sac_mbpo_default_config.py | 135 ----- .../mbrl/halfcheetah_mbsac_mbpo_config.py | 115 ++++ .../{ => mbrl}/halfcheetah_sac_mbpo_config.py | 89 ++- .../config/mbrl/hopper_mbsac_mbpo_config.py | 115 ++++ .../{ => mbrl}/hopper_sac_mbpo_config.py | 83 ++- .../config/mbrl/walker2d_mbsac_mbpo_config.py | 115 ++++ .../{ => mbrl}/walker2d_sac_mbpo_config.py | 87 ++- dizoo/mujoco/envs/__init__.py | 1 - dizoo/mujoco/envs/mujoco_env.py | 62 +++ dizoo/mujoco/envs/mujoco_gym_env.py | 16 +- dizoo/mujoco/envs/mujoco_model_env.py | 131 ----- 47 files changed, 3289 insertions(+), 1158 deletions(-) create mode 100644 ding/entry/tests/test_serial_entry_mbrl.py delete mode 100644 ding/model/template/model_based/__init__.py delete mode 100644 ding/model/template/model_based/mbpo.py delete mode 100644 ding/model/template/tests/test_mbpo.py create mode 100644 ding/policy/mbpolicy/__init__.py create mode 100644 ding/policy/mbpolicy/mbsac.py create mode 100644 ding/policy/mbpolicy/tests/test_mbpolicy_utils.py create mode 100644 ding/policy/mbpolicy/tests/test_mbsac.py create mode 100644 ding/policy/mbpolicy/utils.py create mode 100644 ding/world_model/__init__.py create mode 100644 ding/world_model/base_world_model.py create mode 100644 ding/world_model/ddppo.py create mode 100644 ding/world_model/mbpo.py create mode 100644 ding/world_model/model/ensemble.py create mode 100644 ding/world_model/model/tests/test_ensemble.py create mode 100644 ding/world_model/tests/test_ddppo.py create mode 100644 ding/world_model/tests/test_mbpo.py create mode 100644 ding/world_model/tests/test_world_model.py create mode 100644 ding/world_model/tests/test_world_model_utils.py create mode 100644 ding/world_model/utils.py create mode 100644 dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_ddppo_config.py create mode 100644 dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_mbpo_config.py create mode 100644 dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_ddppo_config.py create mode 100644 dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_mbpo_config.py delete mode 100644 dizoo/mujoco/config/ant_sac_mbpo_default_config.py delete mode 100644 dizoo/mujoco/config/humanoid_sac_mbpo_default_config.py create mode 100644 dizoo/mujoco/config/mbrl/halfcheetah_mbsac_mbpo_config.py rename dizoo/mujoco/config/{ => mbrl}/halfcheetah_sac_mbpo_config.py (51%) create mode 100644 dizoo/mujoco/config/mbrl/hopper_mbsac_mbpo_config.py rename dizoo/mujoco/config/{ => mbrl}/hopper_sac_mbpo_config.py (53%) create mode 100644 dizoo/mujoco/config/mbrl/walker2d_mbsac_mbpo_config.py rename dizoo/mujoco/config/{ => mbrl}/walker2d_sac_mbpo_config.py (52%) delete mode 100644 dizoo/mujoco/envs/mujoco_model_env.py diff --git a/README.md b/README.md index cfcebeb6aa..592b173849 100644 --- a/README.md +++ b/README.md @@ -169,10 +169,12 @@ ding -m serial -e cartpole -p dqn -s 0 | 32 | [ICM](https://arxiv.org/pdf/1705.05363.pdf) | ![exp](https://img.shields.io/badge/-exploration-orange) | [ICM中文文档](https://di-engine-docs.readthedocs.io/zh_CN/latest/12_policies/icm_zh.html)
[reward_model/icm](https://github.com/opendilab/DI-engine/blob/main/ding/reward_model/icm_reward_model.py) | python3 -u cartpole_ppo_icm_config.py | | 33 | [CQL](https://arxiv.org/pdf/2006.04779.pdf) | ![offline](https://img.shields.io/badge/-offlineRL-darkblue) | [policy/cql](https://github.com/opendilab/DI-engine/blob/main/ding/policy/cql.py) | python3 -u d4rl_cql_main.py | | 34 | [TD3BC](https://arxiv.org/pdf/2106.06860.pdf) | ![offline](https://img.shields.io/badge/-offlineRL-darkblue) | [policy/td3_bc](https://github.com/opendilab/DI-engine/blob/main/ding/policy/td3_bc.py) | python3 -u mujoco_td3_bc_main.py | -| 35 | [MBPO](https://arxiv.org/pdf/1906.08253.pdf) | ![mbrl](https://img.shields.io/badge/-ModelBasedRL-lightblue) | [model/template/model_based/mbpo](https://github.com/opendilab/DI-engine/blob/main/ding/model/template/model_based/mbpo.py) | python3 -u sac_halfcheetah_mopo_default_config.py | -| 36 | [PER](https://arxiv.org/pdf/1511.05952.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [worker/replay_buffer](https://github.com/opendilab/DI-engine/blob/main/ding/worker/replay_buffer/advanced_buffer.py) | `rainbow demo` | -| 37 | [GAE](https://arxiv.org/pdf/1506.02438.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [rl_utils/gae](https://github.com/opendilab/DI-engine/blob/main/ding/rl_utils/gae.py) | `ppo demo` | -| 38 | [ST-DIM](https://arxiv.org/pdf/1906.08226.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [torch_utils/loss/contrastive_loss](https://github.com/opendilab/DI-engine/blob/main/ding/torch_utils/loss/contrastive_loss.py) | ding -m serial -c cartpole_dqn_stdim_config.py -s 0 | +| 35 | MBSAC([SAC](https://arxiv.org/abs/1801.01290)+[VE](https://arxiv.org/abs/1803.00101)+[SVG](https://arxiv.org/abs/1510.09142)) | ![continuous](https://img.shields.io/badge/-continous-green)![mbrl](https://img.shields.io/badge/-ModelBasedRL-lightblue) | [policy/mbpolicy/mbsac](https://github.com/opendilab/DI-engine/blob/main/ding/policy/mbpolicy/mbsac.py) | python3 -u pendulum_mbsac_mbpo_config.py \ python3 -u pendulum_mbsac_ddppo_config.py | +| 36 | [MBPO](https://arxiv.org/pdf/1906.08253.pdf) | ![mbrl](https://img.shields.io/badge/-ModelBasedRL-lightblue) | [world_model/mbpo](https://github.com/opendilab/DI-engine/blob/main/ding/world_model/mbpo.py) | python3 -u pendulum_sac_mbpo_config.py | +| 37 | [DDPPO](https://openreview.net/forum?id=rzvOQrnclO0) | ![mbrl](https://img.shields.io/badge/-ModelBasedRL-lightblue) | [world_model/ddppo](https://github.com/opendilab/DI-engine/blob/main/ding/world_model/ddppo.py) | python3 -u pendulum_mbsac_ddppo_config.py | +| 38 | [PER](https://arxiv.org/pdf/1511.05952.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [worker/replay_buffer](https://github.com/opendilab/DI-engine/blob/main/ding/worker/replay_buffer/advanced_buffer.py) | `rainbow demo` | +| 39 | [GAE](https://arxiv.org/pdf/1506.02438.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [rl_utils/gae](https://github.com/opendilab/DI-engine/blob/main/ding/rl_utils/gae.py) | `ppo demo` | +| 40 | [ST-DIM](https://arxiv.org/pdf/1906.08226.pdf) | ![other](https://img.shields.io/badge/-other-lightgrey) | [torch_utils/loss/contrastive_loss](https://github.com/opendilab/DI-engine/blob/main/ding/torch_utils/loss/contrastive_loss.py) | ding -m serial -c cartpole_dqn_stdim_config.py -s 0 | ![discrete](https://img.shields.io/badge/-discrete-brightgreen) means discrete action space, which is only label in normal DRL algorithms (1-18) diff --git a/ding/config/config.py b/ding/config/config.py index ab3af8ea4c..286505382b 100644 --- a/ding/config/config.py +++ b/ding/config/config.py @@ -17,6 +17,7 @@ AdvancedReplayBuffer, get_parallel_commander_cls, get_parallel_collector_cls, get_buffer_cls, \ get_serial_collector_cls, MetricSerialEvaluator, BattleInteractionSerialEvaluator from ding.reward_model import get_reward_model_cls +from ding.world_model import get_world_model_cls from .utils import parallel_transform, parallel_transform_slurm, parallel_transform_k8s, save_config_formatted @@ -316,6 +317,7 @@ def compile_config( buffer: type = None, env: type = None, reward_model: type = None, + world_model: type = None, seed: int = 0, auto: bool = False, create_cfg: dict = None, @@ -378,6 +380,12 @@ def compile_config( reward_model_config = reward_model.default_config() else: reward_model_config = EasyDict() + if 'world_model' in create_cfg: + world_model = get_world_model_cls(create_cfg.world_model) + world_model_config = world_model.default_config() + world_model_config.update(create_cfg.world_model) + else: + world_model_config = EasyDict() else: if 'default_config' in dir(env): env_config = env.default_config() @@ -393,6 +401,11 @@ def compile_config( reward_model_config = EasyDict() else: reward_model_config = reward_model.default_config() + if world_model is None: + world_model_config = EasyDict() + else: + world_model_config = world_model.default_config() + world_model_config.update(create_cfg.world_model) policy_config.learn.learner = deep_merge_dicts( learner.default_config(), policy_config.learn.learner, @@ -409,6 +422,8 @@ def compile_config( default_config = EasyDict({'env': env_config, 'policy': policy_config}) if len(reward_model_config) > 0: default_config['reward_model'] = reward_model_config + if len(world_model_config) > 0: + default_config['world_model'] = world_model_config cfg = deep_merge_dicts(default_config, cfg) cfg.seed = seed # check important key in config diff --git a/ding/entry/__init__.py b/ding/entry/__init__.py index 7559b5d33d..a94d233f1a 100644 --- a/ding/entry/__init__.py +++ b/ding/entry/__init__.py @@ -9,7 +9,6 @@ from .serial_entry_reward_model_offpolicy import serial_pipeline_reward_model_offpolicy from .serial_entry_reward_model_onpolicy import serial_pipeline_reward_model_onpolicy from .serial_entry_bc import serial_pipeline_bc -from .serial_entry_mbrl import serial_pipeline_mbrl from .serial_entry_dqfd import serial_pipeline_dqfd from .serial_entry_r2d3 import serial_pipeline_r2d3 from .serial_entry_sqil import serial_pipeline_sqil @@ -25,3 +24,4 @@ from .serial_entry_preference_based_irl_onpolicy \ import serial_pipeline_preference_based_irl_onpolicy from .application_entry_drex_collect_data import drex_collecting_data +from .serial_entry_mbrl import serial_pipeline_dyna, serial_pipeline_dream diff --git a/ding/entry/serial_entry_mbrl.py b/ding/entry/serial_entry_mbrl.py index b2c306f37c..f1d493ed5f 100644 --- a/ding/entry/serial_entry_mbrl.py +++ b/ding/entry/serial_entry_mbrl.py @@ -1,110 +1,58 @@ from typing import Union, Optional, List, Any, Tuple -import os -import copy import torch -from ditk import logging +import os from functools import partial + from tensorboardX import SummaryWriter -from ding.envs import get_vec_env_setting, create_env_manager, create_model_env -from ding.model import create_model from ding.worker import BaseLearner, InteractionSerialEvaluator, BaseSerialCommander, create_buffer, \ - create_serial_collector + get_buffer_cls, create_serial_collector +from ding.world_model import WorldModel +from ding.worker import IBuffer +from ding.envs import get_vec_env_setting, create_env_manager from ding.config import read_config, compile_config +from ding.utils import set_pkg_seed, deep_merge_dicts from ding.policy import create_policy -from ding.utils import set_pkg_seed, read_file, save_file -from .utils import random_collect - - -def save_ckpt_fn(learner, env_model, envstep): - dirname = './{}/ckpt'.format(learner.exp_name) - if not os.path.exists(dirname): - try: - os.mkdir(dirname) - except FileExistsError: - pass - policy_prefix = 'policy_envstep_{}_'.format(envstep) - model_prefix = 'model_envstep_{}_'.format(envstep) - - def model_save_ckpt_fn(ckpt_name): - """ - Overview: - Save checkpoint in corresponding path. - Checkpoint info includes policy state_dict and iter num. - Arguments: - - engine (:obj:`BaseLearner`): the BaseLearner which needs to save checkpoint - """ - path = os.path.join(dirname, ckpt_name) - state_dict = env_model.state_dict() - save_file(path, state_dict) - learner.info('env model save ckpt in {}'.format(path)) - - def model_policy_save_ckpt_fn(ckpt_name): - model_save_ckpt_fn(model_prefix + ckpt_name) - learner.save_checkpoint(policy_prefix + ckpt_name) - - return model_policy_save_ckpt_fn - - -def serial_pipeline_mbrl( +from ding.world_model import create_world_model +from ding.entry.utils import random_collect + + +def mbrl_entry_setup( input_cfg: Union[str, Tuple[dict, dict]], seed: int = 0, env_setting: Optional[List[Any]] = None, model: Optional[torch.nn.Module] = None, - max_train_iter: Optional[int] = int(1e10), - max_env_step: Optional[int] = int(1e10), -) -> 'Policy': # noqa - """ - Overview: - Serial pipeline entry for model-based RL. - Arguments: - - input_cfg (:obj:`Union[str, Tuple[dict, dict]]`): Config in dict type. \ - ``str`` type means config file path. \ - ``Tuple[dict, dict]`` type means [user_config, create_cfg]. - - seed (:obj:`int`): Random seed. - - env_setting (:obj:`Optional[List[Any]]`): A list with 3 elements: \ - ``BaseEnv`` subclass, collector env config, and evaluator env config. - - model (:obj:`Optional[torch.nn.Module]`): Instance of torch.nn.Module. - - max_train_iter (:obj:`Optional[int]`): Maximum policy update iterations in training. - - max_env_step (:obj:`Optional[int]`): Maximum collected environment interaction steps. - Returns: - - policy (:obj:`Policy`): Converged policy. - """ - # Compile config +) -> Tuple: if isinstance(input_cfg, str): cfg, create_cfg = read_config(input_cfg) else: cfg, create_cfg = input_cfg - model_based_cfg = cfg.pop('model_based') create_cfg.policy.type = create_cfg.policy.type + '_command' env_fn = None if env_setting is None else env_setting[0] cfg = compile_config(cfg, seed=seed, env=env_fn, auto=True, create_cfg=create_cfg, save_cfg=True) - # Create logger - tb_logger = SummaryWriter(os.path.join('./{}/log/'.format(cfg.exp_name), 'serial')) - - # Create env if env_setting is None: env_fn, collector_env_cfg, evaluator_env_cfg = get_vec_env_setting(cfg.env) else: env_fn, collector_env_cfg, evaluator_env_cfg = env_setting + collector_env = create_env_manager(cfg.env.manager, [partial(env_fn, cfg=c) for c in collector_env_cfg]) evaluator_env = create_env_manager(cfg.env.manager, [partial(env_fn, cfg=c) for c in evaluator_env_cfg]) + collector_env.seed(cfg.seed) evaluator_env.seed(cfg.seed, dynamic_seed=False) + set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) - # Create env model - model_based_cfg.env_model.tb_logger = tb_logger - env_model = create_model(model_based_cfg.env_model) + # create logger + tb_logger = SummaryWriter(os.path.join('./{}/log/'.format(cfg.exp_name), 'serial')) - # Create model-based env - model_env = create_model_env(model_based_cfg.model_env) + # create world model + world_model = create_world_model(cfg.world_model, env_fn(cfg.env), tb_logger) - # Create policy - set_pkg_seed(cfg.seed, use_cuda=cfg.policy.cuda) + # create policy policy = create_policy(cfg.policy, model=model, enable_field=['learn', 'collect', 'eval', 'command']) - # Create worker components: learner, collector, evaluator, replay buffer, commander. + # create worker learner = BaseLearner(cfg.policy.learn.learner, policy.learn_mode, tb_logger, exp_name=cfg.exp_name) collector = create_serial_collector( cfg.policy.collect.collector, @@ -116,71 +64,181 @@ def serial_pipeline_mbrl( evaluator = InteractionSerialEvaluator( cfg.policy.eval.evaluator, evaluator_env, policy.eval_mode, tb_logger, exp_name=cfg.exp_name ) - replay_buffer = create_buffer(cfg.policy.other.replay_buffer, tb_logger=tb_logger, exp_name=cfg.exp_name) - imagine_buffer = create_buffer(model_based_cfg.imagine_buffer, tb_logger=tb_logger, exp_name=cfg.exp_name) + env_buffer = create_buffer(cfg.policy.other.replay_buffer, tb_logger=tb_logger, exp_name=cfg.exp_name) commander = BaseSerialCommander( - cfg.policy.other.commander, learner, collector, evaluator, replay_buffer, policy.command_mode + cfg.policy.other.commander, learner, collector, evaluator, env_buffer, policy.command_mode + ) + + return ( + cfg, + policy, + world_model, + env_buffer, + learner, + collector, + collector_env, + evaluator, + commander, + tb_logger, ) - # ========== - # Main loop - # ========== - # Learner's before_run hook. + +def create_img_buffer( + cfg: dict, input_cfg: Union[str, Tuple[dict, dict]], world_model: WorldModel, tb_logger: 'SummaryWriter' +) -> IBuffer: # noqa + if isinstance(input_cfg, str): + _, create_cfg = read_config(input_cfg) + else: + _, create_cfg = input_cfg + img_buffer_cfg = cfg.world_model.other.imagination_buffer + img_buffer_cfg.update(create_cfg.imagination_buffer) + buffer_cls = get_buffer_cls(img_buffer_cfg) + cfg.world_model.other.imagination_buffer.update(deep_merge_dicts(buffer_cls.default_config(), img_buffer_cfg)) + if img_buffer_cfg.type == 'elastic': + img_buffer_cfg.set_buffer_size = world_model.buffer_size_scheduler + img_buffer = create_buffer(cfg.world_model.other.imagination_buffer, tb_logger=tb_logger, exp_name=cfg.exp_name) + return img_buffer + + +def serial_pipeline_dyna( + input_cfg: Union[str, Tuple[dict, dict]], + seed: int = 0, + env_setting: Optional[List[Any]] = None, + model: Optional[torch.nn.Module] = None, + max_train_iter: Optional[int] = int(1e10), + max_env_step: Optional[int] = int(1e10), +) -> 'Policy': # noqa + """ + Overview: + Serial pipeline entry for dyna-style model-based RL. + Arguments: + - input_cfg (:obj:`Union[str, Tuple[dict, dict]]`): Config in dict type. \ + ``str`` type means config file path. \ + ``Tuple[dict, dict]`` type means [user_config, create_cfg]. + - seed (:obj:`int`): Random seed. + - env_setting (:obj:`Optional[List[Any]]`): A list with 3 elements: \ + ``BaseEnv`` subclass, collector env config, and evaluator env config. + - model (:obj:`Optional[torch.nn.Module]`): Instance of torch.nn.Module. + - max_train_iter (:obj:`Optional[int]`): Maximum policy update iterations in training. + - max_env_step (:obj:`Optional[int]`): Maximum collected environment interaction steps. + Returns: + - policy (:obj:`Policy`): Converged policy. + """ + cfg, policy, world_model, env_buffer, learner, collector, collector_env, evaluator, commander, tb_logger = \ + mbrl_entry_setup(input_cfg, seed, env_setting, model) + + img_buffer = create_img_buffer(cfg, input_cfg, world_model, tb_logger) + learner.call_hook('before_run') - # Accumulate plenty of data before the beginning of training. if cfg.policy.get('random_collect_size', 0) > 0: - random_collect(cfg.policy, policy, collector, collector_env, commander, replay_buffer) - # Train - batch_size = learner.policy.get_attribute('batch_size') - real_ratio = model_based_cfg['real_ratio'] - replay_batch_size = int(batch_size * real_ratio) - imagine_batch_size = batch_size - replay_batch_size - eval_buffer = [] + random_collect(cfg.policy, policy, collector, collector_env, commander, env_buffer) + while True: collect_kwargs = commander.step() - # Evaluate policy performance - if evaluator.should_eval(learner.train_iter): - stop, reward = evaluator.eval( - save_ckpt_fn(learner, env_model, collector.envstep), learner.train_iter, collector.envstep - ) + # eval the policy + if evaluator.should_eval(collector.envstep): + stop, reward = evaluator.eval(learner.save_checkpoint, learner.train_iter, collector.envstep) if stop: break - # Collect data by default config n_sample/n_episode - new_data = collector.collect(train_iter=learner.train_iter, policy_kwargs=collect_kwargs) - replay_buffer.push(new_data, cur_collector_envstep=collector.envstep) - eval_buffer.extend(new_data) - # Eval env_model - if env_model.should_eval(collector.envstep): - env_model.eval(eval_buffer, collector.envstep) - eval_buffer = [] - # Train env_model and use model_env to rollout - if env_model.should_train(collector.envstep): - env_model.train(replay_buffer, learner.train_iter, collector.envstep) - imagine_buffer.update(collector.envstep) - model_env.rollout( - env_model, policy.collect_mode, replay_buffer, imagine_buffer, collector.envstep, learner.train_iter + + # fill environment buffer + data = collector.collect(train_iter=learner.train_iter, policy_kwargs=collect_kwargs) + env_buffer.push(data, cur_collector_envstep=collector.envstep) + + # eval&train world model and fill imagination buffer + if world_model.should_eval(collector.envstep): + world_model.eval(env_buffer, collector.envstep, learner.train_iter) + if world_model.should_train(collector.envstep): + world_model.train(env_buffer, collector.envstep, learner.train_iter) + world_model.fill_img_buffer( + policy.collect_mode, env_buffer, img_buffer, collector.envstep, learner.train_iter ) - policy._rollout_length = model_env._set_rollout_length(collector.envstep) - # Learn policy from collected data + for i in range(cfg.policy.learn.update_per_collect): - # Learner will train ``update_per_collect`` times in one iteration. - replay_train_data = replay_buffer.sample(replay_batch_size, learner.train_iter) - imagine_batch_data = imagine_buffer.sample(imagine_batch_size, learner.train_iter) - if replay_train_data is None or imagine_batch_data is None: - break - train_data = replay_train_data + imagine_batch_data + batch_size = learner.policy.get_attribute('batch_size') + train_data = world_model.sample(env_buffer, img_buffer, batch_size, learner.train_iter) learner.train(train_data, collector.envstep) - # Priority is not support - # if learner.policy.get_attribute('priority'): - # replay_buffer.update(learner.priority_info) + if cfg.policy.on_policy: # On-policy algorithm must clear the replay buffer. - replay_buffer.clear() - imagine_buffer.clear() + env_buffer.clear() + img_buffer.clear() + + if collector.envstep >= max_env_step or learner.train_iter >= max_train_iter: + break + + learner.call_hook('after_run') + + return policy + + +def serial_pipeline_dream( + input_cfg: Union[str, Tuple[dict, dict]], + seed: int = 0, + env_setting: Optional[List[Any]] = None, + model: Optional[torch.nn.Module] = None, + max_train_iter: Optional[int] = int(1e10), + max_env_step: Optional[int] = int(1e10), +) -> 'Policy': # noqa + """ + Overview: + Serial pipeline entry for dreamer-style model-based RL. + Arguments: + - input_cfg (:obj:`Union[str, Tuple[dict, dict]]`): Config in dict type. \ + ``str`` type means config file path. \ + ``Tuple[dict, dict]`` type means [user_config, create_cfg]. + - seed (:obj:`int`): Random seed. + - env_setting (:obj:`Optional[List[Any]]`): A list with 3 elements: \ + ``BaseEnv`` subclass, collector env config, and evaluator env config. + - model (:obj:`Optional[torch.nn.Module]`): Instance of torch.nn.Module. + - max_train_iter (:obj:`Optional[int]`): Maximum policy update iterations in training. + - max_env_step (:obj:`Optional[int]`): Maximum collected environment interaction steps. + Returns: + - policy (:obj:`Policy`): Converged policy. + """ + cfg, policy, world_model, env_buffer, learner, collector, collector_env, evaluator, commander, tb_logger = \ + mbrl_entry_setup(input_cfg, seed, env_setting, model) + + learner.call_hook('before_run') + + if cfg.policy.get('random_collect_size', 0) > 0: + random_collect(cfg.policy, policy, collector, collector_env, commander, env_buffer) + + while True: + collect_kwargs = commander.step() + # eval the policy + if evaluator.should_eval(collector.envstep): + stop, reward = evaluator.eval(learner.save_checkpoint, learner.train_iter, collector.envstep) + if stop: + break + + # fill environment buffer + data = collector.collect(train_iter=learner.train_iter, policy_kwargs=collect_kwargs) + env_buffer.push(data, cur_collector_envstep=collector.envstep) + + # eval&train world model and fill imagination buffer + if world_model.should_eval(collector.envstep): + world_model.eval(env_buffer, collector.envstep, learner.train_iter) + if world_model.should_train(collector.envstep): + world_model.train(env_buffer, collector.envstep, learner.train_iter) + + update_per_collect = cfg.policy.learn.update_per_collect // world_model.rollout_length_scheduler( + collector.envstep + ) + update_per_collect = max(1, update_per_collect) + for i in range(update_per_collect): + batch_size = learner.policy.get_attribute('batch_size') + train_data = env_buffer.sample(batch_size, learner.train_iter) + # dreamer-style: use pure on-policy imagined rollout to train policy, + # which depends on the current envstep to decide the rollout length + learner.train( + train_data, collector.envstep, policy_kwargs=dict(world_model=world_model, envstep=collector.envstep) + ) + if collector.envstep >= max_env_step or learner.train_iter >= max_train_iter: break - # Learner's after_run hook. learner.call_hook('after_run') + return policy diff --git a/ding/entry/tests/test_serial_entry_mbrl.py b/ding/entry/tests/test_serial_entry_mbrl.py new file mode 100644 index 0000000000..57fff7a121 --- /dev/null +++ b/ding/entry/tests/test_serial_entry_mbrl.py @@ -0,0 +1,29 @@ +import pytest +from copy import deepcopy +from ding.entry.serial_entry_mbrl import serial_pipeline_dyna, serial_pipeline_dream + +from dizoo.classic_control.pendulum.config.mbrl.pendulum_sac_mbpo_config \ + import main_config as pendulum_sac_mbpo_main_config,\ + create_config as pendulum_sac_mbpo_create_config + +from dizoo.classic_control.pendulum.config.mbrl.pendulum_mbsac_mbpo_config \ + import main_config as pendulum_mbsac_mbpo_main_config,\ + create_config as pendulum_mbsac_mbpo_create_config + + +@pytest.mark.unittest +def test_sac_mbpo_dyna(): + config = [deepcopy(pendulum_sac_mbpo_main_config), deepcopy(pendulum_sac_mbpo_create_config)] + try: + serial_pipeline_dyna(config, seed=0, max_train_iter=1) + except Exception: + assert False, "pipeline fail" + + +@pytest.mark.unittest +def test_sac_mbpo_dream(): + config = [deepcopy(pendulum_mbsac_mbpo_main_config), deepcopy(pendulum_mbsac_mbpo_create_config)] + try: + serial_pipeline_dream(config, seed=0, max_train_iter=1) + except Exception: + assert False, "pipeline fail" diff --git a/ding/model/template/__init__.py b/ding/model/template/__init__.py index 21007aa43c..8e12e274d5 100644 --- a/ding/model/template/__init__.py +++ b/ding/model/template/__init__.py @@ -17,5 +17,4 @@ from .ngu import NGU from .qac_dist import QACDIST from .maqac import MAQAC, ContinuousMAQAC -from .model_based import EnsembleDynamicsModel from .vae import VanillaVAE diff --git a/ding/model/template/model_based/__init__.py b/ding/model/template/model_based/__init__.py deleted file mode 100644 index 21708a5cfc..0000000000 --- a/ding/model/template/model_based/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .mbpo import EnsembleDynamicsModel diff --git a/ding/model/template/model_based/mbpo.py b/ding/model/template/model_based/mbpo.py deleted file mode 100644 index c6034d5ee0..0000000000 --- a/ding/model/template/model_based/mbpo.py +++ /dev/null @@ -1,424 +0,0 @@ -import math -import copy -import itertools - -import numpy as np -import torch -import torch.nn as nn -import torch.nn.functional as F - -from ding.utils import MODEL_REGISTRY -from ding.torch_utils import Swish -from ding.utils.data import default_collate - - -class StandardScaler(nn.Module): - - def __init__(self, input_size): - super(StandardScaler, self).__init__() - self.register_buffer('std', torch.ones(1, input_size)) - self.register_buffer('mu', torch.zeros(1, input_size)) - - def fit(self, data): - std, mu = torch.std_mean(data, dim=0, keepdim=True) - std[std < 1e-12] = 1 - self.std.data.mul_(0.0).add_(std) - self.mu.data.mul_(0.0).add_(mu) - - def transform(self, data): - return (data - self.mu) / self.std - - def inverse_transform(self, data): - return self.std * data + self.mu - - -def init_weights(m): - - def truncated_normal_init(t, mean=0.0, std=0.01): - torch.nn.init.normal_(t, mean=mean, std=std) - while True: - cond = torch.logical_or(t < mean - 2 * std, t > mean + 2 * std) - if not torch.sum(cond): - break - t = torch.where(cond, torch.nn.init.normal_(torch.ones(t.shape), mean=mean, std=std), t) - return t - - if isinstance(m, nn.Linear) or isinstance(m, EnsembleFC): - input_dim = m.in_features - truncated_normal_init(m.weight, std=1 / (2 * np.sqrt(input_dim))) - m.bias.data.fill_(0.0) - - -class EnsembleFC(nn.Module): - __constants__ = ['in_features', 'out_features'] - in_features: int - out_features: int - ensemble_size: int - weight: torch.Tensor - - def __init__(self, in_features: int, out_features: int, ensemble_size: int, weight_decay: float = 0.) -> None: - super(EnsembleFC, self).__init__() - self.in_features = in_features - self.out_features = out_features - self.ensemble_size = ensemble_size - self.weight = nn.Parameter(torch.Tensor(ensemble_size, in_features, out_features)) - self.weight_decay = weight_decay - self.bias = nn.Parameter(torch.Tensor(ensemble_size, 1, out_features)) - - def forward(self, input: torch.Tensor) -> torch.Tensor: - assert input.shape[0] == self.ensemble_size and len(input.shape) == 3 - return torch.bmm(input, self.weight) + self.bias # w times x + b - - def extra_repr(self) -> str: - return 'in_features={}, out_features={}'.format(self.in_features, self.out_features) - - -class EnsembleModel(nn.Module): - - def __init__( - self, - state_size, - action_size, - reward_size, - ensemble_size, - hidden_size=200, - learning_rate=1e-3, - use_decay=False - ): - super(EnsembleModel, self).__init__() - - self.use_decay = use_decay - self.hidden_size = hidden_size - self.output_dim = state_size + reward_size - - self.nn1 = EnsembleFC(state_size + action_size, hidden_size, ensemble_size, weight_decay=0.000025) - self.nn2 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.00005) - self.nn3 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.000075) - self.nn4 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.000075) - self.nn5 = EnsembleFC(hidden_size, self.output_dim * 2, ensemble_size, weight_decay=0.0001) - self.max_logvar = nn.Parameter(torch.ones(1, self.output_dim).float() * 0.5, requires_grad=False) - self.min_logvar = nn.Parameter(torch.ones(1, self.output_dim).float() * -10, requires_grad=False) - self.swish = Swish() - - self.apply(init_weights) - - self.optimizer = torch.optim.Adam(self.parameters(), lr=learning_rate) - - def forward(self, x, ret_log_var=False): - nn1_output = self.swish(self.nn1(x)) - nn2_output = self.swish(self.nn2(nn1_output)) - nn3_output = self.swish(self.nn3(nn2_output)) - nn4_output = self.swish(self.nn4(nn3_output)) - nn5_output = self.nn5(nn4_output) - - mean, logvar = nn5_output.chunk(2, dim=2) - logvar = self.max_logvar - F.softplus(self.max_logvar - logvar) - logvar = self.min_logvar + F.softplus(logvar - self.min_logvar) - - if ret_log_var: - return mean, logvar - else: - return mean, torch.exp(logvar) - - def get_decay_loss(self): - decay_loss = 0. - for m in self.children(): - if isinstance(m, EnsembleFC): - decay_loss += m.weight_decay * torch.sum(torch.square(m.weight)) / 2. - return decay_loss - - def loss(self, mean, logvar, labels): - """ - mean, logvar: Ensemble_size x N x dim - labels: Ensemble_size x N x dim - """ - assert len(mean.shape) == len(logvar.shape) == len(labels.shape) == 3 - inv_var = torch.exp(-logvar) - # Average over batch and dim, sum over ensembles. - mse_loss_inv = (torch.pow(mean - labels, 2) * inv_var).mean(dim=(1, 2)) - var_loss = logvar.mean(dim=(1, 2)) - mse_loss = torch.pow(mean - labels, 2).mean(dim=(1, 2)) - total_loss = mse_loss_inv.sum() + var_loss.sum() - return total_loss, mse_loss - - def train(self, loss): - self.optimizer.zero_grad() - - loss += 0.01 * torch.sum(self.max_logvar) - 0.01 * torch.sum(self.min_logvar) - if self.use_decay: - loss += self.get_decay_loss() - - loss.backward() - - self.optimizer.step() - - -@MODEL_REGISTRY.register('mbpo') -class EnsembleDynamicsModel(nn.Module): - - def __init__( - self, - network_size, - elite_size, - state_size, - action_size, - reward_size=1, - hidden_size=200, - use_decay=False, - batch_size=256, - holdout_ratio=0.2, - max_epochs_since_update=5, - train_freq=250, - eval_freq=20, - cuda=True, - tb_logger=None - ): - super(EnsembleDynamicsModel, self).__init__() - self._cuda = cuda - self.tb_logger = tb_logger - - self.network_size = network_size - self.elite_size = elite_size - self.state_size = state_size - self.action_size = action_size - self.reward_size = reward_size - - self.ensemble_model = EnsembleModel( - state_size, action_size, reward_size, network_size, hidden_size, use_decay=use_decay - ) - self.scaler = StandardScaler(state_size + action_size) - if self._cuda: - self.cuda() - - self.last_train_step = 0 - self.last_eval_step = 0 - self.train_freq = train_freq - self.eval_freq = eval_freq - self.ensemble_mse_losses = [] - self.model_variances = [] - - self._max_epochs_since_update = max_epochs_since_update - self.batch_size = batch_size - self.holdout_ratio = holdout_ratio - self.elite_model_idxes = [] - - def should_eval(self, envstep): - """ - Overview: - Determine whether you need to start the evaluation mode, if the number of training has reached\ - the maximum number of times to start the evaluator, return True - """ - if (envstep - self.last_eval_step) < self.eval_freq or self.last_train_step == 0: - return False - return True - - def should_train(self, envstep): - """ - Overview: - Determine whether you need to start the evaluation mode, if the number of training has reached\ - the maximum number of times to start the evaluator, return True - """ - if (envstep - self.last_train_step) < self.train_freq: - return False - return True - - def eval(self, data, envstep): - # load data - data = default_collate(data) - data['done'] = data['done'].float() - data['weight'] = data.get('weight', None) - obs = data['obs'] - action = data['action'] - reward = data['reward'] - next_obs = data['next_obs'] - if len(reward.shape) == 1: - reward = reward.unsqueeze(1) - - # build eval samples - inputs = torch.cat([obs, action], dim=1) - labels = torch.cat([reward, next_obs - obs], dim=1) - if self._cuda: - inputs = inputs.cuda() - labels = labels.cuda() - - # normalize - inputs = self.scaler.transform(inputs) - - # repeat for ensemble - inputs = inputs[None, :, :].repeat(self.network_size, 1, 1) - labels = labels[None, :, :].repeat(self.network_size, 1, 1) - - # eval - with torch.no_grad(): - mean, logvar = self.ensemble_model(inputs, ret_log_var=True) - loss, mse_loss = self.ensemble_model.loss(mean, logvar, labels) - ensemble_mse_loss = torch.pow(mean.mean(0) - labels[0], 2) - model_variance = mean.var(0) - self.tb_logger.add_scalar('env_model_step/eval_mse_loss', mse_loss.mean().item(), envstep) - self.tb_logger.add_scalar('env_model_step/eval_ensemble_mse_loss', ensemble_mse_loss.mean().item(), envstep) - self.tb_logger.add_scalar('env_model_step/eval_model_variances', model_variance.mean().item(), envstep) - - self.last_eval_step = envstep - - def train(self, buffer, train_iter, envstep): - # load data - data = buffer.sample(buffer.count(), train_iter) - data = default_collate(data) - data['done'] = data['done'].float() - data['weight'] = data.get('weight', None) - obs = data['obs'] - action = data['action'] - reward = data['reward'] - next_obs = data['next_obs'] - if len(reward.shape) == 1: - reward = reward.unsqueeze(1) - # build train samples - inputs = torch.cat([obs, action], dim=1) - labels = torch.cat([reward, next_obs - obs], dim=1) - if self._cuda: - inputs = inputs.cuda() - labels = labels.cuda() - # train - logvar = self._train(inputs, labels) - self.last_train_step = envstep - # log - if self.tb_logger is not None: - for k, v in logvar.items(): - self.tb_logger.add_scalar('env_model_step/' + k, v, envstep) - - def _train(self, inputs, labels): - #split - num_holdout = int(inputs.shape[0] * self.holdout_ratio) - train_inputs, train_labels = inputs[num_holdout:], labels[num_holdout:] - holdout_inputs, holdout_labels = inputs[:num_holdout], labels[:num_holdout] - - #normalize - self.scaler.fit(train_inputs) - train_inputs = self.scaler.transform(train_inputs) - holdout_inputs = self.scaler.transform(holdout_inputs) - - #repeat for ensemble - holdout_inputs = holdout_inputs[None, :, :].repeat(self.network_size, 1, 1) - holdout_labels = holdout_labels[None, :, :].repeat(self.network_size, 1, 1) - - self._epochs_since_update = 0 - self._snapshots = {i: (-1, 1e10) for i in range(self.network_size)} - self._save_states() - for epoch in itertools.count(): - - train_idx = torch.stack([torch.randperm(train_inputs.shape[0]) - for _ in range(self.network_size)]).to(train_inputs.device) - self.mse_loss = [] - for start_pos in range(0, train_inputs.shape[0], self.batch_size): - idx = train_idx[:, start_pos:start_pos + self.batch_size] - train_input = train_inputs[idx] - train_label = train_labels[idx] - mean, logvar = self.ensemble_model(train_input, ret_log_var=True) - loss, mse_loss = self.ensemble_model.loss(mean, logvar, train_label) - self.ensemble_model.train(loss) - self.mse_loss.append(mse_loss.mean().item()) - self.mse_loss = sum(self.mse_loss) / len(self.mse_loss) - - with torch.no_grad(): - holdout_mean, holdout_logvar = self.ensemble_model(holdout_inputs, ret_log_var=True) - _, holdout_mse_loss = self.ensemble_model.loss(holdout_mean, holdout_logvar, holdout_labels) - self.curr_holdout_mse_loss = holdout_mse_loss.mean().item() - break_train = self._save_best(epoch, holdout_mse_loss) - if break_train: - break - - self._load_states() - with torch.no_grad(): - holdout_mean, holdout_logvar = self.ensemble_model(holdout_inputs, ret_log_var=True) - _, holdout_mse_loss = self.ensemble_model.loss(holdout_mean, holdout_logvar, holdout_labels) - sorted_loss, sorted_loss_idx = holdout_mse_loss.sort() - sorted_loss = sorted_loss.detach().cpu().numpy().tolist() - sorted_loss_idx = sorted_loss_idx.detach().cpu().numpy().tolist() - self.elite_model_idxes = sorted_loss_idx[:self.elite_size] - self.top_holdout_mse_loss = sorted_loss[0] - self.middle_holdout_mse_loss = sorted_loss[self.network_size // 2] - self.bottom_holdout_mse_loss = sorted_loss[-1] - self.best_holdout_mse_loss = holdout_mse_loss.mean().item() - return { - 'mse_loss': self.mse_loss, - 'curr_holdout_mse_loss': self.curr_holdout_mse_loss, - 'best_holdout_mse_loss': self.best_holdout_mse_loss, - 'top_holdout_mse_loss': self.top_holdout_mse_loss, - 'middle_holdout_mse_loss': self.middle_holdout_mse_loss, - 'bottom_holdout_mse_loss': self.bottom_holdout_mse_loss, - } - - def _save_states(self, ): - self._states = copy.deepcopy(self.state_dict()) - - def _save_state(self, id): - state_dict = self.state_dict() - for k, v in state_dict.items(): - if 'weight' in k or 'bias' in k: - self._states[k].data[id] = copy.deepcopy(v.data[id]) - - def _load_states(self): - self.load_state_dict(self._states) - - def _save_best(self, epoch, holdout_losses): - updated = False - for i in range(len(holdout_losses)): - current = holdout_losses[i] - _, best = self._snapshots[i] - improvement = (best - current) / best - if improvement > 0.01: - self._snapshots[i] = (epoch, current) - self._save_state(i) - # self._save_state(i) - updated = True - # improvement = (best - current) / best - - if updated: - self._epochs_since_update = 0 - else: - self._epochs_since_update += 1 - if self._epochs_since_update > self._max_epochs_since_update: - return True - else: - return False - - def batch_predict(self, obs, action): - # to predict a batch - # norm and repeat for ensemble - inputs = self.scaler.transform(torch.cat([obs, action], dim=-1)).unsqueeze(0).repeat(self.network_size, 1, 1) - # predict - outputs, _ = self.ensemble_model(inputs, ret_log_var=False) - outputs = outputs.mean(0) - return outputs[:, 0], outputs[:, 1:] + obs - - def predict(self, obs, act, batch_size=8192, deterministic=True): - # to predict the whole buffer and return cpu tensor - # form inputs - if self._cuda: - obs = obs.cuda() - act = act.cuda() - inputs = torch.cat([obs, act], dim=1) - inputs = self.scaler.transform(inputs) - # predict - ensemble_mean, ensemble_var = [], [] - for i in range(0, inputs.shape[0], batch_size): - input = inputs[i:i + batch_size].unsqueeze(0).repeat(self.network_size, 1, 1) - b_mean, b_var = self.ensemble_model(input, ret_log_var=False) - ensemble_mean.append(b_mean) - ensemble_var.append(b_var) - ensemble_mean = torch.cat(ensemble_mean, 1) - ensemble_var = torch.cat(ensemble_var, 1) - ensemble_mean[:, :, 1:] += obs.unsqueeze(0) - ensemble_std = ensemble_var.sqrt() - # sample from the predicted distribution - if deterministic: - ensemble_sample = ensemble_mean - else: - ensemble_sample = ensemble_mean + torch.randn(**ensemble_mean.shape).to(ensemble_mean) * ensemble_std - # sample from ensemble - model_idxes = torch.from_numpy(np.random.choice(self.elite_model_idxes, size=len(obs))).to(inputs.device) - batch_idxes = torch.arange(len(obs)).to(inputs.device) - sample = ensemble_sample[model_idxes, batch_idxes] - rewards, next_obs = sample[:, :1], sample[:, 1:] - - return rewards.detach().cpu(), next_obs.detach().cpu() diff --git a/ding/model/template/tests/test_mbpo.py b/ding/model/template/tests/test_mbpo.py deleted file mode 100644 index 445a931758..0000000000 --- a/ding/model/template/tests/test_mbpo.py +++ /dev/null @@ -1,45 +0,0 @@ -import pytest -from itertools import product -import torch -from ding.model.template.model_based import EnsembleDynamicsModel -from ding.torch_utils import is_differentiable - -# constants -network_size = 3 -elite_size = 2 -hidden_size = 20 -# arguments -state_size = [16] -action_size = [16] -reward_size = [1, 2] -args = list(product(*[state_size, action_size, reward_size])) - - -@pytest.mark.unittest -class TestMBPO: - - def output_check(self, model, outputs): - if isinstance(outputs, torch.Tensor): - loss = outputs.sum() - elif isinstance(outputs, list): - loss = sum([t.sum() for t in outputs]) - elif isinstance(outputs, dict): - loss = sum([v.sum() for v in outputs.values()]) - is_differentiable(loss, model) - - @pytest.mark.parametrize('state_size, action_size, reward_size', args) - def test_mbpo(self, state_size, action_size, reward_size): - states = torch.rand(1280, state_size) - actions = torch.rand(1280, action_size) - - next_states = states + actions.mean(1, keepdim=True) - rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) - - inputs = torch.cat([states, actions], dim=1) - labels = torch.cat([rewards, next_states], dim=1) - - model = EnsembleDynamicsModel( - network_size, elite_size, state_size, action_size, reward_size, hidden_size, use_decay=True, cuda=False - ) - - model._train(inputs[:640], labels[:640]) diff --git a/ding/policy/command_mode_policy_instance.py b/ding/policy/command_mode_policy_instance.py index 7e659d485c..e883049166 100644 --- a/ding/policy/command_mode_policy_instance.py +++ b/ding/policy/command_mode_policy_instance.py @@ -22,6 +22,7 @@ from .td3_vae import TD3VAEPolicy from .td3_bc import TD3BCPolicy from .sac import SACPolicy, SACDiscretePolicy +from .mbpolicy.mbsac import MBSACPolicy from .qmix import QMIXPolicy from .wqmix import WQMIXPolicy from .collaq import CollaQPolicy @@ -246,6 +247,11 @@ class SACCommandModePolicy(SACPolicy, DummyCommandModePolicy): pass +@POLICY_REGISTRY.register('mbsac_command') +class MBSACCommandModePolicy(MBSACPolicy, DummyCommandModePolicy): + pass + + @POLICY_REGISTRY.register('cql_command') class CQLCommandModePolicy(CQLPolicy, DummyCommandModePolicy): pass diff --git a/ding/policy/mbpolicy/__init__.py b/ding/policy/mbpolicy/__init__.py new file mode 100644 index 0000000000..7d528cd15b --- /dev/null +++ b/ding/policy/mbpolicy/__init__.py @@ -0,0 +1 @@ +from .mbsac import MBSACPolicy diff --git a/ding/policy/mbpolicy/mbsac.py b/ding/policy/mbpolicy/mbsac.py new file mode 100644 index 0000000000..37c3777d22 --- /dev/null +++ b/ding/policy/mbpolicy/mbsac.py @@ -0,0 +1,221 @@ +from typing import Dict, Any, List +from functools import partial +import copy + +import torch +from torch import Tensor +from torch import nn +from torch.distributions import Normal, Independent, TransformedDistribution, TanhTransform +from easydict import EasyDict + +from ding.torch_utils import to_device +from ding.utils import POLICY_REGISTRY, deep_merge_dicts +from ding.policy import SACPolicy +from ding.rl_utils import generalized_lambda_returns +from ding.policy.common_utils import default_preprocess_learn + +from .utils import q_evaluation + + +@POLICY_REGISTRY.register('mbsac') +class MBSACPolicy(SACPolicy): + """ + Overview: + Model based SAC with value expansion (arXiv: 1803.00101)\ + and value gradient (arXiv: 1510.09142) w.r.t lambda-return. + + Config: + == ==================== ======== ============= ================================== + ID Symbol Type Default Value Description + == ==================== ======== ============= ================================== + 1 ``learn._lambda`` float 0.8 | Lambda for TD-lambda return. + 2 ``learn.grad_clip` float 100.0 | Max norm of gradients. + 3 ``learn.sample_state`` bool True | Whether to sample states or tra- + | nsitions from environment buffer. + == ==================== ======== ============= ================================== + + .. note:: + For other configs, please refer to ding.policy.sac.SACPolicy. + """ + + config = dict( + learn=dict( + # (float) Lambda for TD-lambda return. + lambda_=0.8, + # (float) Max norm of gradients. + grad_clip=100, + # (bool) Whether to sample states or transitions from environment buffer. + sample_state=True, + ) + ) + + @classmethod + def default_config(cls: type) -> EasyDict: + cfg = copy.deepcopy(cls.config) + cfg = EasyDict(deep_merge_dicts(super().config, cfg)) + cfg.cfg_type = cls.__name__ + 'Dict' + return cfg + + def _init_learn(self) -> None: + super()._init_learn() + + self._lambda = self._cfg.learn.lambda_ + self._grad_clip = self._cfg.learn.grad_clip + self._sample_state = self._cfg.learn.sample_state + + self._target_model.requires_grad_(False) + + # TODO: auto alpha + self._auto_alpha = False + + # TODO: TanhTransform leads to NaN + def actor_fn(obs: Tensor): + # (mu, sigma) = self._learn_model.forward( + # obs, mode='compute_actor')['logit'] + # # enforce action bounds + # dist = TransformedDistribution( + # Independent(Normal(mu, sigma), 1), [TanhTransform()]) + # action = dist.rsample() + # log_prob = dist.log_prob(action) + # return action, -self._alpha.detach() * log_prob + (mu, sigma) = self._learn_model.forward(obs, mode='compute_actor')['logit'] + dist = Independent(Normal(mu, sigma), 1) + pred = dist.rsample() + action = torch.tanh(pred) + + log_prob = dist.log_prob( + pred + ) + 2 * (pred + torch.nn.functional.softplus(-2. * pred) - torch.log(torch.tensor(2.))).sum(-1) + return action, -self._alpha.detach() * log_prob + + self._actor_fn = actor_fn + + def critic_fn(obss: Tensor, actions: Tensor, model: nn.Module): + eval_data = {'obs': obss, 'action': actions} + q_values = model.forward(eval_data, mode='compute_critic')['q_value'] + return q_values + + self._critic_fn = critic_fn + + def _forward_learn(self, data: dict, world_model, envstep) -> Dict[str, Any]: + # preprocess data + data = default_preprocess_learn( + data, + use_priority=self._priority, + use_priority_IS_weight=self._cfg.priority_IS_weight, + ignore_done=self._cfg.learn.ignore_done, + use_nstep=False + ) + if self._cuda: + data = to_device(data, self._device) + + if len(data['action'].shape) == 1: + data['action'] = data['action'].unsqueeze(1) + + self._learn_model.train() + self._target_model.train() + + # TODO: use treetensor + # rollout length is determined by world_model.rollout_length_scheduler + if self._sample_state: + # data['reward'], ... are not used + obss, actions, rewards, aug_rewards, dones = \ + world_model.rollout(data['obs'], self._actor_fn, envstep) + else: + obss, actions, rewards, aug_rewards, dones = \ + world_model.rollout(data['next_obs'], self._actor_fn, envstep) + obss = torch.concat([data['obs'][None, :], obss]) + actions = torch.concat([data['action'][None, :], actions]) + rewards = torch.concat([data['reward'][None, :], rewards]) + aug_rewards = torch.concat([torch.zeros_like(data['reward'])[None, :], aug_rewards]) + dones = torch.concat([data['done'][None, :], dones]) + + # (T+1, B) + target_q_values = q_evaluation(obss, actions, partial(self._critic_fn, model=self._target_model)) + if self._twin_critic: + target_q_values = torch.min(target_q_values[0], target_q_values[1]) + aug_rewards + else: + target_q_values = target_q_values + aug_rewards + + # (T, B) + lambda_return = generalized_lambda_returns(target_q_values, rewards, self._gamma, self._lambda, dones[1:]) + + # (T, B) + # If S_t terminates, we should not consider loss from t+1,... + weight = (1 - dones[:-1].detach()).cumprod(dim=0) + + # (T+1, B) + q_values = q_evaluation(obss.detach(), actions.detach(), partial(self._critic_fn, model=self._learn_model)) + if self._twin_critic: + critic_loss = 0.5 * torch.square(q_values[0][:-1] - lambda_return.detach()) \ + + 0.5 * torch.square(q_values[1][:-1] - lambda_return.detach()) + else: + critic_loss = 0.5 * torch.square(q_values[:-1] - lambda_return.detach()) + + # value expansion loss + critic_loss = (critic_loss * weight).mean() + + # value gradient loss + policy_loss = -(lambda_return * weight).mean() + + # alpha_loss = None + + loss_dict = { + 'critic_loss': critic_loss, + 'policy_loss': policy_loss, + # 'alpha_loss': alpha_loss.detach(), + } + + norm_dict = self._update(loss_dict) + + # ============= + # after update + # ============= + self._forward_learn_cnt += 1 + # target update + self._target_model.update(self._learn_model.state_dict()) + + return { + 'cur_lr_q': self._optimizer_q.defaults['lr'], + 'cur_lr_p': self._optimizer_policy.defaults['lr'], + 'alpha': self._alpha.item(), + 'target_q_value': target_q_values.detach().mean().item(), + **norm_dict, + **loss_dict, + } + + def _update(self, loss_dict): + # update critic + self._optimizer_q.zero_grad() + loss_dict['critic_loss'].backward() + critic_norm = nn.utils.clip_grad_norm_(self._model.critic.parameters(), self._grad_clip) + self._optimizer_q.step() + # update policy + self._optimizer_policy.zero_grad() + loss_dict['policy_loss'].backward() + policy_norm = nn.utils.clip_grad_norm_(self._model.actor.parameters(), self._grad_clip) + self._optimizer_policy.step() + # update temperature + # self._alpha_optim.zero_grad() + # loss_dict['alpha_loss'].backward() + # self._alpha_optim.step() + return {'policy_norm': policy_norm, 'critic_norm': critic_norm} + + def _monitor_vars_learn(self) -> List[str]: + r""" + Overview: + Return variables' name if variables are to used in monitor. + Returns: + - vars (:obj:`List[str]`): Variables' name list. + """ + alpha_loss = ['alpha_loss'] if self._auto_alpha else [] + return [ + 'policy_loss', + 'critic_loss', + 'policy_norm', + 'critic_norm', + 'cur_lr_q', + 'cur_lr_p', + 'alpha', + 'target_q_value', + ] + alpha_loss diff --git a/ding/policy/mbpolicy/tests/test_mbpolicy_utils.py b/ding/policy/mbpolicy/tests/test_mbpolicy_utils.py new file mode 100644 index 0000000000..74636f45dc --- /dev/null +++ b/ding/policy/mbpolicy/tests/test_mbpolicy_utils.py @@ -0,0 +1,36 @@ +import pytest +import torch +from ding.policy.mbpolicy.utils import flatten_batch, unflatten_batch, q_evaluation + + +@pytest.mark.unittest +def test_flatten_unflattent_batch(): + T, B, C, H, W = 10, 20, 3, 255, 255 + data = torch.randn(T, B, C, H, W) + data, batch_dim = flatten_batch(data, nonbatch_dims=3) + assert data.shape == (T * B, C, H, W) and batch_dim == (T, B) + data = unflatten_batch(data, batch_dim) + assert data.shape == (T, B, C, H, W) + + T, B, N = 10, 20, 100 + data = torch.randn(T, B, N) + data, batch_dim = flatten_batch(data, nonbatch_dims=1) + assert data.shape == (T * B, N) and batch_dim == (T, B) + data = unflatten_batch(data, batch_dim) + assert data.shape == (T, B, N) + + +@pytest.mark.unittest +def test_q_evaluation(): + T, B, O, A = 10, 20, 100, 30 + obss = torch.randn(T, B, O) + actions = torch.randn(T, B, A) + + def fake_q_fn(obss, actions): + # obss: flatten_B * O + # actions: flatten_B * A + # return: flatten_B + return obss.sum(-1) + + q_value = q_evaluation(obss, actions, fake_q_fn) + assert q_value.shape == (T, B) diff --git a/ding/policy/mbpolicy/tests/test_mbsac.py b/ding/policy/mbpolicy/tests/test_mbsac.py new file mode 100644 index 0000000000..ab32ead675 --- /dev/null +++ b/ding/policy/mbpolicy/tests/test_mbsac.py @@ -0,0 +1,23 @@ +import pytest +import torch +from torch.distributions import Normal, Independent, TransformedDistribution, TanhTransform +from ding.policy.mbpolicy import MBSACPolicy + + +@pytest.mark.unittest +def test_TanhTransform(): + mu, sigma = torch.randn(3, 3), torch.ones(3, 3) + + dist = Independent(Normal(mu, sigma), 1) + pred = dist.rsample() + action = torch.tanh(pred) + + log_prob_1 = dist.log_prob(pred + ) + 2 * (pred + torch.nn.functional.softplus(-2. * pred) - + torch.log(torch.tensor(2.))).sum(-1) + + tanh_dist = TransformedDistribution(Independent(Normal(mu, sigma), 1), [TanhTransform()]) + + log_prob_2 = tanh_dist.log_prob(action) + + assert (log_prob_1 - log_prob_2).mean().abs() < 1e-5 diff --git a/ding/policy/mbpolicy/utils.py b/ding/policy/mbpolicy/utils.py new file mode 100644 index 0000000000..391401ca09 --- /dev/null +++ b/ding/policy/mbpolicy/utils.py @@ -0,0 +1,88 @@ +from typing import Callable, Tuple, Union + +from torch import Tensor, Size + + +def flatten_batch(x: Tensor, nonbatch_dims=1) -> Tuple[Tensor, Size]: + """ + Overview: + Flatten the first (dim - nonbatch_dims) dimensions of a tensor as batch dimension. + (T, B, X) => (T*B, X) + Arguments: + - x (:obj:`torch.Tensor`): the tensor to flatten + - nonbatch_dims (:obj:`int`): the number of dimensions that is not flattened as\ + batch dimension.z + Returns: + - x (:obj:`torch.Tensor`): the flattened tensor + - batch_dim: the flattened dimension of the original tensor, which can be used to\ + reverse the operation. + + Examples:: + + >>> x = torch.ones(10, 20, 4, 8) + >>> x, batch_dim = flatten_batch(x, 2) + >>> x.shape == (200, 4, 8) + >>> batch_dim == (10, 20) + """ + if nonbatch_dims > 0: + batch_dim = x.shape[:-nonbatch_dims] + x = x.view(-1, *(x.shape[-nonbatch_dims:])) + return x, batch_dim + else: + batch_dim = x.shape + x = x.view(-1) + return x, batch_dim + + +def unflatten_batch(x: Tensor, batch_dim: Union[Size, Tuple]) -> Tensor: + """ + Overview: + Unflatten the batch dimension of a tensor. + (T*B, X) => (T, B, X) + Arguments: + - x (:obj:`torch.Tensor`): the tensor to unflatten + - batch_dim (:obj:`torch.Size`): the dimensions that are flattened + Returns: + - x (:obj:`torch.Tensor`): the original unflattened tensor + + Examples:: + + >>> x = torch.ones(10, 20, 4, 8) + >>> x, batch_dim = flatten_batch(x, 2) + >>> x.shape == (200, 4, 8) + >>> batch_dim == (10, 20) + >>> x = unflatten_batch(x, batch_dim) + >>> x.shape == (10, 20, 4, 8) + """ + return x.view(*batch_dim, *x.shape[1:]) + + +def q_evaluation(obss: Tensor, actions: Tensor, q_critic_fn: Callable[[Tensor, Tensor], + Tensor]) -> Union[Tensor, Tuple[Tensor, Tensor]]: + """ + Overview: + Evaluate observation&action pairs along the trajectory + Arguments: + - obss (:obj:`torch.Tensor`): the observations along the trajectory + - actions (:obj:`torch.Size`): the actions along the trajectory + - q_critic_fn (:obj:`Callable`): the unified API Q(S_t, A_t) + Returns: + - q_value (:obj:`torch.Tensor`): the action-value function evaluated along the trajectory + Shapes: + N: time step + B: batch size + O: observation dimension + A: action dimension + + - obss: [N, B, O] + - actions: [N, B, A] + - q_value: [N, B] + + """ + obss, dim = flatten_batch(obss, 1) + actions, _ = flatten_batch(actions, 1) + q_values = q_critic_fn(obss, actions) + # twin critic + if isinstance(q_values, list): + return [unflatten_batch(q_values[0], dim), unflatten_batch(q_values[1], dim)] + return unflatten_batch(q_values, dim) diff --git a/ding/rl_utils/td.py b/ding/rl_utils/td.py index e72b519370..443ddcf00c 100644 --- a/ding/rl_utils/td.py +++ b/ding/rl_utils/td.py @@ -999,7 +999,11 @@ def td_lambda_error(data: namedtuple, gamma: float = 0.9, lambda_: float = 0.8) def generalized_lambda_returns( - bootstrap_values: torch.Tensor, rewards: torch.Tensor, gammas: float, lambda_: float + bootstrap_values: torch.Tensor, + rewards: torch.Tensor, + gammas: float, + lambda_: float, + done: Optional[torch.Tensor] = None ) -> torch.Tensor: r""" Overview: @@ -1014,6 +1018,8 @@ def generalized_lambda_returns( discount factor for each step (from 0 to T-1), of size [T_traj, batchsize] - lambda (:obj:`torch.Tensor` or :obj:`float`): determining the mix of bootstrapping vs further accumulation of multistep returns at each timestep, of size [T_traj, batchsize] + - done (:obj:`torch.Tensor` or :obj:`float`): + whether the episode done at current step (from 0 to T-1), of size [T_traj, batchsize] Returns: - return (:obj:`torch.Tensor`): Computed lambda return value for each state from 0 to T-1, of size [T_traj, batchsize] @@ -1023,11 +1029,15 @@ def generalized_lambda_returns( if not isinstance(lambda_, torch.Tensor): lambda_ = lambda_ * torch.ones_like(rewards) bootstrap_values_tp1 = bootstrap_values[1:, :] - return multistep_forward_view(bootstrap_values_tp1, rewards, gammas, lambda_) + return multistep_forward_view(bootstrap_values_tp1, rewards, gammas, lambda_, done) def multistep_forward_view( - bootstrap_values: torch.Tensor, rewards: torch.Tensor, gammas: float, lambda_: float + bootstrap_values: torch.Tensor, + rewards: torch.Tensor, + gammas: float, + lambda_: float, + done: Optional[torch.Tensor] = None ) -> torch.Tensor: r""" Overview: @@ -1041,9 +1051,6 @@ def multistep_forward_view( ``` Assuming the first dim of input tensors correspond to the index in batch - There is no special handling for terminal state value, - if some state has reached the terminal, just fill in zeros for values and rewards beyond terminal - (including the terminal state, which is, bootstrap_values[terminal] should also be 0) Arguments: - bootstrap_values (:obj:`torch.Tensor`): estimation of the value at *step 1 to T*, of size [T_traj, batchsize] - rewards (:obj:`torch.Tensor`): the returns from 0 to T-1, of size [T_traj, batchsize] @@ -1051,17 +1058,23 @@ def multistep_forward_view( - lambda (:obj:`torch.Tensor`): determining the mix of bootstrapping vs further accumulation of \ multistep returns at each timestep of size [T_traj, batchsize], the element for T-1 is ignored \ and effectively set to 0, as there is no information about future rewards. + - done (:obj:`torch.Tensor` or :obj:`float`): + whether the episode done at current step (from 0 to T-1), of size [T_traj, batchsize] Returns: - ret (:obj:`torch.Tensor`): Computed lambda return value \ for each state from 0 to T-1, of size [T_traj, batchsize] """ result = torch.empty_like(rewards) + if done is None: + done = torch.zeros_like(rewards) # Forced cutoff at the last one - result[-1, :] = rewards[-1, :] + gammas[-1, :] * bootstrap_values[-1, :] + result[-1, :] = rewards[-1, :] + (1 - done[-1, :]) * gammas[-1, :] * bootstrap_values[-1, :] discounts = gammas * lambda_ for t in reversed(range(rewards.size()[0] - 1)): - result[t, :] = rewards[t, :] \ - + discounts[t, :] * result[t + 1, :] \ - + (gammas[t, :] - discounts[t, :]) * bootstrap_values[t, :] + result[t, :] = rewards[t, :] + (1 - done[t, :]) * \ + ( + discounts[t, :] * result[t + 1, :] + + (gammas[t, :] - discounts[t, :]) * bootstrap_values[t, :] + ) return result diff --git a/ding/utils/__init__.py b/ding/utils/__init__.py index 608773c1af..b4229c4982 100644 --- a/ding/utils/__init__.py +++ b/ding/utils/__init__.py @@ -19,7 +19,8 @@ from .registry_factory import registries, POLICY_REGISTRY, ENV_REGISTRY, LEARNER_REGISTRY, COMM_LEARNER_REGISTRY, \ SERIAL_COLLECTOR_REGISTRY, PARALLEL_COLLECTOR_REGISTRY, COMM_COLLECTOR_REGISTRY, \ COMMANDER_REGISTRY, LEAGUE_REGISTRY, PLAYER_REGISTRY, MODEL_REGISTRY, ENV_MANAGER_REGISTRY, ENV_WRAPPER_REGISTRY, \ - REWARD_MODEL_REGISTRY, BUFFER_REGISTRY, DATASET_REGISTRY, SERIAL_EVALUATOR_REGISTRY, MQ_REGISTRY + REWARD_MODEL_REGISTRY, BUFFER_REGISTRY, DATASET_REGISTRY, SERIAL_EVALUATOR_REGISTRY, MQ_REGISTRY, \ + WORLD_MODEL_REGISTRY from .scheduler_helper import Scheduler from .segment_tree import SumSegmentTree, MinSegmentTree, SegmentTree from .slurm_helper import find_free_port_slurm, node_to_host, node_to_partition diff --git a/ding/utils/registry_factory.py b/ding/utils/registry_factory.py index 51e56f9375..b60ad917c8 100644 --- a/ding/utils/registry_factory.py +++ b/ding/utils/registry_factory.py @@ -18,6 +18,7 @@ DATASET_REGISTRY = Registry() SERIAL_EVALUATOR_REGISTRY = Registry() MQ_REGISTRY = Registry() +WORLD_MODEL_REGISTRY = Registry() registries = { 'policy': POLICY_REGISTRY, @@ -38,4 +39,5 @@ 'dataset': DATASET_REGISTRY, 'serial_evaluator': SERIAL_EVALUATOR_REGISTRY, 'message_queue': MQ_REGISTRY, + 'world_model': WORLD_MODEL_REGISTRY, } diff --git a/ding/worker/learner/base_learner.py b/ding/worker/learner/base_learner.py index ac89d763ac..0ceac89eea 100644 --- a/ding/worker/learner/base_learner.py +++ b/ding/worker/learner/base_learner.py @@ -177,7 +177,7 @@ def register_hook(self, hook: LearnerHook) -> None: """ add_learner_hook(self._hooks, hook) - def train(self, data: dict, envstep: int = -1) -> None: + def train(self, data: dict, envstep: int = -1, policy_kwargs: Optional[dict] = None) -> None: """ Overview: Given training data, implement network update for one iteration and update related variables. @@ -198,8 +198,11 @@ def train(self, data: dict, envstep: int = -1) -> None: assert hasattr(self, '_policy'), "please set learner policy" self.call_hook('before_iter') + if policy_kwargs is None: + policy_kwargs = {} + # Forward - log_vars = self._policy.forward(data) + log_vars = self._policy.forward(data, **policy_kwargs) # Update replay buffer's priority info if isinstance(log_vars, dict): diff --git a/ding/world_model/__init__.py b/ding/world_model/__init__.py new file mode 100644 index 0000000000..45cb5bea35 --- /dev/null +++ b/ding/world_model/__init__.py @@ -0,0 +1,2 @@ +from .base_world_model import WorldModel, DynaWorldModel, DreamWorldModel, HybridWorldModel, \ + get_world_model_cls, create_world_model diff --git a/ding/world_model/base_world_model.py b/ding/world_model/base_world_model.py new file mode 100644 index 0000000000..29f228d4c8 --- /dev/null +++ b/ding/world_model/base_world_model.py @@ -0,0 +1,354 @@ +from typing import Tuple, Callable +from collections import namedtuple +from abc import ABC, abstractmethod + +import torch +from torch import Tensor, nn +from easydict import EasyDict + +from ding.worker import IBuffer +from ding.envs import BaseEnv +from ding.utils import deep_merge_dicts +from ding.world_model.utils import get_rollout_length_scheduler + +from ding.utils import import_module, WORLD_MODEL_REGISTRY + + +def get_world_model_cls(cfg): + import_module(cfg.get('import_names', [])) + return WORLD_MODEL_REGISTRY.get(cfg.type) + + +def create_world_model(cfg, *args, **kwargs): + import_module(cfg.get('import_names', [])) + return WORLD_MODEL_REGISTRY.build(cfg.type, cfg, *args, **kwargs) + + +class WorldModel(ABC): + """ + Overview: + Abstract baseclass for world model. + + Interfaces: + should_train, should_eval, train, eval, step + """ + + config = dict( + train_freq=250, # w.r.t environment step + eval_freq=250, # w.r.t environment step + cuda=True, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=25, + ) + ) + + def __init__(self, cfg: dict, env: BaseEnv, tb_logger: 'SummaryWriter'): # noqa + self.cfg = cfg + self.env = env + self.tb_logger = tb_logger + + self._cuda = cfg.cuda + self.train_freq = cfg.train_freq + self.eval_freq = cfg.eval_freq + self.rollout_length_scheduler = get_rollout_length_scheduler(cfg.rollout_length_scheduler) + + self.last_train_step = 0 + self.last_eval_step = 0 + + @classmethod + def default_config(cls: type) -> EasyDict: + # can not call default_config() recursively + # because config will be overwritten by subclasses + merge_cfg = EasyDict(cfg_type=cls.__name__ + 'Dict') + while cls != ABC: + merge_cfg = deep_merge_dicts(merge_cfg, cls.config) + cls = cls.__base__ + return merge_cfg + + def should_train(self, envstep: int): + """ + Overview: + Check whether need to train world model. + """ + return (envstep - self.last_train_step) >= self.train_freq + + def should_eval(self, envstep: int): + """ + Overview: + Check whether need to evaluate world model. + """ + return (envstep - self.last_eval_step) >= self.eval_freq and self.last_train_step != 0 + + @abstractmethod + def train(self, env_buffer: IBuffer, envstep: int, train_iter: int): + """ + Overview: + Train world model using data from env_buffer. + Arguments: + - env_buffer (:obj:`IBuffer`): the buffer which collects real environment steps + - envstep (:obj:`int`): the current number of environment steps in real environment + - train_iter (:obj:`int`): the current number of policy training iterations + """ + raise NotImplementedError + + @abstractmethod + def eval(self, env_buffer: IBuffer, envstep: int, train_iter: int): + """ + Overview: + Evaluate world model using data from env_buffer. + Arguments: + - env_buffer (:obj:`IBuffer`): the buffer that collects real environment steps + - envstep (:obj:`int`): the current number of environment steps in real environment + - train_iter (:obj:`int`): the current number of policy training iterations + """ + raise NotImplementedError + + @abstractmethod + def step(self, obs: Tensor, action: Tensor) -> Tuple[Tensor, Tensor, Tensor]: + """ + Overview: + Take one step in world model. + Arguments: + - obs (:obj:`torch.Tensor`): current observations S_t + - action (:obj:`torch.Tensor`): current actions A_t + Returns: + - reward (:obj:`torch.Tensor`): rewards R_t + - next_obs (:obj:`torch.Tensor`): next observations S_t+1 + - done (:obj:`torch.Tensor`): whether the episodes ends + Shapes: + B: batch size + O: observation dimension + A: action dimension + + - obs: [B, O] + - action: [B, A] + - reward: [B, ] + - next_obs: [B, O] + - done: [B, ] + """ + raise NotImplementedError + + +class DynaWorldModel(WorldModel, ABC): + """ + Overview: + Dyna-style world model (summarized in arXiv: 1907.02057) which stores and\ + reuses imagination rollout in the imagination buffer. + + Interfaces: + sample, fill_img_buffer, should_train, should_eval, train, eval, step + """ + + config = dict( + other=dict( + real_ratio=0.05, + rollout_retain=4, + rollout_batch_size=100000, + imagination_buffer=dict( + type='elastic', + replay_buffer_size=6000000, + deepcopy=False, + enable_track_used_data=False, + # set_buffer_size=set_buffer_size, + periodic_thruput_seconds=60, + ), + ) + ) + + def __init__(self, cfg: dict, env: BaseEnv, tb_logger: 'SummaryWriter'): # noqa + super().__init__(cfg, env, tb_logger) + self.real_ratio = cfg.other.real_ratio + self.rollout_batch_size = cfg.other.rollout_batch_size + self.rollout_retain = cfg.other.rollout_retain + self.buffer_size_scheduler = \ + lambda x: self.rollout_length_scheduler(x) * self.rollout_batch_size * self.rollout_retain + + def sample(self, env_buffer: IBuffer, img_buffer: IBuffer, batch_size: int, train_iter: int) -> dict: + """ + Overview: + Sample from the combination of environment buffer and imagination buffer with\ + certain ratio to generate batched data for policy training. + Arguments: + - policy (:obj:`namedtuple`): policy in collect mode + - env_buffer (:obj:`IBuffer`): the buffer that collects real environment steps + - img_buffer (:obj:`IBuffer`): the buffer that collects imagination steps + - batch_size (:obj:`int`): the batch size for policy training + - train_iter (:obj:`int`): the current number of policy training iterations + Returns: + - data (:obj:`int`): the training data for policy training + """ + env_batch_size = int(batch_size * self.real_ratio) + img_batch_size = batch_size - env_batch_size + env_data = env_buffer.sample(env_batch_size, train_iter) + img_data = img_buffer.sample(img_batch_size, train_iter) + train_data = env_data + img_data + return train_data + + def fill_img_buffer( + self, policy: namedtuple, env_buffer: IBuffer, img_buffer: IBuffer, envstep: int, train_iter: int + ): + """ + Overview: + Sample from the env_buffer, rollouts to generate new data, and push them into the img_buffer. + Arguments: + - policy (:obj:`namedtuple`): policy in collect mode + - env_buffer (:obj:`IBuffer`): the buffer that collects real environment steps + - img_buffer (:obj:`IBuffer`): the buffer that collects imagination steps + - envstep (:obj:`int`): the current number of environment steps in real environment + - train_iter (:obj:`int`): the current number of policy training iterations + """ + from ding.torch_utils import to_tensor + from ding.envs import BaseEnvTimestep + from ding.worker.collector.base_serial_collector import to_tensor_transitions + + def step(obs, act): + # This function has the same input and output format as env manager's step + data_id = list(obs.keys()) + obs = torch.stack([obs[id] for id in data_id], dim=0) + act = torch.stack([act[id] for id in data_id], dim=0) + with torch.no_grad(): + rewards, next_obs, terminals = self.step(obs, act) + # terminals = self.termination_fn(next_obs) + timesteps = { + id: BaseEnvTimestep(n, r, d, {}) + for id, n, r, d in zip(data_id, + next_obs.cpu().numpy(), + rewards.cpu().numpy(), + terminals.cpu().numpy()) + } + return timesteps + + # set rollout length + rollout_length = self.rollout_length_scheduler(envstep) + # load data + data = env_buffer.sample(self.rollout_batch_size, train_iter, replace=True) + obs = {id: data[id]['obs'] for id in range(len(data))} + # rollout + buffer = [[] for id in range(len(obs))] + new_data = [] + for i in range(rollout_length): + # get action + obs = to_tensor(obs, dtype=torch.float32) + policy_output = policy.forward(obs) + actions = {id: output['action'] for id, output in policy_output.items()} + # predict next obs and reward + # timesteps = self.step(obs, actions, env_model) + timesteps = step(obs, actions) + obs_new = {} + for id, timestep in timesteps.items(): + transition = policy.process_transition(obs[id], policy_output[id], timestep) + transition['collect_iter'] = train_iter + buffer[id].append(transition) + if not timestep.done: + obs_new[id] = timestep.obs + if timestep.done or i + 1 == rollout_length: + transitions = to_tensor_transitions(buffer[id]) + train_sample = policy.get_train_sample(transitions) + new_data.extend(train_sample) + if len(obs_new) == 0: + break + obs = obs_new + + img_buffer.push(new_data, cur_collector_envstep=envstep) + + +class DreamWorldModel(WorldModel, ABC): + """ + Overview: + Dreamer-style world model which uses each imagination rollout only once\ + and backpropagate through time(rollout) to optimize policy. + + Interfaces: + rollout, should_train, should_eval, train, eval, step + """ + + def rollout(self, obs: Tensor, actor_fn: Callable[[Tensor], Tuple[Tensor, Tensor]], + envstep: int) -> Tuple[Tensor, Tensor, Tensor, Tensor, Tensor]: + """ + Overview: + Generate batched imagination rollouts starting from the current observations. + This function is useful for value gradients where the policy is optimized by BPTT. + Arguments: + - obs (:obj:`Tensor`): the current observations S_t + - actor_fn (:obj:`Callable`): the unified API (A_t, H_t) = pi(S_t) + - envstep (:obj:`int`): the current number of environment steps in real environment + Returns: + - obss (:obj:`Tensor`): S_t, ... S_t+n + - actions (:obj:`Tensor`): A_t, ..., A_t+n + - rewards (:obj:`Tensor`): R_t, ..., R_t+n-1 + - aug_rewards (:obj:`Tensor`): H_t', ..., H_t+n, this can be entropy bonus as in SAC,\ + otherwise it should be a zero tensor + - dones (:obj:`Tensor`): done_t, ..., done_t+n + Shapes: + N: time step + B: batch size + O: observation dimension + A: action dimension + + - obss: [N+1, B, O], where obss[0] are the real observations + - actions: [N+1, B, A] + - rewards: [N, B] + - aug_rewards: [N+1, B] + - dones: [N+1, B] + + .. note:: + - The rollout length is determined by rollout length scheduler. + + - actor_fn's inputs and outputs shape are similar to WorldModel.step() + """ + horizon = self.rollout_length_scheduler(envstep) + device = 'cuda' if self._cuda else 'cpu' + if isinstance(self, nn.Module): + # Rollouts should propagate gradients only to policy, + # so make sure that the world model is not updated by rollout. + self.requires_grad_(False) + obss = [obs] + actions = [] + rewards = [] + aug_rewards = [] # -temperature*logprob + dones = [torch.zeros_like(obs.sum(-1), device=device)] + for _ in range(horizon): + action, aug_reward = actor_fn(obs) + # done: probability of termination + reward, obs, done = self.step(obs, action) + if len(reward.shape) == 2: + reward = reward.squeeze(1) + if len(done.shape) == 2: + done = done.squeeze(1) + reward = reward + aug_reward + obss.append(obs) + actions.append(action) + rewards.append(reward) + aug_rewards.append(aug_reward) + dones.append(done) + action, aug_reward = actor_fn(obs) + actions.append(action) + aug_rewards.append(aug_reward) + if isinstance(self, nn.Module): + self.requires_grad_(True) + return ( + torch.stack(obss), + torch.stack(actions), + # rewards is an empty list when horizon=0 + torch.stack(rewards) if rewards else torch.tensor(rewards, device=device), + torch.stack(aug_rewards), + torch.stack(dones) + ) + + +class HybridWorldModel(DynaWorldModel, DreamWorldModel, ABC): + """ + Overview: + The hybrid model that combines reused and on-the-fly rollouts. + + Interfaces: + rollout, sample, fill_img_buffer, should_train, should_eval, train, eval, step + """ + + def __init__(self, cfg: dict, env: BaseEnv, tb_logger: 'SummaryWriter'): # noqa + DynaWorldModel.__init__(self, cfg, env, tb_logger) + DreamWorldModel.__init__(self, cfg, env, tb_logger) diff --git a/ding/world_model/ddppo.py b/ding/world_model/ddppo.py new file mode 100644 index 0000000000..3c2cfca675 --- /dev/null +++ b/ding/world_model/ddppo.py @@ -0,0 +1,509 @@ +import itertools +import numpy as np +import multiprocessing +import copy +import torch +from torch import nn + +from scipy.spatial import KDTree +from ding.utils import WORLD_MODEL_REGISTRY +from ding.utils.data import default_collate +from ding.world_model.base_world_model import HybridWorldModel +from ding.world_model.model.ensemble import EnsembleModel, StandardScaler + + +#======================= Helper functions ======================= +def get_neighbor_index(data, k): + """ + data: [B, N] + k: int + + ret: [B, k] + """ + data = data.cpu().numpy() + tree = KDTree(data) + global tree_query + + # tree_query = lambda datapoint: tree.query(datapoint, k=k+1)[1][1:] + def tree_query(datapoint): + return tree.query(datapoint, k=k + 1)[1][1:] + + # TODO: multiprocessing + pool = multiprocessing.Pool(processes=multiprocessing.cpu_count()) + nn_index = torch.from_numpy(np.array(list(pool.map(tree_query, data)), dtype=np.int32)).to(torch.long) + pool.close() + return nn_index + + +def get_batch_jacobian(net, x, noutputs): # x: b, in dim, noutpouts: out dim + x = x.unsqueeze(1) # b, 1 ,in_dim + n = x.size()[0] + x = x.repeat(1, noutputs, 1) # b, out_dim, in_dim + x.requires_grad_(True) + y = net(x) + upstream_gradient = torch.eye(noutputs).reshape(1, noutputs, noutputs).repeat(n, 1, 1).to(x.device) + re = torch.autograd.grad(y, x, upstream_gradient, create_graph=True)[0] + + return re + + +class EnsembleGradientModel(EnsembleModel): + + def train(self, loss, loss_reg, reg): + self.optimizer.zero_grad() + + loss += 0.01 * torch.sum(self.max_logvar) - 0.01 * torch.sum(self.min_logvar) + loss += reg * loss_reg + if self.use_decay: + loss += self.get_decay_loss() + + loss.backward() + + self.optimizer.step() + + +# TODO: derive from MBPO instead of implementing from scratch +@WORLD_MODEL_REGISTRY.register('ddppo') +class DDPPOWorldMode(HybridWorldModel, nn.Module): + """rollout model + gradient model""" + config = dict( + model=dict( + ensemble_size=7, + elite_size=5, + state_size=None, # has to be specified + action_size=None, # has to be specified + reward_size=1, + hidden_size=200, + use_decay=False, + batch_size=256, + holdout_ratio=0.2, + max_epochs_since_update=5, + deterministic_rollout=True, + # parameters for DDPPO + gradient_model=True, + k=3, + reg=1, + neighbor_pool_size=10000, + train_freq_gradient_model=250 + ), + ) + + def __init__(self, cfg, env, tb_logger): + HybridWorldModel.__init__(self, cfg, env, tb_logger) + nn.Module.__init__(self) + + cfg = cfg.model + self.ensemble_size = cfg.ensemble_size + self.elite_size = cfg.elite_size + self.state_size = cfg.state_size + self.action_size = cfg.action_size + self.reward_size = cfg.reward_size + self.hidden_size = cfg.hidden_size + self.use_decay = cfg.use_decay + self.batch_size = cfg.batch_size + self.holdout_ratio = cfg.holdout_ratio + self.max_epochs_since_update = cfg.max_epochs_since_update + self.deterministic_rollout = cfg.deterministic_rollout + # parameters for DDPPO + self.gradient_model = cfg.gradient_model + self.k = cfg.k + self.reg = cfg.reg + self.neighbor_pool_size = cfg.neighbor_pool_size + self.train_freq_gradient_model = cfg.train_freq_gradient_model + + self.rollout_model = EnsembleModel( + self.state_size, + self.action_size, + self.reward_size, + self.ensemble_size, + self.hidden_size, + use_decay=self.use_decay + ) + self.scaler = StandardScaler(self.state_size + self.action_size) + + self.ensemble_mse_losses = [] + self.model_variances = [] + self.elite_model_idxes = [] + + if self.gradient_model: + self.gradient_model = EnsembleGradientModel( + self.state_size, + self.action_size, + self.reward_size, + self.ensemble_size, + self.hidden_size, + use_decay=self.use_decay + ) + self.elite_model_idxes_gradient_model = [] + + self.last_train_step_gradient_model = 0 + + if self._cuda: + self.cuda() + + def step(self, obs, act, batch_size=8192): + + class Predict(torch.autograd.Function): + # TODO: align rollout_model elites with gradient_model elites + # use different model for forward and backward + @staticmethod + def forward(ctx, x): + ctx.save_for_backward(x) + mean, var = self.rollout_model(x, ret_log_var=False) + return torch.concat([mean, var], dim=-1) + + @staticmethod + def backward(ctx, grad_out): + x, = ctx.saved_tensors + with torch.enable_grad(): + x = x.detach() + x.requires_grad_(True) + mean, var = self.gradient_model(x, ret_log_var=False) + y = torch.concat([mean, var], dim=-1) + return torch.autograd.grad(y, x, grad_outputs=grad_out, create_graph=True) + + if len(act.shape) == 1: + act = act.unsqueeze(1) + if self._cuda: + obs = obs.cuda() + act = act.cuda() + inputs = torch.cat([obs, act], dim=1) + inputs = self.scaler.transform(inputs) + # predict + ensemble_mean, ensemble_var = [], [] + for i in range(0, inputs.shape[0], batch_size): + input = inputs[i:i + batch_size].unsqueeze(0).repeat(self.ensemble_size, 1, 1) + if not torch.is_grad_enabled() or not self.gradient_model: + b_mean, b_var = self.rollout_model(input, ret_log_var=False) + else: + # use gradient model to compute gradients during backward pass + output = Predict.apply(input) + b_mean, b_var = output.chunk(2, dim=2) + ensemble_mean.append(b_mean) + ensemble_var.append(b_var) + ensemble_mean = torch.cat(ensemble_mean, 1) + ensemble_var = torch.cat(ensemble_var, 1) + ensemble_mean[:, :, 1:] += obs.unsqueeze(0) + ensemble_std = ensemble_var.sqrt() + # sample from the predicted distribution + if self.deterministic_rollout: + ensemble_sample = ensemble_mean + else: + ensemble_sample = ensemble_mean + torch.randn_like(ensemble_mean).to(ensemble_mean) * ensemble_std + # sample from ensemble + model_idxes = torch.from_numpy(np.random.choice(self.elite_model_idxes, size=len(obs))).to(inputs.device) + batch_idxes = torch.arange(len(obs)).to(inputs.device) + sample = ensemble_sample[model_idxes, batch_idxes] + rewards, next_obs = sample[:, :1], sample[:, 1:] + + return rewards, next_obs, self.env.termination_fn(next_obs) + + def eval(self, env_buffer, envstep, train_iter): + data = env_buffer.sample(self.eval_freq, train_iter) + data = default_collate(data) + data['done'] = data['done'].float() + data['weight'] = data.get('weight', None) + obs = data['obs'] + action = data['action'] + reward = data['reward'] + next_obs = data['next_obs'] + if len(reward.shape) == 1: + reward = reward.unsqueeze(1) + if len(action.shape) == 1: + action = action.unsqueeze(1) + + # build eval samples + inputs = torch.cat([obs, action], dim=1) + labels = torch.cat([reward, next_obs - obs], dim=1) + if self._cuda: + inputs = inputs.cuda() + labels = labels.cuda() + + # normalize + inputs = self.scaler.transform(inputs) + + # repeat for ensemble + inputs = inputs.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + labels = labels.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + + # eval + with torch.no_grad(): + mean, logvar = self.rollout_model(inputs, ret_log_var=True) + loss, mse_loss = self.rollout_model.loss(mean, logvar, labels) + ensemble_mse_loss = torch.pow(mean.mean(0) - labels[0], 2) + model_variance = mean.var(0) + self.tb_logger.add_scalar('env_model_step/eval_mse_loss', mse_loss.mean().item(), envstep) + self.tb_logger.add_scalar('env_model_step/eval_ensemble_mse_loss', ensemble_mse_loss.mean().item(), envstep) + self.tb_logger.add_scalar('env_model_step/eval_model_variances', model_variance.mean().item(), envstep) + + self.last_eval_step = envstep + + def train(self, env_buffer, envstep, train_iter): + + def train_sample(data) -> tuple: + data = default_collate(data) + data['done'] = data['done'].float() + data['weight'] = data.get('weight', None) + obs = data['obs'] + action = data['action'] + reward = data['reward'] + next_obs = data['next_obs'] + if len(reward.shape) == 1: + reward = reward.unsqueeze(1) + if len(action.shape) == 1: + action = action.unsqueeze(1) + # build train samples + inputs = torch.cat([obs, action], dim=1) + labels = torch.cat([reward, next_obs - obs], dim=1) + if self._cuda: + inputs = inputs.cuda() + labels = labels.cuda() + return inputs, labels + + logvar = dict() + + data = env_buffer.sample(env_buffer.count(), train_iter) + inputs, labels = train_sample(data) + logvar.update(self._train_rollout_model(inputs, labels)) + + if self.gradient_model: + # update neighbor pool + if (envstep - self.last_train_step_gradient_model) >= self.train_freq_gradient_model: + n = min(env_buffer.count(), self.neighbor_pool_size) + self.neighbor_pool = env_buffer.sample(n, train_iter, sample_range=slice(-n, None)) + inputs_reg, labels_reg = train_sample(self.neighbor_pool) + logvar.update(self._train_gradient_model(inputs, labels, inputs_reg, labels_reg)) + self.last_train_step_gradient_model = envstep + + self.last_train_step = envstep + + # log + if self.tb_logger is not None: + for k, v in logvar.items(): + self.tb_logger.add_scalar('env_model_step/' + k, v, envstep) + + def _train_rollout_model(self, inputs, labels): + #split + num_holdout = int(inputs.shape[0] * self.holdout_ratio) + train_inputs, train_labels = inputs[num_holdout:], labels[num_holdout:] + holdout_inputs, holdout_labels = inputs[:num_holdout], labels[:num_holdout] + + #normalize + self.scaler.fit(train_inputs) + train_inputs = self.scaler.transform(train_inputs) + holdout_inputs = self.scaler.transform(holdout_inputs) + + #repeat for ensemble + holdout_inputs = holdout_inputs.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + holdout_labels = holdout_labels.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + + self._epochs_since_update = 0 + self._snapshots = {i: (-1, 1e10) for i in range(self.ensemble_size)} + self._save_states() + for epoch in itertools.count(): + + train_idx = torch.stack([torch.randperm(train_inputs.shape[0]) + for _ in range(self.ensemble_size)]).to(train_inputs.device) + self.mse_loss = [] + for start_pos in range(0, train_inputs.shape[0], self.batch_size): + idx = train_idx[:, start_pos:start_pos + self.batch_size] + train_input = train_inputs[idx] + train_label = train_labels[idx] + mean, logvar = self.rollout_model(train_input, ret_log_var=True) + loss, mse_loss = self.rollout_model.loss(mean, logvar, train_label) + self.rollout_model.train(loss) + self.mse_loss.append(mse_loss.mean().item()) + self.mse_loss = sum(self.mse_loss) / len(self.mse_loss) + + with torch.no_grad(): + holdout_mean, holdout_logvar = self.rollout_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.rollout_model.loss(holdout_mean, holdout_logvar, holdout_labels) + self.curr_holdout_mse_loss = holdout_mse_loss.mean().item() + break_train = self._save_best(epoch, holdout_mse_loss) + if break_train: + break + + self._load_states() + with torch.no_grad(): + holdout_mean, holdout_logvar = self.rollout_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.rollout_model.loss(holdout_mean, holdout_logvar, holdout_labels) + sorted_loss, sorted_loss_idx = holdout_mse_loss.sort() + sorted_loss = sorted_loss.detach().cpu().numpy().tolist() + sorted_loss_idx = sorted_loss_idx.detach().cpu().numpy().tolist() + self.elite_model_idxes = sorted_loss_idx[:self.elite_size] + self.top_holdout_mse_loss = sorted_loss[0] + self.middle_holdout_mse_loss = sorted_loss[self.ensemble_size // 2] + self.bottom_holdout_mse_loss = sorted_loss[-1] + self.best_holdout_mse_loss = holdout_mse_loss.mean().item() + return { + 'rollout_model/mse_loss': self.mse_loss, + 'rollout_model/curr_holdout_mse_loss': self.curr_holdout_mse_loss, + 'rollout_model/best_holdout_mse_loss': self.best_holdout_mse_loss, + 'rollout_model/top_holdout_mse_loss': self.top_holdout_mse_loss, + 'rollout_model/middle_holdout_mse_loss': self.middle_holdout_mse_loss, + 'rollout_model/bottom_holdout_mse_loss': self.bottom_holdout_mse_loss, + } + + def _get_jacobian(self, model, train_input_reg): + """ + train_input_reg: [ensemble_size, B, state_size+action_size] + + ret: [ensemble_size, B, state_size+reward_size, state_size+action_size] + """ + + def func(x): + x = x.view(self.ensemble_size, -1, self.state_size + self.action_size) + state = x[:, :, :self.state_size] + x = self.scaler.transform(x) + y, _ = model(x) + # y[:, :, self.reward_size:] += state, inplace operation leads to error + null = torch.zeros_like(y) + null[:, :, self.reward_size:] += state + y = y + null + + return y.view(-1, self.state_size + self.reward_size, self.state_size + self.reward_size) + + # reshape input + train_input_reg = train_input_reg.view(-1, self.state_size + self.action_size) + jacobian = get_batch_jacobian(func, train_input_reg, self.state_size + self.reward_size) + + # reshape jacobian + return jacobian.view( + self.ensemble_size, -1, self.state_size + self.reward_size, self.state_size + self.action_size + ) + + def _train_gradient_model(self, inputs, labels, inputs_reg, labels_reg): + #split + num_holdout = int(inputs.shape[0] * self.holdout_ratio) + train_inputs, train_labels = inputs[num_holdout:], labels[num_holdout:] + holdout_inputs, holdout_labels = inputs[:num_holdout], labels[:num_holdout] + + #normalize + # self.scaler.fit(train_inputs) + train_inputs = self.scaler.transform(train_inputs) + holdout_inputs = self.scaler.transform(holdout_inputs) + + #repeat for ensemble + holdout_inputs = holdout_inputs.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + holdout_labels = holdout_labels.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + + #no split and normalization on regulation data + train_inputs_reg, train_labels_reg = inputs_reg, labels_reg + + neighbor_index = get_neighbor_index(train_inputs_reg, self.k) + neighbor_inputs = train_inputs_reg[neighbor_index] # [N, k, state_size+action_size] + neighbor_labels = train_labels_reg[neighbor_index] # [N, k, state_size+reward_size] + neighbor_inputs_distance = (neighbor_inputs - train_inputs_reg.unsqueeze(1)) # [N, k, state_size+action_size] + neighbor_labels_distance = (neighbor_labels - train_labels_reg.unsqueeze(1)) # [N, k, state_size+reward_size] + + self._epochs_since_update = 0 + self._snapshots = {i: (-1, 1e10) for i in range(self.ensemble_size)} + self._save_states() + for epoch in itertools.count(): + + train_idx = torch.stack([torch.randperm(train_inputs.shape[0]) + for _ in range(self.ensemble_size)]).to(train_inputs.device) + + train_idx_reg = torch.stack([torch.randperm(train_inputs_reg.shape[0]) + for _ in range(self.ensemble_size)]).to(train_inputs_reg.device) + + self.mse_loss = [] + self.grad_loss = [] + for start_pos in range(0, train_inputs.shape[0], self.batch_size): + idx = train_idx[:, start_pos:start_pos + self.batch_size] + train_input = train_inputs[idx] + train_label = train_labels[idx] + mean, logvar = self.gradient_model(train_input, ret_log_var=True) + loss, mse_loss = self.gradient_model.loss(mean, logvar, train_label) + + # regulation loss + if start_pos % train_inputs_reg.shape[0] < (start_pos + self.batch_size) % train_inputs_reg.shape[0]: + idx_reg = train_idx_reg[:, start_pos % train_inputs_reg.shape[0]:(start_pos + self.batch_size) % + train_inputs_reg.shape[0]] + else: + idx_reg = train_idx_reg[:, 0:(start_pos + self.batch_size) % train_inputs_reg.shape[0]] + + train_input_reg = train_inputs_reg[idx_reg] + neighbor_input_distance = neighbor_inputs_distance[idx_reg + ] # [ensemble_size, B, k, state_size+action_size] + neighbor_label_distance = neighbor_labels_distance[idx_reg + ] # [ensemble_size, B, k, state_size+reward_size] + + jacobian = self._get_jacobian(self.gradient_model, train_input_reg).unsqueeze(2).repeat_interleave( + self.k, dim=2 + ) # [ensemble_size, B, k(repeat), state_size+reward_size, state_size+action_size] + + directional_derivative = (jacobian @ neighbor_input_distance.unsqueeze(-1)).squeeze( + -1 + ) # [ensemble_size, B, k, state_size+reward_size] + + loss_reg = torch.pow((neighbor_label_distance - directional_derivative), + 2).sum(0).mean() # sumed over network + + self.gradient_model.train(loss, loss_reg, self.reg) + self.mse_loss.append(mse_loss.mean().item()) + self.grad_loss.append(loss_reg.item()) + + self.mse_loss = sum(self.mse_loss) / len(self.mse_loss) + self.grad_loss = sum(self.grad_loss) / len(self.grad_loss) + + with torch.no_grad(): + holdout_mean, holdout_logvar = self.gradient_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.gradient_model.loss(holdout_mean, holdout_logvar, holdout_labels) + self.curr_holdout_mse_loss = holdout_mse_loss.mean().item() + break_train = self._save_best(epoch, holdout_mse_loss) + if break_train: + break + + self._load_states() + with torch.no_grad(): + holdout_mean, holdout_logvar = self.gradient_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.gradient_model.loss(holdout_mean, holdout_logvar, holdout_labels) + sorted_loss, sorted_loss_idx = holdout_mse_loss.sort() + sorted_loss = sorted_loss.detach().cpu().numpy().tolist() + sorted_loss_idx = sorted_loss_idx.detach().cpu().numpy().tolist() + self.elite_model_idxes_gradient_model = sorted_loss_idx[:self.elite_size] + self.top_holdout_mse_loss = sorted_loss[0] + self.middle_holdout_mse_loss = sorted_loss[self.ensemble_size // 2] + self.bottom_holdout_mse_loss = sorted_loss[-1] + self.best_holdout_mse_loss = holdout_mse_loss.mean().item() + return { + 'gradient_model/mse_loss': self.mse_loss, + 'gradient_model/grad_loss': self.grad_loss, + 'gradient_model/curr_holdout_mse_loss': self.curr_holdout_mse_loss, + 'gradient_model/best_holdout_mse_loss': self.best_holdout_mse_loss, + 'gradient_model/top_holdout_mse_loss': self.top_holdout_mse_loss, + 'gradient_model/middle_holdout_mse_loss': self.middle_holdout_mse_loss, + 'gradient_model/bottom_holdout_mse_loss': self.bottom_holdout_mse_loss, + } + + def _save_states(self, ): + self._states = copy.deepcopy(self.state_dict()) + + def _save_state(self, id): + state_dict = self.state_dict() + for k, v in state_dict.items(): + if 'weight' in k or 'bias' in k: + self._states[k].data[id] = copy.deepcopy(v.data[id]) + + def _load_states(self): + self.load_state_dict(self._states) + + def _save_best(self, epoch, holdout_losses): + updated = False + for i in range(len(holdout_losses)): + current = holdout_losses[i] + _, best = self._snapshots[i] + improvement = (best - current) / best + if improvement > 0.01: + self._snapshots[i] = (epoch, current) + self._save_state(i) + # self._save_state(i) + updated = True + # improvement = (best - current) / best + + if updated: + self._epochs_since_update = 0 + else: + self._epochs_since_update += 1 + return self._epochs_since_update > self.max_epochs_since_update diff --git a/ding/world_model/mbpo.py b/ding/world_model/mbpo.py new file mode 100644 index 0000000000..c748192500 --- /dev/null +++ b/ding/world_model/mbpo.py @@ -0,0 +1,255 @@ +import itertools +import numpy as np +import copy +import torch +from torch import nn + +from ding.utils import WORLD_MODEL_REGISTRY +from ding.utils.data import default_collate +from ding.world_model.base_world_model import HybridWorldModel +from ding.world_model.model.ensemble import EnsembleModel, StandardScaler + + +@WORLD_MODEL_REGISTRY.register('mbpo') +class MBPOWorldModel(HybridWorldModel, nn.Module): + config = dict( + model=dict( + ensemble_size=7, + elite_size=5, + state_size=None, + action_size=None, + reward_size=1, + hidden_size=200, + use_decay=False, + batch_size=256, + holdout_ratio=0.2, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ) + + def __init__(self, cfg, env, tb_logger): + HybridWorldModel.__init__(self, cfg, env, tb_logger) + nn.Module.__init__(self) + + cfg = cfg.model + self.ensemble_size = cfg.ensemble_size + self.elite_size = cfg.elite_size + self.state_size = cfg.state_size + self.action_size = cfg.action_size + self.reward_size = cfg.reward_size + self.hidden_size = cfg.hidden_size + self.use_decay = cfg.use_decay + self.batch_size = cfg.batch_size + self.holdout_ratio = cfg.holdout_ratio + self.max_epochs_since_update = cfg.max_epochs_since_update + self.deterministic_rollout = cfg.deterministic_rollout + + self.ensemble_model = EnsembleModel( + self.state_size, + self.action_size, + self.reward_size, + self.ensemble_size, + self.hidden_size, + use_decay=self.use_decay + ) + self.scaler = StandardScaler(self.state_size + self.action_size) + + if self._cuda: + self.cuda() + + self.ensemble_mse_losses = [] + self.model_variances = [] + self.elite_model_idxes = [] + + def step(self, obs, act, batch_size=8192): + if len(act.shape) == 1: + act = act.unsqueeze(1) + if self._cuda: + obs = obs.cuda() + act = act.cuda() + inputs = torch.cat([obs, act], dim=1) + inputs = self.scaler.transform(inputs) + # predict + ensemble_mean, ensemble_var = [], [] + for i in range(0, inputs.shape[0], batch_size): + input = inputs[i:i + batch_size].unsqueeze(0).repeat(self.ensemble_size, 1, 1) + b_mean, b_var = self.ensemble_model(input, ret_log_var=False) + ensemble_mean.append(b_mean) + ensemble_var.append(b_var) + ensemble_mean = torch.cat(ensemble_mean, 1) + ensemble_var = torch.cat(ensemble_var, 1) + ensemble_mean[:, :, 1:] += obs.unsqueeze(0) + ensemble_std = ensemble_var.sqrt() + # sample from the predicted distribution + if self.deterministic_rollout: + ensemble_sample = ensemble_mean + else: + ensemble_sample = ensemble_mean + torch.randn_like(ensemble_mean).to(ensemble_mean) * ensemble_std + # sample from ensemble + model_idxes = torch.from_numpy(np.random.choice(self.elite_model_idxes, size=len(obs))).to(inputs.device) + batch_idxes = torch.arange(len(obs)).to(inputs.device) + sample = ensemble_sample[model_idxes, batch_idxes] + rewards, next_obs = sample[:, :1], sample[:, 1:] + + return rewards, next_obs, self.env.termination_fn(next_obs) + + def eval(self, env_buffer, envstep, train_iter): + data = env_buffer.sample(self.eval_freq, train_iter) + data = default_collate(data) + data['done'] = data['done'].float() + data['weight'] = data.get('weight', None) + obs = data['obs'] + action = data['action'] + reward = data['reward'] + next_obs = data['next_obs'] + if len(reward.shape) == 1: + reward = reward.unsqueeze(1) + if len(action.shape) == 1: + action = action.unsqueeze(1) + + # build eval samples + inputs = torch.cat([obs, action], dim=1) + labels = torch.cat([reward, next_obs - obs], dim=1) + if self._cuda: + inputs = inputs.cuda() + labels = labels.cuda() + + # normalize + inputs = self.scaler.transform(inputs) + + # repeat for ensemble + inputs = inputs.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + labels = labels.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + + # eval + with torch.no_grad(): + mean, logvar = self.ensemble_model(inputs, ret_log_var=True) + loss, mse_loss = self.ensemble_model.loss(mean, logvar, labels) + ensemble_mse_loss = torch.pow(mean.mean(0) - labels[0], 2) + model_variance = mean.var(0) + self.tb_logger.add_scalar('env_model_step/eval_mse_loss', mse_loss.mean().item(), envstep) + self.tb_logger.add_scalar('env_model_step/eval_ensemble_mse_loss', ensemble_mse_loss.mean().item(), envstep) + self.tb_logger.add_scalar('env_model_step/eval_model_variances', model_variance.mean().item(), envstep) + + self.last_eval_step = envstep + + def train(self, env_buffer, envstep, train_iter): + data = env_buffer.sample(env_buffer.count(), train_iter) + data = default_collate(data) + data['done'] = data['done'].float() + data['weight'] = data.get('weight', None) + obs = data['obs'] + action = data['action'] + reward = data['reward'] + next_obs = data['next_obs'] + if len(reward.shape) == 1: + reward = reward.unsqueeze(1) + if len(action.shape) == 1: + action = action.unsqueeze(1) + # build train samples + inputs = torch.cat([obs, action], dim=1) + labels = torch.cat([reward, next_obs - obs], dim=1) + if self._cuda: + inputs = inputs.cuda() + labels = labels.cuda() + # train + logvar = self._train(inputs, labels) + self.last_train_step = envstep + # log + if self.tb_logger is not None: + for k, v in logvar.items(): + self.tb_logger.add_scalar('env_model_step/' + k, v, envstep) + + def _train(self, inputs, labels): + #split + num_holdout = int(inputs.shape[0] * self.holdout_ratio) + train_inputs, train_labels = inputs[num_holdout:], labels[num_holdout:] + holdout_inputs, holdout_labels = inputs[:num_holdout], labels[:num_holdout] + + #normalize + self.scaler.fit(train_inputs) + train_inputs = self.scaler.transform(train_inputs) + holdout_inputs = self.scaler.transform(holdout_inputs) + + #repeat for ensemble + holdout_inputs = holdout_inputs.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + holdout_labels = holdout_labels.unsqueeze(0).repeat(self.ensemble_size, 1, 1) + + self._epochs_since_update = 0 + self._snapshots = {i: (-1, 1e10) for i in range(self.ensemble_size)} + self._save_states() + for epoch in itertools.count(): + + train_idx = torch.stack([torch.randperm(train_inputs.shape[0]) + for _ in range(self.ensemble_size)]).to(train_inputs.device) + self.mse_loss = [] + for start_pos in range(0, train_inputs.shape[0], self.batch_size): + idx = train_idx[:, start_pos:start_pos + self.batch_size] + train_input = train_inputs[idx] + train_label = train_labels[idx] + mean, logvar = self.ensemble_model(train_input, ret_log_var=True) + loss, mse_loss = self.ensemble_model.loss(mean, logvar, train_label) + self.ensemble_model.train(loss) + self.mse_loss.append(mse_loss.mean().item()) + self.mse_loss = sum(self.mse_loss) / len(self.mse_loss) + + with torch.no_grad(): + holdout_mean, holdout_logvar = self.ensemble_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.ensemble_model.loss(holdout_mean, holdout_logvar, holdout_labels) + self.curr_holdout_mse_loss = holdout_mse_loss.mean().item() + break_train = self._save_best(epoch, holdout_mse_loss) + if break_train: + break + + self._load_states() + with torch.no_grad(): + holdout_mean, holdout_logvar = self.ensemble_model(holdout_inputs, ret_log_var=True) + _, holdout_mse_loss = self.ensemble_model.loss(holdout_mean, holdout_logvar, holdout_labels) + sorted_loss, sorted_loss_idx = holdout_mse_loss.sort() + sorted_loss = sorted_loss.detach().cpu().numpy().tolist() + sorted_loss_idx = sorted_loss_idx.detach().cpu().numpy().tolist() + self.elite_model_idxes = sorted_loss_idx[:self.elite_size] + self.top_holdout_mse_loss = sorted_loss[0] + self.middle_holdout_mse_loss = sorted_loss[self.ensemble_size // 2] + self.bottom_holdout_mse_loss = sorted_loss[-1] + self.best_holdout_mse_loss = holdout_mse_loss.mean().item() + return { + 'mse_loss': self.mse_loss, + 'curr_holdout_mse_loss': self.curr_holdout_mse_loss, + 'best_holdout_mse_loss': self.best_holdout_mse_loss, + 'top_holdout_mse_loss': self.top_holdout_mse_loss, + 'middle_holdout_mse_loss': self.middle_holdout_mse_loss, + 'bottom_holdout_mse_loss': self.bottom_holdout_mse_loss, + } + + def _save_states(self, ): + self._states = copy.deepcopy(self.state_dict()) + + def _save_state(self, id): + state_dict = self.state_dict() + for k, v in state_dict.items(): + if 'weight' in k or 'bias' in k: + self._states[k].data[id] = copy.deepcopy(v.data[id]) + + def _load_states(self): + self.load_state_dict(self._states) + + def _save_best(self, epoch, holdout_losses): + updated = False + for i in range(len(holdout_losses)): + current = holdout_losses[i] + _, best = self._snapshots[i] + improvement = (best - current) / best + if improvement > 0.01: + self._snapshots[i] = (epoch, current) + self._save_state(i) + # self._save_state(i) + updated = True + # improvement = (best - current) / best + + if updated: + self._epochs_since_update = 0 + else: + self._epochs_since_update += 1 + return self._epochs_since_update > self.max_epochs_since_update diff --git a/ding/world_model/model/ensemble.py b/ding/world_model/model/ensemble.py new file mode 100644 index 0000000000..87433fd8c5 --- /dev/null +++ b/ding/world_model/model/ensemble.py @@ -0,0 +1,150 @@ +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F + +from ding.torch_utils import Swish + + +class StandardScaler(nn.Module): + + def __init__(self, input_size: int): + super(StandardScaler, self).__init__() + self.register_buffer('std', torch.ones(1, input_size)) + self.register_buffer('mu', torch.zeros(1, input_size)) + + def fit(self, data: torch.Tensor): + std, mu = torch.std_mean(data, dim=0, keepdim=True) + std[std < 1e-12] = 1 + self.std.data.mul_(0.0).add_(std) + self.mu.data.mul_(0.0).add_(mu) + + def transform(self, data: torch.Tensor): + return (data - self.mu) / self.std + + def inverse_transform(self, data: torch.Tensor): + return self.std * data + self.mu + + +class EnsembleFC(nn.Module): + __constants__ = ['in_features', 'out_features'] + in_features: int + out_features: int + ensemble_size: int + weight: torch.Tensor + + def __init__(self, in_features: int, out_features: int, ensemble_size: int, weight_decay: float = 0.) -> None: + super(EnsembleFC, self).__init__() + self.in_features = in_features + self.out_features = out_features + self.ensemble_size = ensemble_size + self.weight = nn.Parameter(torch.zeros(ensemble_size, in_features, out_features)) + self.weight_decay = weight_decay + self.bias = nn.Parameter(torch.zeros(ensemble_size, 1, out_features)) + + def forward(self, input: torch.Tensor) -> torch.Tensor: + assert input.shape[0] == self.ensemble_size and len(input.shape) == 3 + return torch.bmm(input, self.weight) + self.bias # w times x + b + + def extra_repr(self) -> str: + return 'in_features={}, out_features={}, ensemble_size={}, weight_decay={}'.format( + self.in_features, self.out_features, self.ensemble_size, self.weight_decay + ) + + +class EnsembleModel(nn.Module): + + def __init__( + self, + state_size, + action_size, + reward_size, + ensemble_size, + hidden_size=200, + learning_rate=1e-3, + use_decay=False + ): + super(EnsembleModel, self).__init__() + + self.use_decay = use_decay + self.hidden_size = hidden_size + self.output_dim = state_size + reward_size + + self.nn1 = EnsembleFC(state_size + action_size, hidden_size, ensemble_size, weight_decay=0.000025) + self.nn2 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.00005) + self.nn3 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.000075) + self.nn4 = EnsembleFC(hidden_size, hidden_size, ensemble_size, weight_decay=0.000075) + self.nn5 = EnsembleFC(hidden_size, self.output_dim * 2, ensemble_size, weight_decay=0.0001) + self.max_logvar = nn.Parameter(torch.ones(1, self.output_dim).float() * 0.5, requires_grad=False) + self.min_logvar = nn.Parameter(torch.ones(1, self.output_dim).float() * -10, requires_grad=False) + self.swish = Swish() + + def init_weights(m: nn.Module): + + def truncated_normal_init(t, mean: float = 0.0, std: float = 0.01): + torch.nn.init.normal_(t, mean=mean, std=std) + while True: + cond = torch.logical_or(t < mean - 2 * std, t > mean + 2 * std) + if not torch.sum(cond): + break + t = torch.where(cond, torch.nn.init.normal_(torch.ones(t.shape), mean=mean, std=std), t) + return t + + if isinstance(m, nn.Linear) or isinstance(m, EnsembleFC): + input_dim = m.in_features + truncated_normal_init(m.weight, std=1 / (2 * np.sqrt(input_dim))) + m.bias.data.fill_(0.0) + + self.apply(init_weights) + + self.optimizer = torch.optim.Adam(self.parameters(), lr=learning_rate) + + def forward(self, x: torch.Tensor, ret_log_var: bool = False): + x = self.swish(self.nn1(x)) + x = self.swish(self.nn2(x)) + x = self.swish(self.nn3(x)) + x = self.swish(self.nn4(x)) + x = self.nn5(x) + + mean, logvar = x.chunk(2, dim=2) + logvar = self.max_logvar - F.softplus(self.max_logvar - logvar) + logvar = self.min_logvar + F.softplus(logvar - self.min_logvar) + + if ret_log_var: + return mean, logvar + else: + return mean, torch.exp(logvar) + + def get_decay_loss(self): + decay_loss = 0. + for m in self.modules(): + if isinstance(m, EnsembleFC): + decay_loss += m.weight_decay * torch.sum(torch.square(m.weight)) / 2. + return decay_loss + + def loss(self, mean: torch.Tensor, logvar: torch.Tensor, labels: torch.Tensor): + """ + mean, logvar: Ensemble_size x N x dim + labels: Ensemble_size x N x dim + """ + assert len(mean.shape) == len(logvar.shape) == len(labels.shape) == 3 + inv_var = torch.exp(-logvar) + # Average over batch and dim, sum over ensembles. + mse_loss_inv = (torch.pow(mean - labels, 2) * inv_var).mean(dim=(1, 2)) + var_loss = logvar.mean(dim=(1, 2)) + with torch.no_grad(): + # Used only for logging. + mse_loss = torch.pow(mean - labels, 2).mean(dim=(1, 2)) + total_loss = mse_loss_inv.sum() + var_loss.sum() + return total_loss, mse_loss + + def train(self, loss: torch.Tensor): + self.optimizer.zero_grad() + + loss += 0.01 * torch.sum(self.max_logvar) - 0.01 * torch.sum(self.min_logvar) + if self.use_decay: + loss += self.get_decay_loss() + + loss.backward() + + self.optimizer.step() diff --git a/ding/world_model/model/tests/test_ensemble.py b/ding/world_model/model/tests/test_ensemble.py new file mode 100644 index 0000000000..8dcaf9395f --- /dev/null +++ b/ding/world_model/model/tests/test_ensemble.py @@ -0,0 +1,29 @@ +import pytest +import torch +from itertools import product +from ding.world_model.model.ensemble import EnsembleFC, EnsembleModel + +# arguments +state_size = [16] +action_size = [16, 1] +reward_size = [1] +args = list(product(*[state_size, action_size, reward_size])) + + +@pytest.mark.unittest +def test_EnsembleFC(): + in_dim, out_dim, ensemble_size, B = 4, 8, 7, 64 + fc = EnsembleFC(in_dim, out_dim, ensemble_size) + x = torch.randn(ensemble_size, B, in_dim) + y = fc(x) + assert y.shape == (ensemble_size, B, out_dim) + + +@pytest.mark.parametrize('state_size, action_size, reward_size', args) +def test_EnsembleModel(state_size, action_size, reward_size): + ensemble_size, B = 7, 64 + model = EnsembleModel(state_size, action_size, reward_size, ensemble_size) + x = torch.randn(ensemble_size, B, state_size + action_size) + y = model(x) + assert len(y) == 2 + assert y[0].shape == y[1].shape == (ensemble_size, B, state_size + reward_size) diff --git a/ding/world_model/tests/test_ddppo.py b/ding/world_model/tests/test_ddppo.py new file mode 100644 index 0000000000..0f9f67bd18 --- /dev/null +++ b/ding/world_model/tests/test_ddppo.py @@ -0,0 +1,106 @@ +import pytest +import torch +from torch import nn + +from itertools import product +from easydict import EasyDict +from ding.world_model.ddppo import DDPPOWorldMode, get_batch_jacobian, get_neighbor_index +from ding.utils import deep_merge_dicts + +# arguments +state_size = [16] +action_size = [16, 1] +reward_size = [1] +args = list(product(*[state_size, action_size, reward_size])) + + +@pytest.mark.unittest +class TestDDPPO: + + def get_world_model(self, state_size, action_size, reward_size): + cfg = DDPPOWorldMode.default_config() + cfg = deep_merge_dicts( + cfg, dict(cuda=False, model=dict(state_size=state_size, action_size=action_size, reward_size=reward_size)) + ) + fake_env = EasyDict(termination_fn=lambda obs: torch.zeros_like(obs.sum(-1)).bool()) + return DDPPOWorldMode(cfg, fake_env, None) + + def test_get_neighbor_index(self): + k = 2 + data = torch.tensor([[0, 0, 0], [0, 0, 1], [0, 0, -1], [5, 0, 0], [5, 0, 1], [5, 0, -1]]) + idx = get_neighbor_index(data, k) + target_idx = torch.tensor([[2, 1], [0, 2], [0, 1], [5, 4], [3, 5], [3, 4]]) + assert (idx - target_idx).sum() == 0 + + def test_get_batch_jacobian(self): + B, in_dim, out_dim = 64, 4, 8 + net = nn.Linear(in_dim, out_dim) + x = torch.randn(B, in_dim) + jacobian = get_batch_jacobian(net, x, out_dim) + assert jacobian.shape == (B, out_dim, in_dim) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_get_jacobian(self, state_size, action_size, reward_size): + B, ensemble_size = 64, 7 + model = self.get_world_model(state_size, action_size, reward_size) + train_input_reg = torch.randn(ensemble_size, B, state_size + action_size) + jacobian = model._get_jacobian(model.gradient_model, train_input_reg) + assert jacobian.shape == (ensemble_size, B, state_size + reward_size, state_size + action_size) + assert jacobian.requires_grad + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_step(self, state_size, action_size, reward_size): + states = torch.rand(128, state_size) + actions = torch.rand(128, action_size) + model = self.get_world_model(state_size, action_size, reward_size) + model.elite_model_idxes = [0, 1] + rewards, next_obs, dones = model.step(states, actions) + assert rewards.shape == (128, reward_size) + assert next_obs.shape == (128, state_size) + assert dones.shape == (128, ) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_train_rollout_model(self, state_size, action_size, reward_size): + states = torch.rand(1280, state_size) + actions = torch.rand(1280, action_size) + + next_states = states + actions.mean(1, keepdim=True) + rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) + + inputs = torch.cat([states, actions], dim=1) + labels = torch.cat([rewards, next_states], dim=1) + + model = self.get_world_model(state_size, action_size, reward_size) + model._train_rollout_model(inputs[:64], labels[:64]) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_train_graident_model(self, state_size, action_size, reward_size): + states = torch.rand(1280, state_size) + actions = torch.rand(1280, action_size) + + next_states = states + actions.mean(1, keepdim=True) + rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) + + inputs = torch.cat([states, actions], dim=1) + labels = torch.cat([rewards, next_states], dim=1) + + model = self.get_world_model(state_size, action_size, reward_size) + model._train_gradient_model(inputs[:64], labels[:64], inputs[:64], labels[:64]) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args[:1]) + def test_others(self, state_size, action_size, reward_size): + states = torch.rand(1280, state_size) + actions = torch.rand(1280, action_size) + + next_states = states + actions.mean(1, keepdim=True) + rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) + + inputs = torch.cat([states, actions], dim=1) + labels = torch.cat([rewards, next_states], dim=1) + + model = self.get_world_model(state_size, action_size, reward_size) + model._train_rollout_model(inputs[:64], labels[:64]) + model._train_gradient_model(inputs[:64], labels[:64], inputs[:64], labels[:64]) + model._save_states() + model._load_states() + model._save_best(0, [1, 2, 3]) diff --git a/ding/world_model/tests/test_mbpo.py b/ding/world_model/tests/test_mbpo.py new file mode 100644 index 0000000000..2720719d29 --- /dev/null +++ b/ding/world_model/tests/test_mbpo.py @@ -0,0 +1,67 @@ +import pytest +import torch + +from itertools import product +from easydict import EasyDict +from ding.world_model.mbpo import MBPOWorldModel +from ding.utils import deep_merge_dicts + +# arguments +state_size = [16] +action_size = [16, 1] +reward_size = [1] +args = list(product(*[state_size, action_size, reward_size])) + + +@pytest.mark.unittest +class TestMBPO: + + def get_world_model(self, state_size, action_size, reward_size): + cfg = MBPOWorldModel.default_config() + cfg = deep_merge_dicts( + cfg, dict(cuda=False, model=dict(state_size=state_size, action_size=action_size, reward_size=reward_size)) + ) + fake_env = EasyDict(termination_fn=lambda obs: torch.zeros_like(obs.sum(-1)).bool()) + return MBPOWorldModel(cfg, fake_env, None) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_step(self, state_size, action_size, reward_size): + states = torch.rand(128, state_size) + actions = torch.rand(128, action_size) + model = self.get_world_model(state_size, action_size, reward_size) + model.elite_model_idxes = [0, 1] + rewards, next_obs, dones = model.step(states, actions) + assert rewards.shape == (128, reward_size) + assert next_obs.shape == (128, state_size) + assert dones.shape == (128, ) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args) + def test_train(self, state_size, action_size, reward_size): + states = torch.rand(1280, state_size) + actions = torch.rand(1280, action_size) + + next_states = states + actions.mean(1, keepdim=True) + rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) + + inputs = torch.cat([states, actions], dim=1) + labels = torch.cat([rewards, next_states], dim=1) + + model = self.get_world_model(state_size, action_size, reward_size) + model._train(inputs[:64], labels[:64]) + + @pytest.mark.parametrize('state_size, action_size, reward_size', args[:1]) + def test_others(self, state_size, action_size, reward_size): + states = torch.rand(1280, state_size) + actions = torch.rand(1280, action_size) + + next_states = states + actions.mean(1, keepdim=True) + rewards = next_states.mean(1, keepdim=True).repeat(1, reward_size) + + inputs = torch.cat([states, actions], dim=1) + labels = torch.cat([rewards, next_states], dim=1) + + model = self.get_world_model(state_size, action_size, reward_size) + model._train(inputs[:64], labels[:64]) + model._save_states() + model._load_states() + model._save_best(0, [1, 2, 3]) diff --git a/ding/world_model/tests/test_world_model.py b/ding/world_model/tests/test_world_model.py new file mode 100644 index 0000000000..1e56904ed0 --- /dev/null +++ b/ding/world_model/tests/test_world_model.py @@ -0,0 +1,121 @@ +import pytest +import torch +from easydict import EasyDict +from ding.world_model.base_world_model import DreamWorldModel, DynaWorldModel +from ding.worker.replay_buffer import NaiveReplayBuffer, EpisodeReplayBuffer + + +@pytest.mark.unittest +class TestDynaWorldModel: + + @pytest.mark.parametrize('buffer_type', [NaiveReplayBuffer, EpisodeReplayBuffer]) + def test_fill_img_buffer(self, buffer_type): + env_buffer = buffer_type(buffer_type.default_config(), None, 'exp_name', 'instance_name') + img_buffer = buffer_type(buffer_type.default_config(), None, 'exp_name', 'instance_name') + fake_config = EasyDict( + train_freq=250, # w.r.t environment step + eval_freq=250, # w.r.t environment step + cuda=False, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=25, + ), + other=dict( + real_ratio=0.05, + rollout_retain=4, + rollout_batch_size=100000, + imagination_buffer=dict( + type='elastic', + replay_buffer_size=6000000, + deepcopy=False, + enable_track_used_data=False, + # set_buffer_size=set_buffer_size, + periodic_thruput_seconds=60, + ), + ), + ) + T, B, O, A = 25, 20, 100, 30 + + class FakeModel(DynaWorldModel): + + def train(self, env_buffer, envstep, train_iter): + pass + + def eval(self, env_buffer, envstep, train_iter): + pass + + def step(self, obs, action): + return (torch.zeros(B), torch.rand(B, O), obs.sum(-1) > 0) + + from ding.policy import SACPolicy + from ding.model import QAC + + policy_config = SACPolicy.default_config() + policy_config.model.update(dict(obs_shape=2, action_shape=2)) + model = QAC(**policy_config.model) + policy = SACPolicy(policy_config, model=model).collect_mode + + fake_model = FakeModel(fake_config, None, None) + + env_buffer.push( + [ + { + 'obs': torch.randn(2), + 'next_obs': torch.randn(2), + 'action': torch.randn(2), + 'reward': torch.randn(1), + 'done': False, + 'collect_iter': 0 + } + ] * 20, 0 + ) + + super(FakeModel, fake_model).fill_img_buffer(policy, env_buffer, img_buffer, 0, 0) + + +@pytest.mark.unittest +class TestDreamWorldModel: + + def test_rollout(self): + fake_config = EasyDict( + train_freq=250, # w.r.t environment step + eval_freq=250, # w.r.t environment step + cuda=False, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=25, + ) + ) + envstep = 150000 + T, B, O, A = 25, 20, 100, 30 + + class FakeModel(DreamWorldModel): + + def train(self, env_buffer, envstep, train_iter): + pass + + def eval(self, env_buffer, envstep, train_iter): + pass + + def step(self, obs, action): + return (torch.zeros(B), torch.rand(B, O), obs.sum(-1) > 0) + + def fake_policy_fn(obs): + return torch.randn(B, A), torch.zeros(B) + + fake_model = FakeModel(fake_config, None, None) + + obs = torch.rand(B, O) + obss, actions, rewards, aug_rewards, dones = \ + super(FakeModel, fake_model).rollout(obs, fake_policy_fn, envstep) + assert obss.shape == (T + 1, B, O) + assert actions.shape == (T + 1, B, A) + assert rewards.shape == (T, B) + assert aug_rewards.shape == (T + 1, B) + assert dones.shape == (T + 1, B) diff --git a/ding/world_model/tests/test_world_model_utils.py b/ding/world_model/tests/test_world_model_utils.py new file mode 100644 index 0000000000..26ba5e7f5e --- /dev/null +++ b/ding/world_model/tests/test_world_model_utils.py @@ -0,0 +1,19 @@ +import pytest +from easydict import EasyDict +from ding.world_model.utils import get_rollout_length_scheduler + + +@pytest.mark.unittest +def test_get_rollout_length_scheduler(): + fake_cfg = EasyDict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=25, + ) + scheduler = get_rollout_length_scheduler(fake_cfg) + assert scheduler(0) == 1 + assert scheduler(19999) == 1 + assert scheduler(150000) == 25 + assert scheduler(1500000) == 25 diff --git a/ding/world_model/utils.py b/ding/world_model/utils.py new file mode 100644 index 0000000000..15172699f9 --- /dev/null +++ b/ding/world_model/utils.py @@ -0,0 +1,25 @@ +from easydict import EasyDict +from typing import Callable + + +def get_rollout_length_scheduler(cfg: EasyDict) -> Callable[[int], int]: + """ + Overview: + Get the rollout length scheduler that adapts rollout length based\ + on the current environment steps. + Returns: + - scheduler (:obj:`Callble`): The function that takes envstep and\ + return the current rollout length. + """ + if cfg.type == 'linear': + x0 = cfg.rollout_start_step + x1 = cfg.rollout_end_step + y0 = cfg.rollout_length_min + y1 = cfg.rollout_length_max + w = (y1 - y0) / (x1 - x0) + b = y0 + return lambda x: int(min(max(w * (x - x0) + b, y0), y1)) + elif cfg.type == 'constant': + return lambda x: cfg.rollout_length + else: + raise KeyError("not implemented key: {}".format(cfg.type)) diff --git a/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_ddppo_config.py b/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_ddppo_config.py new file mode 100644 index 0000000000..b722ff7f6c --- /dev/null +++ b/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_ddppo_config.py @@ -0,0 +1,116 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dream + +# environment hypo +env_id = 'Pendulum-v0' +obs_shape = 3 +action_shape = 1 + +# gpu +cuda = False + +main_config = dict( + exp_name='pendulum_mbsac_ddppo_seed0', + env=dict( + env_id=env_id, # only for backward compatibility + collector_env_num=10, + evaluator_env_num=5, + # (bool) Scale output action into legal range. + act_scale=True, + n_evaluator_episode=5, + stop_value=-250, + ), + policy=dict( + cuda=cuda, + # backward compatibility: it is better to + # put random_collect_size in policy.other + random_collect_size=1000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=128, + critic_head_hidden_size=128, + ), + learn=dict( + lambda_=0.8, + sample_state=False, + update_per_collect=1, + batch_size=128, + learning_rate_q=0.001, + learning_rate_policy=0.001, + learning_rate_alpha=0.0003, + ignore_done=True, + target_theta=0.005, + discount_factor=0.99, + auto_alpha=True, + value_network=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=100, )), + other=dict( + # environment buffer + replay_buffer=dict(replay_buffer_size=100000, ), + ), + ), + world_model=dict( + eval_freq=100, # w.r.t envstep + train_freq=100, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=2000, + rollout_end_step=15000, + rollout_length_min=3, + rollout_length_max=3, + ), + model=dict( + gradient_model=True, + k=3, + reg=50, + neighbor_pool_size=1000, + train_freq_gradient_model=500, + # + ensemble_size=5, + elite_size=3, + state_size=obs_shape, + action_size=action_shape, + reward_size=1, + hidden_size=100, + use_decay=True, + batch_size=64, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbpendulum', + import_names=['dizoo.classic_control.pendulum.envs.pendulum_env'], + ), + env_manager=dict(type='base'), + policy=dict( + type='mbsac', + import_names=['ding.policy.mbpolicy.mbsac'], + ), + replay_buffer=dict(type='naive', ), + world_model=dict( + type='ddppo', + import_names=['ding.world_model.ddppo'], + ), +) +create_config = EasyDict(create_config) + +if __name__ == '__main__': + serial_pipeline_dream((main_config, create_config), seed=0) diff --git a/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_mbpo_config.py b/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_mbpo_config.py new file mode 100644 index 0000000000..06f30b93be --- /dev/null +++ b/dizoo/classic_control/pendulum/config/mbrl/pendulum_mbsac_mbpo_config.py @@ -0,0 +1,110 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dream + +# environment hypo +env_id = 'Pendulum-v0' +obs_shape = 3 +action_shape = 1 + +# gpu +cuda = False + +main_config = dict( + exp_name='pendulum_mbsac_mbpo_seed0', + env=dict( + env_id=env_id, # only for backward compatibility + collector_env_num=10, + evaluator_env_num=5, + # (bool) Scale output action into legal range. + act_scale=True, + n_evaluator_episode=5, + stop_value=-250, + ), + policy=dict( + cuda=cuda, + # backward compatibility: it is better to + # put random_collect_size in policy.other + random_collect_size=1000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=128, + critic_head_hidden_size=128, + ), + learn=dict( + lambda_=0.8, + sample_state=False, + update_per_collect=1, + batch_size=128, + learning_rate_q=0.001, + learning_rate_policy=0.001, + learning_rate_alpha=0.0003, + ignore_done=True, + target_theta=0.005, + discount_factor=0.99, + auto_alpha=True, + value_network=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=100, )), + other=dict( + # environment buffer + replay_buffer=dict(replay_buffer_size=100000, ), + ), + ), + world_model=dict( + eval_freq=100, # w.r.t envstep + train_freq=100, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=2000, + rollout_end_step=15000, + rollout_length_min=3, + rollout_length_max=3, + ), + model=dict( + ensemble_size=5, + elite_size=3, + state_size=obs_shape, + action_size=action_shape, + reward_size=1, + hidden_size=100, + use_decay=True, + batch_size=64, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbpendulum', + import_names=['dizoo.classic_control.pendulum.envs.pendulum_env'], + ), + env_manager=dict(type='base'), + policy=dict( + type='mbsac', + import_names=['ding.policy.mbpolicy.mbsac'], + ), + replay_buffer=dict(type='naive', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), +) +create_config = EasyDict(create_config) + +if __name__ == '__main__': + serial_pipeline_dream((main_config, create_config), seed=0) diff --git a/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_ddppo_config.py b/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_ddppo_config.py new file mode 100644 index 0000000000..4eb551261d --- /dev/null +++ b/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_ddppo_config.py @@ -0,0 +1,121 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dyna + +# environment hypo +env_id = 'Pendulum-v0' +obs_shape = 3 +action_shape = 1 + +# gpu +cuda = False + +main_config = dict( + exp_name='pendulum_sac_ddppo_seed0', + env=dict( + env_id=env_id, # only for backward compatibility + collector_env_num=10, + evaluator_env_num=5, + # (bool) Scale output action into legal range. + act_scale=True, + n_evaluator_episode=5, + stop_value=-250, + ), + policy=dict( + cuda=cuda, + # backward compatibility: it is better to + # put random_collect_size in policy.other + random_collect_size=1000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=128, + critic_head_hidden_size=128, + ), + learn=dict( + update_per_collect=1, + batch_size=128, + learning_rate_q=0.001, + learning_rate_policy=0.001, + learning_rate_alpha=0.0003, + ignore_done=True, + target_theta=0.005, + discount_factor=0.99, + auto_alpha=True, + value_network=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=100, )), + other=dict( + # environment buffer + replay_buffer=dict(replay_buffer_size=100000, ), + ), + ), + world_model=dict( + eval_freq=100, # w.r.t envstep + train_freq=100, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=2000, + rollout_end_step=15000, + rollout_length_min=1, + rollout_length_max=1, + ), + model=dict( + gradient_model=True, + k=3, + reg=50, + neighbor_pool_size=1000, + train_freq_gradient_model=500, + # + ensemble_size=5, + elite_size=3, + state_size=obs_shape, + action_size=action_shape, + reward_size=1, + hidden_size=100, + use_decay=True, + batch_size=64, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + other=dict( + rollout_batch_size=10000, + rollout_retain=4, + real_ratio=0.05, + imagination_buffer=dict(replay_buffer_size=600000, ), + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbpendulum', + import_names=['dizoo.classic_control.pendulum.envs.pendulum_env'], + ), + env_manager=dict(type='base'), + policy=dict( + type='sac', + import_names=['ding.policy.sac'], + ), + replay_buffer=dict(type='naive', ), + imagination_buffer=dict(type='elastic', ), + world_model=dict( + type='ddppo', + import_names=['ding.world_model.ddppo'], + ), +) +create_config = EasyDict(create_config) + +if __name__ == '__main__': + serial_pipeline_dyna((main_config, create_config), seed=0) diff --git a/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_mbpo_config.py b/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_mbpo_config.py new file mode 100644 index 0000000000..9e1fddd426 --- /dev/null +++ b/dizoo/classic_control/pendulum/config/mbrl/pendulum_sac_mbpo_config.py @@ -0,0 +1,115 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dyna + +# environment hypo +env_id = 'Pendulum-v0' +obs_shape = 3 +action_shape = 1 + +# gpu +cuda = False + +main_config = dict( + exp_name='pendulum_sac_mbpo_seed0', + env=dict( + env_id=env_id, # only for backward compatibility + collector_env_num=10, + evaluator_env_num=5, + # (bool) Scale output action into legal range. + act_scale=True, + n_evaluator_episode=5, + stop_value=-250, + ), + policy=dict( + cuda=cuda, + # backward compatibility: it is better to + # put random_collect_size in policy.other + random_collect_size=1000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=128, + critic_head_hidden_size=128, + ), + learn=dict( + update_per_collect=1, + batch_size=128, + learning_rate_q=0.001, + learning_rate_policy=0.001, + learning_rate_alpha=0.0003, + ignore_done=True, + target_theta=0.005, + discount_factor=0.99, + auto_alpha=True, + value_network=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=100, )), + other=dict( + # environment buffer + replay_buffer=dict(replay_buffer_size=100000, ), + ), + ), + world_model=dict( + eval_freq=100, # w.r.t envstep + train_freq=100, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=2000, + rollout_end_step=15000, + rollout_length_min=1, + rollout_length_max=1, + ), + model=dict( + ensemble_size=5, + elite_size=3, + state_size=obs_shape, + action_size=action_shape, + reward_size=1, + hidden_size=100, + use_decay=True, + batch_size=64, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + other=dict( + rollout_batch_size=10000, + rollout_retain=4, + real_ratio=0.05, + imagination_buffer=dict(replay_buffer_size=600000, ), + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbpendulum', + import_names=['dizoo.classic_control.pendulum.envs.pendulum_env'], + ), + env_manager=dict(type='base'), + policy=dict( + type='sac', + import_names=['ding.policy.sac'], + ), + replay_buffer=dict(type='naive', ), + imagination_buffer=dict(type='elastic', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), +) +create_config = EasyDict(create_config) + +if __name__ == '__main__': + serial_pipeline_dyna((main_config, create_config), seed=0) diff --git a/dizoo/classic_control/pendulum/envs/pendulum_env.py b/dizoo/classic_control/pendulum/envs/pendulum_env.py index 2eca5ea892..a1abbeae79 100644 --- a/dizoo/classic_control/pendulum/envs/pendulum_env.py +++ b/dizoo/classic_control/pendulum/envs/pendulum_env.py @@ -1,5 +1,6 @@ from typing import Any, Union, Optional import gym +import torch import numpy as np from ding.envs import BaseEnv, BaseEnvTimestep from ding.envs.common.common_function import affine_transform @@ -89,3 +90,17 @@ def reward_space(self) -> gym.spaces.Space: def __repr__(self) -> str: return "DI-engine Pendulum Env({})".format(self._cfg.env_id) + + +@ENV_REGISTRY.register('mbpendulum') +class MBPendulumEnv(PendulumEnv): + def termination_fn(self, next_obs: torch.Tensor) -> torch.Tensor: + """ + Overview: + This function determines whether each state is a terminated state + .. note:: + Done is always false for pendulum, according to\ + . + """ + done = torch.zeros_like(next_obs.sum(-1)).bool() + return done diff --git a/dizoo/mujoco/config/ant_sac_mbpo_default_config.py b/dizoo/mujoco/config/ant_sac_mbpo_default_config.py deleted file mode 100644 index 145af6b0bf..0000000000 --- a/dizoo/mujoco/config/ant_sac_mbpo_default_config.py +++ /dev/null @@ -1,135 +0,0 @@ -from easydict import EasyDict -from ding.entry import serial_pipeline_mbrl - -# environment hypo -env_id = 'AntTruncatedObs-v2' -obs_shape = 27 -action_shape = 8 - -# gpu -cuda = True - -# model training hypo -rollout_batch_size = 100000 -rollout_retain = 4 -rollout_start_step = 20000 -rollout_end_step = 150000 -rollout_length_min = 1 -rollout_length_max = 25 - -x0 = rollout_start_step -y0 = rollout_length_min -y1 = rollout_length_max -w = (rollout_length_max - rollout_length_min) / (rollout_end_step - rollout_start_step) -b = rollout_length_min -set_rollout_length = lambda x: int(min(max(w * (x - x0) + b, y0), y1)) -set_buffer_size = lambda x: set_rollout_length(x) * rollout_batch_size * rollout_retain - -main_config = dict( - exp_name='ant_sac_mbpo_seed0', - env=dict( - env_id=env_id, - norm_obs=dict(use_norm=False, ), - norm_reward=dict(use_norm=False, ), - collector_env_num=1, - evaluator_env_num=8, - use_act_scale=True, - n_evaluator_episode=8, - stop_value=100000, - ), - policy=dict( - cuda=cuda, - random_collect_size=10000, - model=dict( - obs_shape=obs_shape, - action_shape=action_shape, - twin_critic=True, - action_space='reparameterization', - actor_head_hidden_size=256, - critic_head_hidden_size=256, - ), - learn=dict( - update_per_collect=20, - batch_size=256, - learning_rate_q=3e-4, - learning_rate_policy=3e-4, - learning_rate_alpha=3e-4, - ignore_done=False, - target_theta=0.005, - discount_factor=0.99, - alpha=0.2, - reparameterization=True, - auto_alpha=False, - ), - collect=dict( - n_sample=1, - unroll_len=1, - ), - command=dict(), - eval=dict(evaluator=dict(eval_freq=5000, )), - other=dict(replay_buffer=dict(replay_buffer_size=1000000, periodic_thruput_seconds=60), ), - ), - model_based=dict( - real_ratio=0.05, - imagine_buffer=dict( - type='elastic', - replay_buffer_size=6000000, - deepcopy=False, - enable_track_used_data=False, - set_buffer_size=set_buffer_size, - periodic_thruput_seconds=60, - ), - env_model=dict( - type='mbpo', - import_names=['ding.model.template.model_based.mbpo'], - network_size=7, - elite_size=5, - state_size=obs_shape, - action_size=action_shape, - reward_size=1, - hidden_size=200, - use_decay=True, - batch_size=256, - holdout_ratio=0.1, - max_epochs_since_update=5, - eval_freq=250, - train_freq=250, - cuda=cuda, - ), - model_env=dict( - type='mujoco_model', - import_names=['dizoo.mujoco.envs.mujoco_model_env'], - env_id=env_id, - rollout_batch_size=rollout_batch_size, - set_rollout_length=set_rollout_length, - ), - ), -) - -main_config = EasyDict(main_config) - -create_config = dict( - env=dict( - type='mujoco', - import_names=['dizoo.mujoco.envs.mujoco_env'], - ), - env_manager=dict(type='subprocess'), - policy=dict( - type='sac', - import_names=['ding.policy.sac'], - ), - replay_buffer=dict(type='naive', ), -) -create_config = EasyDict(create_config) - -if __name__ == '__main__': - import argparse - import copy - parser = argparse.ArgumentParser() - parser.add_argument('--seed', type=int, default=0) - args = parser.parse_args() - params = vars(args) - seed = params['seed'] - main_config.exp_name = f'ant_sac_mbpo_seed{seed}' - serial_pipeline_mbrl((copy.deepcopy(main_config), copy.deepcopy(create_config)), - seed=seed, max_env_step=400000) \ No newline at end of file diff --git a/dizoo/mujoco/config/humanoid_sac_mbpo_default_config.py b/dizoo/mujoco/config/humanoid_sac_mbpo_default_config.py deleted file mode 100644 index 11f0198ce4..0000000000 --- a/dizoo/mujoco/config/humanoid_sac_mbpo_default_config.py +++ /dev/null @@ -1,135 +0,0 @@ -from easydict import EasyDict -from ding.entry import serial_pipeline_mbrl - -# environment hypo -env_id = 'HumanoidTruncatedObs-v2' -obs_shape = 45 -action_shape = 17 - -# gpu -cuda = True - -# model training hypo -rollout_batch_size = 100000 -rollout_retain = 4 -rollout_start_step = 20000 -rollout_end_step = 450000 -rollout_length_min = 1 -rollout_length_max = 25 - -x0 = rollout_start_step -y0 = rollout_length_min -y1 = rollout_length_max -w = (rollout_length_max - rollout_length_min) / (rollout_end_step - rollout_start_step) -b = rollout_length_min -set_rollout_length = lambda x: int(min(max(w * (x - x0) + b, y0), y1)) -set_buffer_size = lambda x: set_rollout_length(x) * rollout_batch_size * rollout_retain - -main_config = dict( - exp_name='humanoid_sac_mbpo_seed0', - env=dict( - env_id=env_id, - norm_obs=dict(use_norm=False, ), - norm_reward=dict(use_norm=False, ), - collector_env_num=1, - evaluator_env_num=8, - use_act_scale=True, - n_evaluator_episode=8, - stop_value=100000, - ), - policy=dict( - cuda=cuda, - random_collect_size=10000, - model=dict( - obs_shape=obs_shape, - action_shape=action_shape, - twin_critic=True, - action_space='reparameterization', - actor_head_hidden_size=512, - critic_head_hidden_size=512, - ), - learn=dict( - update_per_collect=20, - batch_size=256, - learning_rate_q=3e-4, - learning_rate_policy=3e-4, - learning_rate_alpha=3e-4, - ignore_done=False, - target_theta=0.005, - discount_factor=0.99, - alpha=0.2, - reparameterization=True, - auto_alpha=False, - ), - collect=dict( - n_sample=1, - unroll_len=1, - ), - command=dict(), - eval=dict(evaluator=dict(eval_freq=5000, )), - other=dict(replay_buffer=dict(replay_buffer_size=1000000, periodic_thruput_seconds=60), ), - ), - model_based=dict( - real_ratio=0.05, - imagine_buffer=dict( - type='elastic', - replay_buffer_size=6000000, - deepcopy=False, - enable_track_used_data=False, - set_buffer_size=set_buffer_size, - periodic_thruput_seconds=60, - ), - env_model=dict( - type='mbpo', - import_names=['ding.model.template.model_based.mbpo'], - network_size=7, - elite_size=5, - state_size=obs_shape, - action_size=action_shape, - reward_size=1, - hidden_size=400, - use_decay=True, - batch_size=256, - holdout_ratio=0.1, - max_epochs_since_update=5, - eval_freq=250, - train_freq=250, - cuda=cuda, - ), - model_env=dict( - type='mujoco_model', - import_names=['dizoo.mujoco.envs.mujoco_model_env'], - env_id=env_id, - rollout_batch_size=rollout_batch_size, - set_rollout_length=set_rollout_length, - ), - ), -) - -main_config = EasyDict(main_config) - -create_config = dict( - env=dict( - type='mujoco', - import_names=['dizoo.mujoco.envs.mujoco_env'], - ), - env_manager=dict(type='subprocess'), - policy=dict( - type='sac', - import_names=['ding.policy.sac'], - ), - replay_buffer=dict(type='naive', ), -) -create_config = EasyDict(create_config) - -if __name__ == '__main__': - import argparse - import copy - parser = argparse.ArgumentParser() - parser.add_argument('--seed', type=int, default=0) - args = parser.parse_args() - params = vars(args) - seed = params['seed'] - main_config.exp_name = f'humanoid_sac_mbpo_seed{seed}' - serial_pipeline_mbrl((copy.deepcopy(main_config), copy.deepcopy(create_config)), - seed=seed, max_env_step=400000) diff --git a/dizoo/mujoco/config/mbrl/halfcheetah_mbsac_mbpo_config.py b/dizoo/mujoco/config/mbrl/halfcheetah_mbsac_mbpo_config.py new file mode 100644 index 0000000000..754e5a74d7 --- /dev/null +++ b/dizoo/mujoco/config/mbrl/halfcheetah_mbsac_mbpo_config.py @@ -0,0 +1,115 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dream + +# environment hypo +env_id = 'HalfCheetah-v3' +obs_shape = 17 +action_shape = 6 + +# gpu +cuda = True + +main_config = dict( + exp_name='halfcheetach_mbsac_mbpo_seed0', + env=dict( + env_id=env_id, + norm_obs=dict(use_norm=False, ), + norm_reward=dict(use_norm=False, ), + collector_env_num=1, + evaluator_env_num=8, + use_act_scale=True, + n_evaluator_episode=8, + stop_value=100000, + ), + policy=dict( + cuda=cuda, + # it is better to put random_collect_size in policy.other + random_collect_size=10000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=256, + critic_head_hidden_size=256, + ), + learn=dict( + lambda_=0.8, + sample_state=False, + update_per_collect=40, + batch_size=256, + learning_rate_q=3e-4, + learning_rate_policy=3e-4, + learning_rate_alpha=3e-4, + ignore_done=False, + target_theta=0.005, + discount_factor=0.99, + alpha=0.2, + reparameterization=True, + auto_alpha=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), + ), + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=40000, + rollout_length_min=1, + rollout_length_max=3, + ), + model=dict( + ensemble_size=7, + elite_size=5, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified + reward_size=1, + hidden_size=200, + use_decay=True, + batch_size=256, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbmujoco', + import_names=['dizoo.mujoco.envs.mujoco_env'], + ), + env_manager=dict(type='subprocess'), + policy=dict( + type='mbsac', + import_names=['ding.policy.mbpolicy.mbsac'], + ), + replay_buffer=dict(type='naive', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), +) +create_config = EasyDict(create_config) + + +if __name__ == '__main__': + serial_pipeline_dream((main_config, create_config), seed=0, max_env_step=100000) diff --git a/dizoo/mujoco/config/halfcheetah_sac_mbpo_config.py b/dizoo/mujoco/config/mbrl/halfcheetah_sac_mbpo_config.py similarity index 51% rename from dizoo/mujoco/config/halfcheetah_sac_mbpo_config.py rename to dizoo/mujoco/config/mbrl/halfcheetah_sac_mbpo_config.py index 9b11caaa63..f1260df418 100644 --- a/dizoo/mujoco/config/halfcheetah_sac_mbpo_config.py +++ b/dizoo/mujoco/config/mbrl/halfcheetah_sac_mbpo_config.py @@ -1,5 +1,7 @@ from easydict import EasyDict +from ding.entry import serial_pipeline_dyna + # environment hypo env_id = 'HalfCheetah-v3' obs_shape = 17 @@ -8,24 +10,8 @@ # gpu cuda = True -# model training hypo -rollout_batch_size = 100000 -rollout_retain = 4 -rollout_start_step = 20000 -rollout_end_step = 150000 -rollout_length_min = 1 -rollout_length_max = 1 - -x0 = rollout_start_step -y0 = rollout_length_min -y1 = rollout_length_max -w = (rollout_length_max - rollout_length_min) / (rollout_end_step - rollout_start_step) -b = rollout_length_min -set_rollout_length = lambda x: int(min(max(w * (x - x0) + b, y0), y1)) -set_buffer_size = lambda x: set_rollout_length(x) * rollout_batch_size * rollout_retain - main_config = dict( - exp_name='halfcheetach_mbpo_sac_seed0', + exp_name='halfcheetach_sac_mbpo_seed0', env=dict( env_id=env_id, norm_obs=dict(use_norm=False, ), @@ -35,10 +21,10 @@ use_act_scale=True, n_evaluator_episode=8, stop_value=100000, - manager=dict(shared_memory=False, ), ), policy=dict( cuda=cuda, + # it is better to put random_collect_size in policy.other random_collect_size=10000, model=dict( obs_shape=obs_shape, @@ -66,42 +52,44 @@ unroll_len=1, ), command=dict(), - eval=dict(evaluator=dict(eval_freq=5000, )), - other=dict(replay_buffer=dict(replay_buffer_size=1000000, periodic_thruput_seconds=60), ), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), ), - model_based=dict( - real_ratio=0.05, - imagine_buffer=dict( - type='elastic', - replay_buffer_size=6000000, - deepcopy=False, - enable_track_used_data=False, - set_buffer_size=set_buffer_size, - periodic_thruput_seconds=60, + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=1, ), - env_model=dict( - type='mbpo', - import_names=['ding.model.template.model_based.mbpo'], - network_size=7, + model=dict( + ensemble_size=7, elite_size=5, - state_size=obs_shape, - action_size=action_shape, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified reward_size=1, - hidden_size=200, + hidden_size=400, use_decay=True, batch_size=256, holdout_ratio=0.1, max_epochs_since_update=5, - eval_freq=250, - train_freq=250, - cuda=cuda, + deterministic_rollout=True, ), - model_env=dict( - type='mujoco_model', - import_names=['dizoo.mujoco.envs.mujoco_model_env'], - env_id=env_id, - rollout_batch_size=rollout_batch_size, - set_rollout_length=set_rollout_length, + other=dict( + rollout_batch_size=100000, + rollout_retain=4, + real_ratio=0.05, + imagination_buffer=dict(replay_buffer_size=6000000, ), ), ), ) @@ -110,7 +98,7 @@ create_config = dict( env=dict( - type='mujoco', + type='mbmujoco', import_names=['dizoo.mujoco.envs.mujoco_env'], ), env_manager=dict(type='subprocess'), @@ -119,9 +107,14 @@ import_names=['ding.policy.sac'], ), replay_buffer=dict(type='naive', ), + imagination_buffer=dict(type='elastic', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), ) create_config = EasyDict(create_config) + if __name__ == '__main__': - from ding.entry import serial_pipeline_mbrl - serial_pipeline_mbrl((main_config, create_config), seed=0) + serial_pipeline_dyna((main_config, create_config), seed=0, max_env_step=100000) diff --git a/dizoo/mujoco/config/mbrl/hopper_mbsac_mbpo_config.py b/dizoo/mujoco/config/mbrl/hopper_mbsac_mbpo_config.py new file mode 100644 index 0000000000..f6fb8d2148 --- /dev/null +++ b/dizoo/mujoco/config/mbrl/hopper_mbsac_mbpo_config.py @@ -0,0 +1,115 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dream + +# environment hypo +env_id = 'Hopper-v2' +obs_shape = 11 +action_shape = 3 + +# gpu +cuda = True + +main_config = dict( + exp_name='hopper_mbsac_mbpo_seed0', + env=dict( + env_id=env_id, + norm_obs=dict(use_norm=False, ), + norm_reward=dict(use_norm=False, ), + collector_env_num=1, + evaluator_env_num=8, + use_act_scale=True, + n_evaluator_episode=8, + stop_value=100000, + ), + policy=dict( + cuda=cuda, + # it is better to put random_collect_size in policy.other + random_collect_size=10000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=256, + critic_head_hidden_size=256, + ), + learn=dict( + lambda_=0.8, + sample_state=False, + update_per_collect=20, + batch_size=256, + learning_rate_q=3e-4, + learning_rate_policy=3e-4, + learning_rate_alpha=3e-4, + ignore_done=False, + target_theta=0.005, + discount_factor=0.99, + alpha=0.2, + reparameterization=True, + auto_alpha=False, + ), + collect=dict( + n_sample=1, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), + ), + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=40000, + rollout_length_min=1, + rollout_length_max=3, + ), + model=dict( + ensemble_size=7, + elite_size=5, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified + reward_size=1, + hidden_size=200, + use_decay=True, + batch_size=256, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbmujoco', + import_names=['dizoo.mujoco.envs.mujoco_env'], + ), + env_manager=dict(type='subprocess'), + policy=dict( + type='mbsac', + import_names=['ding.policy.mbpolicy.mbsac'], + ), + replay_buffer=dict(type='naive', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), +) +create_config = EasyDict(create_config) + + +if __name__ == '__main__': + serial_pipeline_dream((main_config, create_config), seed=0, max_env_step=100000) diff --git a/dizoo/mujoco/config/hopper_sac_mbpo_config.py b/dizoo/mujoco/config/mbrl/hopper_sac_mbpo_config.py similarity index 53% rename from dizoo/mujoco/config/hopper_sac_mbpo_config.py rename to dizoo/mujoco/config/mbrl/hopper_sac_mbpo_config.py index b4ed9ab4ab..1de119adb5 100644 --- a/dizoo/mujoco/config/hopper_sac_mbpo_config.py +++ b/dizoo/mujoco/config/mbrl/hopper_sac_mbpo_config.py @@ -1,5 +1,7 @@ from easydict import EasyDict +from ding.entry import serial_pipeline_dyna + # environment hypo env_id = 'Hopper-v2' obs_shape = 11 @@ -8,22 +10,6 @@ # gpu cuda = True -# model training hypo -rollout_batch_size = 100000 -rollout_retain = 4 -rollout_start_step = 20000 -rollout_end_step = 150000 -rollout_length_min = 1 -rollout_length_max = 15 - -x0 = rollout_start_step -y0 = rollout_length_min -y1 = rollout_length_max -w = (rollout_length_max - rollout_length_min) / (rollout_end_step - rollout_start_step) -b = rollout_length_min -set_rollout_length = lambda x: int(min(max(w * (x - x0) + b, y0), y1)) -set_buffer_size = lambda x: set_rollout_length(x) * rollout_batch_size * rollout_retain - main_config = dict( exp_name='hopper_sac_mbpo_seed0', env=dict( @@ -38,6 +24,7 @@ ), policy=dict( cuda=cuda, + # it is better to put random_collect_size in policy.other random_collect_size=10000, model=dict( obs_shape=obs_shape, @@ -65,42 +52,44 @@ unroll_len=1, ), command=dict(), - eval=dict(evaluator=dict(eval_freq=5000, )), - other=dict(replay_buffer=dict(replay_buffer_size=1000000, periodic_thruput_seconds=60), ), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), ), - model_based=dict( - real_ratio=0.05, - imagine_buffer=dict( - type='elastic', - replay_buffer_size=6000000, - deepcopy=False, - enable_track_used_data=False, - set_buffer_size=set_buffer_size, - periodic_thruput_seconds=60, + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=15, ), - env_model=dict( - type='mbpo', - import_names=['ding.model.template.model_based.mbpo'], - network_size=7, + model=dict( + ensemble_size=7, elite_size=5, - state_size=obs_shape, - action_size=action_shape, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified reward_size=1, hidden_size=200, use_decay=True, batch_size=256, holdout_ratio=0.1, max_epochs_since_update=5, - eval_freq=250, - train_freq=250, - cuda=cuda, + deterministic_rollout=True, ), - model_env=dict( - type='mujoco_model', - import_names=['dizoo.mujoco.envs.mujoco_model_env'], - env_id=env_id, - rollout_batch_size=rollout_batch_size, - set_rollout_length=set_rollout_length, + other=dict( + rollout_batch_size=100000, + rollout_retain=4, + real_ratio=0.05, + imagination_buffer=dict(replay_buffer_size=6000000, ), ), ), ) @@ -109,7 +98,7 @@ create_config = dict( env=dict( - type='mujoco', + type='mbmujoco', import_names=['dizoo.mujoco.envs.mujoco_env'], ), env_manager=dict(type='subprocess'), @@ -118,10 +107,14 @@ import_names=['ding.policy.sac'], ), replay_buffer=dict(type='naive', ), + imagination_buffer=dict(type='elastic', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), ) create_config = EasyDict(create_config) if __name__ == '__main__': - from ding.entry import serial_pipeline_mbrl - serial_pipeline_mbrl((main_config, create_config), seed=0) + serial_pipeline_dyna((main_config, create_config), seed=0, max_env_step=100000) diff --git a/dizoo/mujoco/config/mbrl/walker2d_mbsac_mbpo_config.py b/dizoo/mujoco/config/mbrl/walker2d_mbsac_mbpo_config.py new file mode 100644 index 0000000000..061018a068 --- /dev/null +++ b/dizoo/mujoco/config/mbrl/walker2d_mbsac_mbpo_config.py @@ -0,0 +1,115 @@ +from easydict import EasyDict + +from ding.entry import serial_pipeline_dream + +# environment hypo +env_id = 'Walker2d-v2' +obs_shape = 17 +action_shape = 6 + +# gpu +cuda = True + +main_config = dict( + exp_name='walker2d_mbsac_mbpo_seed0', + env=dict( + env_id=env_id, + norm_obs=dict(use_norm=False, ), + norm_reward=dict(use_norm=False, ), + collector_env_num=4, + evaluator_env_num=8, + use_act_scale=True, + n_evaluator_episode=8, + stop_value=100000, + ), + policy=dict( + cuda=cuda, + # it is better to put random_collect_size in policy.other + random_collect_size=10000, + model=dict( + obs_shape=obs_shape, + action_shape=action_shape, + twin_critic=True, + action_space='reparameterization', + actor_head_hidden_size=256, + critic_head_hidden_size=256, + ), + learn=dict( + lambda_=0.8, + sample_state=False, + update_per_collect=20, + batch_size=512, + learning_rate_q=3e-4, + learning_rate_policy=3e-4, + learning_rate_alpha=3e-4, + ignore_done=False, + target_theta=0.005, + discount_factor=0.99, + alpha=0.2, + reparameterization=True, + auto_alpha=False, + ), + collect=dict( + n_sample=8, + unroll_len=1, + ), + command=dict(), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), + ), + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=30000, + rollout_end_step=100000, + rollout_length_min=1, + rollout_length_max=3, + ), + model=dict( + ensemble_size=7, + elite_size=5, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified + reward_size=1, + hidden_size=200, + use_decay=True, + batch_size=512, + holdout_ratio=0.1, + max_epochs_since_update=5, + deterministic_rollout=True, + ), + ), +) + +main_config = EasyDict(main_config) + +create_config = dict( + env=dict( + type='mbmujoco', + import_names=['dizoo.mujoco.envs.mujoco_env'], + ), + env_manager=dict(type='subprocess'), + policy=dict( + type='mbsac', + import_names=['ding.policy.mbpolicy.mbsac'], + ), + replay_buffer=dict(type='naive', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), +) +create_config = EasyDict(create_config) + + +if __name__ == '__main__': + serial_pipeline_dream((main_config, create_config), seed=0, max_env_step=300000) diff --git a/dizoo/mujoco/config/walker2d_sac_mbpo_config.py b/dizoo/mujoco/config/mbrl/walker2d_sac_mbpo_config.py similarity index 52% rename from dizoo/mujoco/config/walker2d_sac_mbpo_config.py rename to dizoo/mujoco/config/mbrl/walker2d_sac_mbpo_config.py index fef96c7b68..b27600e346 100644 --- a/dizoo/mujoco/config/walker2d_sac_mbpo_config.py +++ b/dizoo/mujoco/config/mbrl/walker2d_sac_mbpo_config.py @@ -1,5 +1,7 @@ from easydict import EasyDict +from ding.entry import serial_pipeline_dyna + # environment hypo env_id = 'Walker2d-v2' obs_shape = 17 @@ -8,22 +10,6 @@ # gpu cuda = True -# model training hypo -rollout_batch_size = 100000 -rollout_retain = 4 -rollout_start_step = 20000 -rollout_end_step = 150000 -rollout_length_min = 1 -rollout_length_max = 1 - -x0 = rollout_start_step -y0 = rollout_length_min -y1 = rollout_length_max -w = (rollout_length_max - rollout_length_min) / (rollout_end_step - rollout_start_step) -b = rollout_length_min -set_rollout_length = lambda x: int(min(max(w * (x - x0) + b, y0), y1)) -set_buffer_size = lambda x: set_rollout_length(x) * rollout_batch_size * rollout_retain - main_config = dict( exp_name='walker2d_sac_mbpo_seed0', env=dict( @@ -38,6 +24,7 @@ ), policy=dict( cuda=cuda, + # it is better to put random_collect_size in policy.other random_collect_size=10000, model=dict( obs_shape=obs_shape, @@ -49,7 +36,7 @@ ), learn=dict( update_per_collect=20, - batch_size=2048, + batch_size=512, learning_rate_q=3e-4, learning_rate_policy=3e-4, learning_rate_alpha=3e-4, @@ -65,42 +52,44 @@ unroll_len=1, ), command=dict(), - eval=dict(evaluator=dict(eval_freq=5000, )), - other=dict(replay_buffer=dict(replay_buffer_size=1000000, periodic_thruput_seconds=60), ), + eval=dict(evaluator=dict(eval_freq=500, )), # w.r.t envstep + other=dict( + # environment buffer + replay_buffer=dict( + replay_buffer_size=1000000, + periodic_thruput_seconds=60 + ), + ), ), - model_based=dict( - real_ratio=0.05, - imagine_buffer=dict( - type='elastic', - replay_buffer_size=6000000, - deepcopy=False, - enable_track_used_data=False, - set_buffer_size=set_buffer_size, - periodic_thruput_seconds=60, + world_model=dict( + eval_freq=250, # w.r.t envstep + train_freq=250, # w.r.t envstep + cuda=cuda, + rollout_length_scheduler=dict( + type='linear', + rollout_start_step=20000, + rollout_end_step=150000, + rollout_length_min=1, + rollout_length_max=1, ), - env_model=dict( - type='mbpo', - import_names=['ding.model.template.model_based.mbpo'], - network_size=7, + model=dict( + ensemble_size=7, elite_size=5, - state_size=obs_shape, - action_size=action_shape, + state_size=obs_shape, # has to be specified + action_size=action_shape, # has to be specified reward_size=1, hidden_size=200, use_decay=True, - batch_size=2048, + batch_size=512, holdout_ratio=0.1, max_epochs_since_update=5, - eval_freq=250, - train_freq=250, - cuda=cuda, + deterministic_rollout=True, ), - model_env=dict( - type='mujoco_model', - import_names=['dizoo.mujoco.envs.mujoco_model_env'], - env_id=env_id, - rollout_batch_size=rollout_batch_size, - set_rollout_length=set_rollout_length, + other=dict( + rollout_batch_size=100000, + rollout_retain=4, + real_ratio=0.05, + imagination_buffer=dict(replay_buffer_size=6000000, ), ), ), ) @@ -109,7 +98,7 @@ create_config = dict( env=dict( - type='mujoco', + type='mbmujoco', import_names=['dizoo.mujoco.envs.mujoco_env'], ), env_manager=dict(type='subprocess'), @@ -118,10 +107,14 @@ import_names=['ding.policy.sac'], ), replay_buffer=dict(type='naive', ), + imagination_buffer=dict(type='elastic', ), + world_model=dict( + type='mbpo', + import_names=['ding.world_model.mbpo'], + ), ) create_config = EasyDict(create_config) if __name__ == '__main__': - from ding.entry import serial_pipeline_mbrl - serial_pipeline_mbrl((main_config, create_config), seed=0) + serial_pipeline_dyna((main_config, create_config), seed=0, max_env_step=300000) diff --git a/dizoo/mujoco/envs/__init__.py b/dizoo/mujoco/envs/__init__.py index e42e50a495..fac36665b9 100644 --- a/dizoo/mujoco/envs/__init__.py +++ b/dizoo/mujoco/envs/__init__.py @@ -1,2 +1 @@ from .mujoco_env import MujocoEnv -from .mujoco_model_env import MujocoModelEnv diff --git a/dizoo/mujoco/envs/mujoco_env.py b/dizoo/mujoco/envs/mujoco_env.py index fb530d1d2f..f656e5793a 100644 --- a/dizoo/mujoco/envs/mujoco_env.py +++ b/dizoo/mujoco/envs/mujoco_env.py @@ -3,6 +3,7 @@ import numpy as np from easydict import EasyDict import gym +import torch from ding.envs import BaseEnv, BaseEnvTimestep from ding.envs.common.common_function import affine_transform @@ -119,3 +120,64 @@ def action_space(self) -> gym.spaces.Space: @property def reward_space(self) -> gym.spaces.Space: return self._reward_space + + +@ENV_REGISTRY.register('mbmujoco') +class MBMujocoEnv(MujocoEnv): + def termination_fn(self, next_obs: torch.Tensor) -> torch.Tensor: + """ + Overview: + This function determines whether each state is a terminated state. + .. note:: + This is a collection of termination functions for mujocos used in MBPO (arXiv: 1906.08253),\ + directly copied from MBPO repo https://github.com/jannerm/mbpo/tree/master/mbpo/static. + """ + assert len(next_obs.shape) == 2 + if self._cfg.env_id == "Hopper-v2": + height = next_obs[:, 0] + angle = next_obs[:, 1] + not_done = torch.isfinite(next_obs).all(-1) \ + * (torch.abs(next_obs[:, 1:]) < 100).all(-1) \ + * (height > .7) \ + * (torch.abs(angle) < .2) + + done = ~not_done + return done + elif self._cfg.env_id == "Walker2d-v2": + height = next_obs[:, 0] + angle = next_obs[:, 1] + not_done = (height > 0.8) \ + * (height < 2.0) \ + * (angle > -1.0) \ + * (angle < 1.0) + done = ~not_done + return done + elif 'walker_' in self._cfg.env_id: + torso_height = next_obs[:, -2] + torso_ang = next_obs[:, -1] + if 'walker_7' in self._cfg.env_id or 'walker_5' in self._cfg.env_id: + offset = 0. + else: + offset = 0.26 + not_done = (torso_height > 0.8 - offset) \ + * (torso_height < 2.0 - offset) \ + * (torso_ang > -1.0) \ + * (torso_ang < 1.0) + done = ~not_done + return done + elif self._cfg.env_id == "HalfCheetah-v3": + done = torch.zeros_like(next_obs.sum(-1)).bool() + return done + elif self._cfg.env_id in ['Ant-v2', 'AntTruncatedObs-v2']: + x = next_obs[:, 0] + not_done = torch.isfinite(next_obs).all(axis=-1) \ + * (x >= 0.2) \ + * (x <= 1.0) + done = ~not_done + return done + elif self._cfg.env_id in ['Humanoid-v2', 'HumanoidTruncatedObs-v2']: + z = next_obs[:,0] + done = (z < 1.0) + (z > 2.0) + return done + else: + raise KeyError("not implemented env_id: {}".format(self._cfg.env_id)) diff --git a/dizoo/mujoco/envs/mujoco_gym_env.py b/dizoo/mujoco/envs/mujoco_gym_env.py index a25f5e0ca4..331ab5796c 100644 --- a/dizoo/mujoco/envs/mujoco_gym_env.py +++ b/dizoo/mujoco/envs/mujoco_gym_env.py @@ -19,9 +19,12 @@ def register(gym_env): @gym_env_register('AntTruncatedObs-v2') class AntTruncatedObsEnv(AntEnv): """ + Overview: + Modified ant with observation dim truncated to 27, which is used in MBPO (arXiv: 1906.08253). + .. note:: External forces (sim.data.cfrc_ext) are removed from the observation. - Otherwise identical to Ant-v2 from - https://github.com/openai/gym/blob/master/gym/envs/mujoco/ant.py + Otherwise identical to Ant-v2 from\ + . """ def _get_obs(self): return np.concatenate([ @@ -33,10 +36,13 @@ def _get_obs(self): @gym_env_register('HumanoidTruncatedObs-v2') class HumanoidTruncatedObsEnv(HumanoidEnv): """ - COM inertia (cinert), COM velocity (cvel), actuator forces (qfrc_actuator), + Overview: + Modified humanoid with observation dim truncated to 45, which is used in MBPO (arXiv: 1906.08253). + .. note:: + COM inertia (cinert), COM velocity (cvel), actuator forces (qfrc_actuator),\ and external forces (cfrc_ext) are removed from the observation. - Otherwise identical to Humanoid-v2 from - https://github.com/openai/gym/blob/master/gym/envs/mujoco/humanoid.py + Otherwise identical to Humanoid-v2 from\ + . """ def _get_obs(self): data = self.sim.data diff --git a/dizoo/mujoco/envs/mujoco_model_env.py b/dizoo/mujoco/envs/mujoco_model_env.py deleted file mode 100644 index b037823f25..0000000000 --- a/dizoo/mujoco/envs/mujoco_model_env.py +++ /dev/null @@ -1,131 +0,0 @@ -from typing import Any, Union, List, Callable, Dict -import copy -import torch -import torch.nn as nn -import numpy as np - -from ding.envs import BaseEnv, BaseEnvTimestep -from ding.envs.common.common_function import affine_transform -from ding.torch_utils import to_tensor, to_ndarray, to_list -from .mujoco_wrappers import wrap_mujoco -from ding.utils import ENV_REGISTRY -from ding.worker.collector.base_serial_collector import to_tensor_transitions - - -@ENV_REGISTRY.register('mujoco_model') -class MujocoModelEnv(object): - - def __init__(self, env_id: str, set_rollout_length: Callable, rollout_batch_size: int = 100000): - self.env_id = env_id - self.rollout_batch_size = rollout_batch_size - self._set_rollout_length = set_rollout_length - - def termination_fn(self, next_obs: torch.Tensor) -> torch.Tensor: - # This function determines whether each state is a terminated state - assert len(next_obs.shape) == 2 - if self.env_id == "Hopper-v2": - height = next_obs[:, 0] - angle = next_obs[:, 1] - not_done = torch.isfinite(next_obs).all(-1) \ - * (torch.abs(next_obs[:, 1:]) < 100).all(-1) \ - * (height > .7) \ - * (torch.abs(angle) < .2) - - done = ~not_done - return done - elif self.env_id == "Walker2d-v2": - height = next_obs[:, 0] - angle = next_obs[:, 1] - not_done = (height > 0.8) \ - * (height < 2.0) \ - * (angle > -1.0) \ - * (angle < 1.0) - done = ~not_done - return done - elif 'walker_' in self.env_id: - torso_height = next_obs[:, -2] - torso_ang = next_obs[:, -1] - if 'walker_7' in self.env_id or 'walker_5' in self.env_id: - offset = 0. - else: - offset = 0.26 - not_done = (torso_height > 0.8 - offset) \ - * (torso_height < 2.0 - offset) \ - * (torso_ang > -1.0) \ - * (torso_ang < 1.0) - done = ~not_done - return done - elif self.env_id == "HalfCheetah-v3": - done = torch.zeros_like(next_obs.sum(-1)).bool() - return done - elif self.env_id in ['Ant-v2', 'AntTruncatedObs-v2']: - x = next_obs[:, 0] - not_done = np.isfinite(next_obs).all(axis=-1) \ - * (x >= 0.2) \ - * (x <= 1.0) - done = ~not_done - return done - elif self.env_id in ['Humanoid-v2', 'HumanoidTruncatedObs-v2']: - z = next_obs[:,0] - done = (z < 1.0) + (z > 2.0) - return done - - - def rollout( - self, - env_model: nn.Module, - policy: 'Policy', # noqa - replay_buffer: 'IBuffer', # noqa - imagine_buffer: 'IBuffer', # noqa - envstep: int, - cur_learner_iter: int - ) -> None: - """ - Overview: - This function samples from the replay_buffer, rollouts to generate new data, - and push them into the imagine_buffer - """ - # set rollout length - rollout_length = self._set_rollout_length(envstep) - # load data - data = replay_buffer.sample(self.rollout_batch_size, cur_learner_iter, replace=True) - obs = {id: data[id]['obs'] for id in range(len(data))} - # rollout - buffer = [[] for id in range(len(obs))] - new_data = [] - for i in range(rollout_length): - # get action - obs = to_tensor(obs, dtype=torch.float32) - policy_output = policy.forward(obs) - actions = {id: output['action'] for id, output in policy_output.items()} - # predict next obs and reward - timesteps = self.step(obs, actions, env_model) - obs_new = {} - for id, timestep in timesteps.items(): - transition = policy.process_transition(obs[id], policy_output[id], timestep) - transition['collect_iter'] = cur_learner_iter - buffer[id].append(transition) - if not timestep.done: - obs_new[id] = timestep.obs - if timestep.done or i + 1 == rollout_length: - transitions = to_tensor_transitions(buffer[id]) - train_sample = policy.get_train_sample(transitions) - new_data.extend(train_sample) - if len(obs_new) == 0: - break - obs = obs_new - - imagine_buffer.push(new_data, cur_collector_envstep=envstep) - - def step(self, obs: Dict, act: Dict, env_model: nn.Module) -> Dict: - # This function has the same input and output format as env manager's step - data_id = list(obs.keys()) - obs = torch.stack([obs[id] for id in data_id], dim=0) - act = torch.stack([act[id] for id in data_id], dim=0) - rewards, next_obs = env_model.predict(obs, act) - terminals = self.termination_fn(next_obs) - timesteps = { - id: BaseEnvTimestep(n, r, d, {}) - for id, n, r, d in zip(data_id, next_obs.numpy(), rewards.numpy(), terminals.numpy()) - } - return timesteps From 285942388f79a11cc38f476879fc4f7a1f5f8579 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 9 Jun 2022 14:15:40 +0800 Subject: [PATCH 091/229] add league learner --- ding/framework/middleware/collector.py | 1 + ding/framework/middleware/league_actor.py | 4 ++++ ding/framework/middleware/league_coordinator.py | 7 +++++++ ding/framework/middleware/league_learner.py | 8 ++++++++ ding/framework/middleware/tests/mock_for_test.py | 1 - ding/framework/middleware/tests/test_league_learner.py | 4 +++- ding/framework/middleware/tests/test_league_pipeline.py | 7 ++++--- dizoo/distar/envs/fake_data.py | 5 ++--- dizoo/distar/envs/meta.py | 2 ++ 9 files changed, 31 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index d4c7c76fad..36d07d79a6 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,5 +1,6 @@ from distutils.log import info from easydict import EasyDict +from ding import policy from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager from ding.framework import task, EventEnum diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 70007d14d8..51ea83db8e 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -37,11 +37,13 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.job_queue = queue.Queue() self.model_dict = {} self.model_dict_lock = Lock() + self._step = 0 def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ + print("receive model from learner") with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -114,3 +116,5 @@ def __call__(self, ctx: "BattleContext"): ctx.policy_kwargs = None collector(ctx) + logging.info("{} Step: {}".format(self.__class__, self._step)) + self._step += 1 diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 27bef09e23..7880f9d47b 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -1,8 +1,10 @@ +from collections import defaultdict from time import sleep from threading import Lock from dataclasses import dataclass from typing import TYPE_CHECKING from ding.framework import task, EventEnum +import logging if TYPE_CHECKING: from ding.framework import Task, Context @@ -16,6 +18,7 @@ def __init__(self, league: "BaseLeague") -> None: self._lock = Lock() self._total_send_jobs = 0 self._eval_frequency = 10 + self._step = 0 task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) @@ -34,11 +37,15 @@ def _on_actor_greeting(self, actor_id): task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_learner_meta(self, player_meta: "PlayerMeta"): + print("on_learner_meta {}".format(player_meta)) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): + print("on_actor_job {}".format(job.launch_player)) # right self.league.update_payoff(job) def __call__(self, ctx: "Context") -> None: sleep(1) + logging.info("{} Step: {}".format(self.__class__, self._step)) + self._step += 1 diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 7cc805af99..211db688a7 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,4 +1,5 @@ import os +import logging from dataclasses import dataclass from threading import Lock from time import sleep @@ -31,20 +32,25 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self._learner = self._get_learner() self._lock = Lock() task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_data) + self._step = 0 def _on_actor_data(self, actor_data: "ActorData"): + print("receive data from actor!") with self._lock: cfg = self.cfg for _ in range(cfg.policy.learn.update_per_collect): + print("train model") self._learner.train(actor_data.train_data, actor_data.env_step) self.player.total_agent_step = self._learner.train_iter + print("save checkpoint") checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None task.emit( EventEnum.LEARNER_SEND_META, PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) ) + print("pack model") learner_model = LearnerModel( player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter ) @@ -71,3 +77,5 @@ def _save_checkpoint(self) -> Optional[Storage]: def __call__(self, _: "Context") -> None: sleep(1) + logging.info("{} Step: {}".format(self.__class__, self._step)) + self._step += 1 diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 0a5ef694ab..adef35b4b7 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -126,7 +126,6 @@ def estimate(self, episode: List[Dict[str, Any]]) -> List[Dict[str, Any]]: class MockLeague(BaseLeague): def __init__(self, cfg) -> None: super().__init__(cfg) - print(self.active_players) self.update_payoff_cnt = 0 self.update_active_player_cnt = 0 self.create_historical_player_cnt = 0 diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 4918e5492b..1fed2b66f7 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -2,6 +2,7 @@ from time import sleep import torch import pytest +import logging from ding.envs import BaseEnvManager from ding.model import VAC @@ -13,6 +14,7 @@ from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.league_demo.game_env import GameEnv +logging.getLogger().setLevel(logging.INFO) def prepare_test(): global cfg @@ -73,7 +75,7 @@ def _main(): learner = LeagueLearner(cfg, policy_fn, player) learner._learner._tb_logger = MockLogger() task.use(learner) - task.run(max_step=5) + task.run(max_step=3) @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 2801be6974..7d24682869 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -59,6 +59,7 @@ def _main(): league = MockLeague(cfg.policy.other.league) with task.start(async_mode=True): + print("node id:", task.router.node_id) if task.router.node_id == 0: task.use(LeagueCoordinator(league)) elif task.router.node_id <= N_ACTORS: @@ -70,13 +71,13 @@ def _main(): learner._learner._tb_logger = MockLogger() task.use(learner) - task.run(max_step=10) + task.run(max_step=120) @pytest.mark.unittest def test_league_actor(): - Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) \ No newline at end of file + Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) \ No newline at end of file diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index 1b98ddbda7..b0c8b7098e 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -1,9 +1,8 @@ from typing import Sequence import torch -from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, ENTITY_TYPE_NUM, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ - NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON -#from distar.ctools.data.collate_fn import default_collate_with_dim +from .meta import * +# from distar.ctools.data.collate_fn import default_collate_with_dim currTrainCount_MAX = 5 H, W = 152, 160 diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py index 6eb39b1661..6a702554da 100644 --- a/dizoo/distar/envs/meta.py +++ b/dizoo/distar/envs/meta.py @@ -9,3 +9,5 @@ NUM_QUEUE_ACTION = 49 NUM_BUFFS = 50 NUM_ADDON = 9 +MAX_SELECTED_UNITS_NUM = 20 # tmp +SPATIAL_SIZE = 20 # tmp From db3afc28a8eaec9cb1b42fd639793ff896ad1772 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 9 Jun 2022 17:26:35 +0800 Subject: [PATCH 092/229] change the distar_env to fit BaseEnvManager, write test_distar_env_with_manager.py to test. change config to get self-play --- dizoo/distar/envs/distar_env.py | 131 ++++++++++-------- dizoo/distar/envs/test_distar_config.yaml | 2 +- .../envs/test_distar_env_with_manager.py | 93 +++++++++++++ 3 files changed, 165 insertions(+), 61 deletions(-) create mode 100644 dizoo/distar/envs/test_distar_env_with_manager.py diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 4b5c2fa394..45530766b6 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -1,6 +1,6 @@ from distar.envs.env import SC2Env -from ding.envs import BaseEnv +from ding.envs import BaseEnv, BaseEnvTimestep from distar.agent.default.lib.actions import ACTIONS, NUM_ACTIONS from distar.agent.default.lib.features import MAX_DELAY, SPATIAL_SIZE, MAX_SELECTED_UNITS_NUM from distar.pysc2.lib.action_dict import ACTIONS_STAT @@ -13,15 +13,23 @@ def __init__(self,cfg): super(DIStarEnv, self).__init__(cfg) def reset(self): - return super(DIStarEnv,self).reset() + observations, game_info, map_name = super(DIStarEnv,self).reset() + return observations def close(self): super(DIStarEnv,self).close() - def step(self,actions): + def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) - return super(DIStarEnv,self).step(actions) + next_observations, reward, done = super(DIStarEnv,self).step(actions) + timestep = BaseEnvTimestep( + obs = next_observations, + reward = reward, + done = done, + info = None + ) + return timestep def seed(self, seed, dynamic_seed=False): self._random_seed = seed @@ -37,63 +45,66 @@ def action_space(self): pass def random_action(self, obs): - raw = obs[0]['raw_obs'].observation.raw_data - - all_unit_types = set() - self_unit_types = set() - - for u in raw.units: - # Here we select the units except “buildings that are in building progress” for simplification - if u.build_progress == 1: - all_unit_types.add(u.unit_type) - if u.alliance == 1: - self_unit_types.add(u.unit_type) - - avail_actions = [ - {0: {'exist_selected_types':[], 'exist_target_types':[]}}, - {168:{'exist_selected_types':[], 'exist_target_types':[]}} - ] # no_op and raw_move_camera don't have seleted_units - - for action_id, action in ACTIONS_STAT.items(): - exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) - exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) - - # if an action should have target, but we don't have valid target in this observation, then discard this action - if len(action['target_type']) != 0 and len(exist_target_types) == 0: - continue - - if len(exist_selected_types) > 0: - avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) - - current_action = random.choice(avail_actions) - func_id, exist_types = current_action.popitem() - - if func_id not in [0, 168]: - correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] - correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] - - num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) - - unit_tags = random.sample(correspond_selected_units, num_selected_unit) - target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None - - else: - unit_tags = [] - target_unit_tag = None + return_action = {} + for policy_id in obs.keys(): + raw = obs[policy_id]['raw_obs'].observation.raw_data + + all_unit_types = set() + self_unit_types = set() + + for u in raw.units: + # Here we select the units except “buildings that are in building progress” for simplification + if u.build_progress == 1: + all_unit_types.add(u.unit_type) + if u.alliance == 1: + self_unit_types.add(u.unit_type) + + avail_actions = [ + {0: {'exist_selected_types':[], 'exist_target_types':[]}}, + {168:{'exist_selected_types':[], 'exist_target_types':[]}} + ] # no_op and raw_move_camera don't have seleted_units + + for action_id, action in ACTIONS_STAT.items(): + exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) + exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) + + # if an action should have target, but we don't have valid target in this observation, then discard this action + if len(action['target_type']) != 0 and len(exist_target_types) == 0: + continue + + if len(exist_selected_types) > 0: + avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) - data = { - 'func_id': func_id, - 'skip_steps': random.randint(0, MAX_DELAY - 1), - # 'skip_steps': 8, - 'queued': random.randint(0, 1), - 'unit_tags': unit_tags, - 'target_unit_tag': target_unit_tag, - 'location': ( - random.randint(0, SPATIAL_SIZE[0] - 1), - random.randint(0, SPATIAL_SIZE[1] - 1) - ) - } - return {0:[data]} + current_action = random.choice(avail_actions) + func_id, exist_types = current_action.popitem() + + if func_id not in [0, 168]: + correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] + correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] + + num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) + + unit_tags = random.sample(correspond_selected_units, num_selected_unit) + target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None + + else: + unit_tags = [] + target_unit_tag = None + + data = { + 'func_id': func_id, + 'skip_steps': random.randint(0, MAX_DELAY - 1), + # 'skip_steps': 8, + 'queued': random.randint(0, 1), + 'unit_tags': unit_tags, + 'target_unit_tag': target_unit_tag, + 'location': ( + random.randint(0, SPATIAL_SIZE[0] - 1), + random.randint(0, SPATIAL_SIZE[1] - 1) + ) + } + return_action[policy_id] = [data] + return return_action @property diff --git a/dizoo/distar/envs/test_distar_config.yaml b/dizoo/distar/envs/test_distar_config.yaml index a3322baa54..18247e5a54 100644 --- a/dizoo/distar/envs/test_distar_config.yaml +++ b/dizoo/distar/envs/test_distar_config.yaml @@ -2,7 +2,7 @@ actor: job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] env: map_name: 'KingsCove' - player_ids: ['agent1', 'bot10'] + player_ids: ['agent1', 'agent2'] races: ['zerg', 'zerg'] map_size_resolutions: [True, True] # if True, ignore minimap_resolutions minimap_resolutions: [[160, 152], [160, 152]] diff --git a/dizoo/distar/envs/test_distar_env_with_manager.py b/dizoo/distar/envs/test_distar_env_with_manager.py new file mode 100644 index 0000000000..c65f8b7a80 --- /dev/null +++ b/dizoo/distar/envs/test_distar_env_with_manager.py @@ -0,0 +1,93 @@ +import os +from re import L +import shutil +import argparse + +from distar.ctools.utils import read_config, deep_merge_dicts +from distar.actor import Actor +import torch +import random +import time +from ding.envs import BaseEnvManager +from dizoo.distar.envs import DIStarEnv +import traceback + +from easydict import EasyDict +env_cfg = EasyDict( + { + 'env': { + 'manager': { + 'episode_num': 100000, + 'max_retry': 1, + 'retry_type': 'reset', + 'auto_reset': True, + 'step_timeout': None, + 'reset_timeout': None, + 'retry_waiting_time': 0.1, + 'cfg_type': 'BaseEnvManagerDict', + 'shared_memory': False + } + } + } +) + +class TestDIstarEnv: + def __init__(self): + + cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + self._whole_cfg = cfg + self._whole_cfg.env.map_name = 'KingsCove' + self._agent_env = DIStarEnv(self._whole_cfg) + + def _inference_loop(self, job={}): + + + torch.set_num_threads(1) + + # self._env = DIStarEnv(self._whole_cfg) + self._env = BaseEnvManager( + env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(1)], cfg=env_cfg.env.manager + ) + self._env.seed(1) + + with torch.no_grad(): + for episode in range(2): + self._env.launch() + try: + for env_step in range(10): + obs = self._env.ready_obs + # print(obs) + obs = {env_id: obs[env_id] for env_id in range(1)} + actions = {} + for env_id in range(1): + observations = obs[env_id] + print(type(observations)) + actions[env_id] = self._agent_env.random_action(observations) + # print(actions) + timesteps = self._env.step(actions) + print(actions) + + except Exception as e: + print('[EPISODE LOOP ERROR]', e, flush=True) + print(''.join(traceback.format_tb(e.__traceback__)), flush=True) + self._env.close() + + self._env.close() + +if __name__ == '__main__': + + ## main + if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): + sc2path = r'C:\Program Files (x86)\StarCraft II' + elif os.path.exists('/Applications/StarCraft II'): + sc2path = '/Applications/StarCraft II' + else: + assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' + sc2path = os.environ['SC2PATH'] + assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) + if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): + shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + + ## actor_run + actor = TestDIstarEnv() + actor._inference_loop() \ No newline at end of file From 3dc0b1230c4232cb3a4206ebb02db456833db5b5 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 10 Jun 2022 15:50:57 +0800 Subject: [PATCH 093/229] arrage tests --- dizoo/distar/envs/test_distar_env2.py | 333 ------------------ .../envs/{ => tests}/test_distar_config.yaml | 0 .../test_distar_env_data.py} | 2 +- .../{ => tests}/test_distar_env_time_space.py | 2 +- .../test_distar_env_with_manager.py | 3 +- 5 files changed, 3 insertions(+), 337 deletions(-) delete mode 100644 dizoo/distar/envs/test_distar_env2.py rename dizoo/distar/envs/{ => tests}/test_distar_config.yaml (100%) rename dizoo/distar/envs/{test_distar_env.py => tests/test_distar_env_data.py} (93%) rename dizoo/distar/envs/{ => tests}/test_distar_env_time_space.py (95%) rename dizoo/distar/envs/{ => tests}/test_distar_env_with_manager.py (92%) diff --git a/dizoo/distar/envs/test_distar_env2.py b/dizoo/distar/envs/test_distar_env2.py deleted file mode 100644 index 5bc284ab3b..0000000000 --- a/dizoo/distar/envs/test_distar_env2.py +++ /dev/null @@ -1,333 +0,0 @@ -import os -import shutil -import argparse - -import os -import time -import traceback -import uuid -from collections import defaultdict -import torch -import torch.multiprocessing as mp -import random -import json -import platform - -from distar.agent.import_helper import import_module -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.ctools.utils.log_helper import TextLogger, VariableRecord -from distar.ctools.worker.actor.actor_comm import ActorComm -from distar.actor import Actor -import torch -import random -import time - -from distar.ctools.worker.league.player import FRAC_ID -from distar_env import DIStarEnv -import traceback - -default_config = read_config('C:/Users/hjs/DI-star/distar/actor/actor_default_config.yaml') - -class TestDIstarEnv: - def __init__(self,cfg): - cfg = deep_merge_dicts(default_config, cfg) - self._whole_cfg = cfg - self._cfg = cfg.actor - self._job_type = cfg.actor.job_type - self._league_job_type = cfg.actor.get('league_job_type','test') - self._actor_uid = str(uuid.uuid1()) - self._gpu_batch_inference = self._cfg.get('gpu_batch_inference', False) - self._logger = TextLogger( - path=os.path.join(os.getcwd(), 'experiments', self._whole_cfg.common.experiment_name, 'actor_log'), - name=self._actor_uid) - if self._job_type == 'train': - self._comm = ActorComm(self._whole_cfg, self._actor_uid, self._logger) - self.max_job_duration = self._whole_cfg.communication.actor_ask_for_job_interval * random.uniform(0.7 , 1.3) - self._setup_agents() - - self._whole_cfg.env.map_name = 'KingsCove' - - def _setup_agents(self): - self.agents = [] - if self._job_type == 'train': - # comm setup agents - self._comm.ask_for_job(self) - else: - self.models = {} - map_names = [] - for idx, player_id in enumerate(self._cfg.player_ids): - if 'bot' in player_id: - continue - Agent = import_module(self._cfg.agents.get(player_id, 'default'), 'Agent') - agent = Agent(self._whole_cfg) - agent.player_id = player_id - agent.side_id = idx - self.agents.append(agent) - agent.side_id = idx - if agent.HAS_MODEL: - if player_id not in self.models.keys(): - if self._cfg.use_cuda: - assert 'test' in self._job_type, 'only test mode support gpu' - agent.model = agent.model.cuda() - else: - agent.model = agent.model.eval().share_memory() - if not self._cfg.fake_model: - state_dict = torch.load(self._cfg.model_paths[player_id], map_location='cpu') - if 'map_name' in state_dict: - map_names.append(state_dict['map_name']) - agent._fake_reward_prob = state_dict['fake_reward_prob'] - agent._z_path = state_dict['z_path'] - agent.z_idx = state_dict['z_idx'] - model_state_dict = {k: v for k, v in state_dict['model'].items() if - 'value_networks' not in k} - agent.model.load_state_dict(model_state_dict, strict=False) - self.models[player_id] = agent.model - else: - agent.model = self.models[player_id] - if len(map_names) == 1: - self._whole_cfg.env.map_name = map_names[0] - if len(map_names) == 2: - if not(map_names[0] == 'random' and map_names[1] != 'random'): - self._whole_cfg.env.map_name = 'NewRepugnancy' - if self._job_type == 'train_test': - teacher_models = {} - for idx, teacher_player_id in enumerate(self._cfg.teacher_player_ids): - if 'bot' in self._cfg.player_ids[idx]: - continue - agent = self.agents[idx] - agent.teacher_player_id = teacher_player_id - if agent.HAS_TEACHER_MODEL: - if teacher_player_id not in teacher_models.keys(): - if self._cfg.use_cuda: - agent.teacher_model = agent.teacher_model.cuda() - else: - agent.teacher_model = agent.teacher_model.eval() - if not self._cfg.fake_model: - state_dict = torch.load(self._cfg.teacher_model_paths[teacher_player_id], - map_location='cpu') - model_state_dict = {k: v for k, v in state_dict['model'].items() if - 'value_networks' not in k} - agent.teacher_model.load_state_dict(model_state_dict) - teacher_models[teacher_player_id] = agent.teacher_model - else: - agent.teacher_model = teacher_models[teacher_player_id] - - def _inference_loop(self, env_id=0, job={}, result_queue=None, pipe_c=None): - torch.set_num_threads(1) - frac_ids = job.get('frac_ids',[]) - env_info = job.get('env_info', {}) - races = [] - for frac_id in frac_ids: - races.append(random.choice(FRAC_ID[frac_id])) - if len(races) >0: - env_info['races']=races - mergerd_whole_cfg = deep_merge_dicts(self._whole_cfg, {'env': env_info}) - self._env = DIStarEnv(mergerd_whole_cfg) - - iter_count = 0 - if env_id == 0: - variable_record = VariableRecord(self._cfg.print_freq) - variable_record.register_var('agent_time') - variable_record.register_var('agent_time_per_agent') - variable_record.register_var('env_time') - if 'train' in self._job_type: - variable_record.register_var('post_process_time') - variable_record.register_var('post_process_per_agent') - variable_record.register_var('send_data_time') - variable_record.register_var('send_data_per_agent') - variable_record.register_var('send_data_per_agent') - variable_record.register_var('update_model_time') - - with torch.no_grad(): - episode_count = 0 - while episode_count < self._cfg.episode_num: - try: - game_start = time.time() - game_iters = 0 - observations, game_info, map_name = self._env.reset() - for idx in observations.keys(): - self.agents[idx].env_id = env_id - race = self._whole_cfg.env.races[idx] - self.agents[idx].reset(map_name, race, game_info[idx], observations[idx]) - - for iter in range(50): # one episode loop - # agent step - # if iter % 5 == 1: - # actions = {0: [{'func_id': 503, 'skip_steps': 0, 'queued': 0, 'unit_tags': [4350279681, 4350541825, 4350803969], - # 'target_unit_tag': 4309123073, 'location': (127, 17)}]} - # elif iter % 5 == 2: - # actions = {0: [{'func_id': 503, 'skip_steps': 9, 'queued': 0, - # 'unit_tags': [4346085377, 4346347521, 4346609665], 'target_unit_tag': 4345823233, 'location': (17, 121)}]} - # elif iter % 5 == 3: - # actions = {0: [{'func_id': 12, 'skip_steps': 8, 'queued': 0, - # 'unit_tags': [4350279681, 4350541825, 4350803969], 'target_unit_tag': 4309123073, 'location': (139, 16)}]} - # elif iter % 5 == 4: - # actions = {0: [{'func_id': 515, 'skip_steps': 3, 'queued': 0, - # 'unit_tags': [4350541825, 4350803969, 4358930433], 'target_unit_tag': 4309123073, 'location': (127, 15)}]} - # else: - # actions = {0: [{'func_id': 1, 'skip_steps': 10, 'queued': 0, - # 'unit_tags': [4354211841], 'target_unit_tag': 4350017537, 'location': (126, 27)}]} - - # agent step - agent_start_time = time.time() - agent_count = 0 - actions = {} - - players_obs = observations - for player_index, obs in players_obs.items(): - player_id = self.agents[player_index].player_id - if self._job_type == 'train': - self.agents[player_index]._model_last_iter = self._comm.model_last_iter_dict[player_id].item() - actions[player_index] = self.agents[player_index].step(obs) - agent_count += 1 - agent_time = time.time() - agent_start_time - - - # env step - env_start_time = time.time() - next_observations, reward, done = self._env.step(actions) - # print('reward: ', reward) - # print('next_observations', next_observations) - # print('done: ', done) - env_time = time.time() - env_start_time - next_players_obs = next_observations - time.sleep(1) - - # collect data - if 'train' in self._job_type: - post_process_time = 0 - post_process_count = 0 - send_data_time = 0 - send_data_count = 0 - for player_index, obs in next_players_obs.items(): - if self._job_type == 'train_test' or self.agents[player_index].player_id in self._comm.job[ - 'send_data_players']: - post_process_start_time = time.time() - traj_data = self.agents[player_index].collect_data(next_players_obs[player_index], - reward[player_index], done, player_index) - post_process_time += time.time() - post_process_start_time - post_process_count += 1 - if traj_data is not None and self._job_type == 'train': - send_data_start_time = time.time() - self._comm.send_data(traj_data, self.agents[player_index].player_id) - send_data_time += time.time() - send_data_start_time - send_data_count += 1 - else: - self.agents[player_index].update_fake_reward(next_players_obs[player_index]) - - # update log - iter_count += 1 - game_iters += 1 - if env_id == 0: - if 'train' in self._job_type: - variable_record.update_var( - {'agent_time': agent_time, - 'agent_time_per_agent': agent_time / (agent_count + 1e-6), - 'env_time': env_time, - }) - if post_process_count > 0: - variable_record.update_var( - {'post_process_time': post_process_time, - 'post_process_per_agent': post_process_time / post_process_count, - }) - if send_data_count > 0: - variable_record.update_var({ - 'send_data_time': send_data_time, - 'send_data_per_agent': send_data_time / send_data_count, - }) - - else: - variable_record.update_var({'agent_time': agent_time, - 'agent_time_per_agent': agent_time / (agent_count + 1e-6), - 'env_time': env_time, }) - self.iter_after_hook(iter_count, variable_record) - - if not done: - observations = next_observations - else: - players_obs = observations - if 'test' in self._whole_cfg and self._whole_cfg.test.get('tb_stat', False): - if not os.path.exists(self._env._result_dir): - os.makedirs(self._env._result_dir) - data = self.agents[0].get_stat_data() - path = os.path.join(self._env._result_dir, '{}_{}_{}_.json'.format(env_id, episode_count, player_index)) - with open(path, 'w') as f: - json.dump(data, f) - - if self._job_type == 'train': - player_idx = random.sample(players_obs.keys(), 1)[0] - game_steps = players_obs[player_idx]['raw_obs'].observation.game_loop - result_info = defaultdict(dict) - - for player_index in range(len(self.agents)): - player_id = self.agents[player_index].player_id - side_id = self.agents[player_index].side_id - race = self.agents[player_index].race - agent_iters = self.agents[player_index].iter_count - result_info[side_id]['race'] = race - result_info[side_id]['player_id'] = player_id - result_info[side_id]['opponent_id'] = self.agents[player_index].opponent_id - result_info[side_id]['winloss'] = reward[player_index] - result_info[side_id]['agent_iters'] = agent_iters - result_info[side_id].update(self.agents[player_index].get_unit_num_info()) - result_info[side_id].update(self.agents[player_index].get_stat_data()) - game_duration = time.time() - game_start - result_info['game_steps'] = game_steps - result_info['game_iters'] = game_iters - result_info['game_duration'] = game_duration - self._comm.send_result(result_info) - break - - except Exception as e: - print('[EPISODE LOOP ERROR]', e, flush=True) - print(''.join(traceback.format_tb(e.__traceback__)), flush=True) - self._env.close() - self._env.close() - if result_queue is not None: - print(os.getpid(), 'done') - result_queue.put('done') - time.sleep(1000000) - else: - return - def iter_after_hook(self, iter_count, variable_record): - if iter_count % self._cfg.print_freq == 0: - if hasattr(self,'_comm'): - variable_record.update_var({'update_model_time':self._comm._avg_update_model_time.item() }) - self._logger.info( - 'ACTOR({}):\n{}TimeStep{}{} {}'.format( - self._actor_uid, '=' * 35, iter_count, '=' * 35, - variable_record.get_vars_text() - ) - ) - -if __name__ == '__main__': - - ## main - if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): - sc2path = r'C:\Program Files (x86)\StarCraft II' - elif os.path.exists('/Applications/StarCraft II'): - sc2path = '/Applications/StarCraft II' - else: - assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' - sc2path = os.environ['SC2PATH'] - assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) - if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) - - parser = argparse.ArgumentParser(description="rl_train") - parser.add_argument("--config", default='C:/Users/hjs/DI-star/distar/bin/user_config.yaml') - parser.add_argument("--type", default=None) - parser.add_argument("--task", default='bot') - parser.add_argument("--player_id", default='MP0') - parser.add_argument("--gpu_batch_inference", default='false') - parser.add_argument("--init_method", type=str, default=None) - parser.add_argument("--rank", type=int, default=0) - parser.add_argument("--world_size", type=int, default=1) - args = parser.parse_args() - config = read_config(args.config) - config.common.type = 'rl' - config.actor.traj_len = config.learner.data.trajectory_length - - ## actor_run - actor = TestDIstarEnv(config) - actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/test_distar_config.yaml b/dizoo/distar/envs/tests/test_distar_config.yaml similarity index 100% rename from dizoo/distar/envs/test_distar_config.yaml rename to dizoo/distar/envs/tests/test_distar_config.yaml diff --git a/dizoo/distar/envs/test_distar_env.py b/dizoo/distar/envs/tests/test_distar_env_data.py similarity index 93% rename from dizoo/distar/envs/test_distar_env.py rename to dizoo/distar/envs/tests/test_distar_env_data.py index 6e25788431..38f1dc83a6 100644 --- a/dizoo/distar/envs/test_distar_env.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -11,7 +11,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' diff --git a/dizoo/distar/envs/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py similarity index 95% rename from dizoo/distar/envs/test_distar_env_time_space.py rename to dizoo/distar/envs/tests/test_distar_env_time_space.py index d2f784a119..3cc3612e45 100644 --- a/dizoo/distar/envs/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -12,7 +12,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-star/ding-test/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' self._total_iters = 0 diff --git a/dizoo/distar/envs/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py similarity index 92% rename from dizoo/distar/envs/test_distar_env_with_manager.py rename to dizoo/distar/envs/tests/test_distar_env_with_manager.py index c65f8b7a80..78f8154ba6 100644 --- a/dizoo/distar/envs/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -34,7 +34,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' self._agent_env = DIStarEnv(self._whole_cfg) @@ -61,7 +61,6 @@ def _inference_loop(self, job={}): actions = {} for env_id in range(1): observations = obs[env_id] - print(type(observations)) actions[env_id] = self._agent_env.random_action(observations) # print(actions) timesteps = self._env.step(actions) From 9b4deaace760ad2117e1b3ff61337c6e7055fda2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 10 Jun 2022 15:52:31 +0800 Subject: [PATCH 094/229] format context and league_actor --- ding/framework/context.py | 30 ++++++++++++++--------- ding/framework/middleware/league_actor.py | 2 +- 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 4113ea5c7b..47582b9c64 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -80,26 +80,32 @@ class BattleContext(Context): def __init__(self, *args, **kwargs) -> None: super().__init__(*args, **kwargs) self.__dict__ = self + # collect target paras self.n_episode = None + self.n_sample = 1 + self.unroll_len = 1 + + #collect process paras + self.env_episode = 0 + self.env_step = 0 + self.total_envstep_count = 0 self.train_iter = 0 - self.job = None self.collect_kwargs = {} - self.env_episode = 0 - self.episodes = [] - self.episode_info = [] - self.ready_env_id = set() self.agent_num = 2 - self.job_finish = False self.traj_len = float("inf") self.current_policies = [] - self.env_step = 0 - self.total_envstep_count = 0 + self.ready_env_id = set() + self.remain_episode = 0 + + #job paras + self.job = None + self.job_finish = False + + #Return data paras + self.episodes = [] + self.episode_info = [] self.trajectories_list = [] self.trajectory_end_idx_list = [] self.trajectories = [] self.trajectory_end_idx = None - - self.remain_episode = 0 - self.n_sample = 1 - self.unroll_len = 1 self.train_data = None diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d47c3d5484..b9760873fc 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -104,7 +104,6 @@ def __call__(self, ctx: "BattleContext"): collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) main_player, ctx.current_policies = self._get_current_policies(ctx.job) - ctx.agent_num = len(ctx.current_policies) _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) if ctx.n_episode is None: @@ -114,6 +113,7 @@ def __call__(self, ctx: "BattleContext"): ctx.n_episode = _default_n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" + ctx.agent_num = len(ctx.current_policies) ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(ctx.agent_num)] ctx.remain_episode = ctx.n_episode From c65fecfc731c44384b7ca1d70b7cf34978a8f0ab Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 10 Jun 2022 16:16:18 +0800 Subject: [PATCH 095/229] make old test runnable --- .../distar/envs/tests/test_distar_env_data.py | 13 +++++----- .../envs/tests/test_distar_env_time_space.py | 25 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py index 38f1dc83a6..85caa88973 100644 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -8,6 +8,9 @@ import random import time +from dizoo.distar.envs import DIStarEnv +import traceback + class TestDIstarEnv: def __init__(self): @@ -16,8 +19,6 @@ def __init__(self): self._whole_cfg.env.map_name = 'KingsCove' def _inference_loop(self, job={}): - from dizoo.distar.envs import DIStarEnv - import traceback torch.set_num_threads(1) @@ -26,15 +27,15 @@ def _inference_loop(self, job={}): with torch.no_grad(): for _ in range(5): try: - observations, game_info, map_name = self._env.reset() + observations = self._env.reset() for iter in range(1000): # one episode loop # agent step actions = self._env.random_action(observations) # env step - next_observations, reward, done = self._env.step(actions) - if not done: - observations = next_observations + timestep = self._env.step(actions) + if not timestep.done: + observations = timestep.obs else: break diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py index 3cc3612e45..6d99173aa5 100644 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -9,6 +9,9 @@ import time import sys +from dizoo.distar.envs import DIStarEnv +import traceback + class TestDIstarEnv: def __init__(self): @@ -20,8 +23,6 @@ def __init__(self): self._total_space = 0 def _inference_loop(self, job={}): - from distar_env import DIStarEnv - import traceback torch.set_num_threads(1) @@ -30,32 +31,32 @@ def _inference_loop(self, job={}): with torch.no_grad(): for _ in range(5): try: - observations, game_info, map_name = self._env.reset() + observations = self._env.reset() for iter in range(1000): # one episode loop # agent step actions = self._env.random_action(observations) # env step before_step_time = time.time() - next_observations, reward, done = self._env.step(actions) + timestep = self._env.step(actions) after_step_time = time.time() self._total_time += after_step_time - before_step_time self._total_iters += 1 - self._total_space += sys.getsizeof((actions,observations,next_observations,reward,done)) + self._total_space += sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)) print('observations: ', sys.getsizeof(observations), ' Byte') print('actions: ', sys.getsizeof(actions), ' Byte') - print('reward: ', sys.getsizeof(reward), ' Byte') - print('done: ', sys.getsizeof(done), ' Byte') - print('total: ', sys.getsizeof((actions,observations,next_observations,reward,done)),' Byte') + print('reward: ', sys.getsizeof(timestep.reward), ' Byte') + print('done: ', sys.getsizeof(timestep.done), ' Byte') + print('total: ', sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)),' Byte') print(type(observations)) # dict - print(type(reward)) # list - print(type(done)) # bool + print(type(timestep.reward)) # list + print(type(timestep.done)) # bool print(type(actions)) # dict - if not done: - observations = next_observations + if not timestep.done: + observations = timestep.obs else: break From cd189550d87b0d7a4f5266be80a343daa1cd9c81 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 9 Jun 2022 17:26:35 +0800 Subject: [PATCH 096/229] change the distar_env to fit BaseEnvManager, write test_distar_env_with_manager.py to test. change config to get self-play --- dizoo/distar/envs/distar_env.py | 131 ++++++++++-------- dizoo/distar/envs/test_distar_config.yaml | 2 +- .../envs/test_distar_env_with_manager.py | 93 +++++++++++++ 3 files changed, 165 insertions(+), 61 deletions(-) create mode 100644 dizoo/distar/envs/test_distar_env_with_manager.py diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 4b5c2fa394..45530766b6 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -1,6 +1,6 @@ from distar.envs.env import SC2Env -from ding.envs import BaseEnv +from ding.envs import BaseEnv, BaseEnvTimestep from distar.agent.default.lib.actions import ACTIONS, NUM_ACTIONS from distar.agent.default.lib.features import MAX_DELAY, SPATIAL_SIZE, MAX_SELECTED_UNITS_NUM from distar.pysc2.lib.action_dict import ACTIONS_STAT @@ -13,15 +13,23 @@ def __init__(self,cfg): super(DIStarEnv, self).__init__(cfg) def reset(self): - return super(DIStarEnv,self).reset() + observations, game_info, map_name = super(DIStarEnv,self).reset() + return observations def close(self): super(DIStarEnv,self).close() - def step(self,actions): + def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) - return super(DIStarEnv,self).step(actions) + next_observations, reward, done = super(DIStarEnv,self).step(actions) + timestep = BaseEnvTimestep( + obs = next_observations, + reward = reward, + done = done, + info = None + ) + return timestep def seed(self, seed, dynamic_seed=False): self._random_seed = seed @@ -37,63 +45,66 @@ def action_space(self): pass def random_action(self, obs): - raw = obs[0]['raw_obs'].observation.raw_data - - all_unit_types = set() - self_unit_types = set() - - for u in raw.units: - # Here we select the units except “buildings that are in building progress” for simplification - if u.build_progress == 1: - all_unit_types.add(u.unit_type) - if u.alliance == 1: - self_unit_types.add(u.unit_type) - - avail_actions = [ - {0: {'exist_selected_types':[], 'exist_target_types':[]}}, - {168:{'exist_selected_types':[], 'exist_target_types':[]}} - ] # no_op and raw_move_camera don't have seleted_units - - for action_id, action in ACTIONS_STAT.items(): - exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) - exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) - - # if an action should have target, but we don't have valid target in this observation, then discard this action - if len(action['target_type']) != 0 and len(exist_target_types) == 0: - continue - - if len(exist_selected_types) > 0: - avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) - - current_action = random.choice(avail_actions) - func_id, exist_types = current_action.popitem() - - if func_id not in [0, 168]: - correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] - correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] - - num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) - - unit_tags = random.sample(correspond_selected_units, num_selected_unit) - target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None - - else: - unit_tags = [] - target_unit_tag = None + return_action = {} + for policy_id in obs.keys(): + raw = obs[policy_id]['raw_obs'].observation.raw_data + + all_unit_types = set() + self_unit_types = set() + + for u in raw.units: + # Here we select the units except “buildings that are in building progress” for simplification + if u.build_progress == 1: + all_unit_types.add(u.unit_type) + if u.alliance == 1: + self_unit_types.add(u.unit_type) + + avail_actions = [ + {0: {'exist_selected_types':[], 'exist_target_types':[]}}, + {168:{'exist_selected_types':[], 'exist_target_types':[]}} + ] # no_op and raw_move_camera don't have seleted_units + + for action_id, action in ACTIONS_STAT.items(): + exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) + exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) + + # if an action should have target, but we don't have valid target in this observation, then discard this action + if len(action['target_type']) != 0 and len(exist_target_types) == 0: + continue + + if len(exist_selected_types) > 0: + avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) - data = { - 'func_id': func_id, - 'skip_steps': random.randint(0, MAX_DELAY - 1), - # 'skip_steps': 8, - 'queued': random.randint(0, 1), - 'unit_tags': unit_tags, - 'target_unit_tag': target_unit_tag, - 'location': ( - random.randint(0, SPATIAL_SIZE[0] - 1), - random.randint(0, SPATIAL_SIZE[1] - 1) - ) - } - return {0:[data]} + current_action = random.choice(avail_actions) + func_id, exist_types = current_action.popitem() + + if func_id not in [0, 168]: + correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] + correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] + + num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) + + unit_tags = random.sample(correspond_selected_units, num_selected_unit) + target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None + + else: + unit_tags = [] + target_unit_tag = None + + data = { + 'func_id': func_id, + 'skip_steps': random.randint(0, MAX_DELAY - 1), + # 'skip_steps': 8, + 'queued': random.randint(0, 1), + 'unit_tags': unit_tags, + 'target_unit_tag': target_unit_tag, + 'location': ( + random.randint(0, SPATIAL_SIZE[0] - 1), + random.randint(0, SPATIAL_SIZE[1] - 1) + ) + } + return_action[policy_id] = [data] + return return_action @property diff --git a/dizoo/distar/envs/test_distar_config.yaml b/dizoo/distar/envs/test_distar_config.yaml index a3322baa54..18247e5a54 100644 --- a/dizoo/distar/envs/test_distar_config.yaml +++ b/dizoo/distar/envs/test_distar_config.yaml @@ -2,7 +2,7 @@ actor: job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] env: map_name: 'KingsCove' - player_ids: ['agent1', 'bot10'] + player_ids: ['agent1', 'agent2'] races: ['zerg', 'zerg'] map_size_resolutions: [True, True] # if True, ignore minimap_resolutions minimap_resolutions: [[160, 152], [160, 152]] diff --git a/dizoo/distar/envs/test_distar_env_with_manager.py b/dizoo/distar/envs/test_distar_env_with_manager.py new file mode 100644 index 0000000000..c65f8b7a80 --- /dev/null +++ b/dizoo/distar/envs/test_distar_env_with_manager.py @@ -0,0 +1,93 @@ +import os +from re import L +import shutil +import argparse + +from distar.ctools.utils import read_config, deep_merge_dicts +from distar.actor import Actor +import torch +import random +import time +from ding.envs import BaseEnvManager +from dizoo.distar.envs import DIStarEnv +import traceback + +from easydict import EasyDict +env_cfg = EasyDict( + { + 'env': { + 'manager': { + 'episode_num': 100000, + 'max_retry': 1, + 'retry_type': 'reset', + 'auto_reset': True, + 'step_timeout': None, + 'reset_timeout': None, + 'retry_waiting_time': 0.1, + 'cfg_type': 'BaseEnvManagerDict', + 'shared_memory': False + } + } + } +) + +class TestDIstarEnv: + def __init__(self): + + cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + self._whole_cfg = cfg + self._whole_cfg.env.map_name = 'KingsCove' + self._agent_env = DIStarEnv(self._whole_cfg) + + def _inference_loop(self, job={}): + + + torch.set_num_threads(1) + + # self._env = DIStarEnv(self._whole_cfg) + self._env = BaseEnvManager( + env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(1)], cfg=env_cfg.env.manager + ) + self._env.seed(1) + + with torch.no_grad(): + for episode in range(2): + self._env.launch() + try: + for env_step in range(10): + obs = self._env.ready_obs + # print(obs) + obs = {env_id: obs[env_id] for env_id in range(1)} + actions = {} + for env_id in range(1): + observations = obs[env_id] + print(type(observations)) + actions[env_id] = self._agent_env.random_action(observations) + # print(actions) + timesteps = self._env.step(actions) + print(actions) + + except Exception as e: + print('[EPISODE LOOP ERROR]', e, flush=True) + print(''.join(traceback.format_tb(e.__traceback__)), flush=True) + self._env.close() + + self._env.close() + +if __name__ == '__main__': + + ## main + if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): + sc2path = r'C:\Program Files (x86)\StarCraft II' + elif os.path.exists('/Applications/StarCraft II'): + sc2path = '/Applications/StarCraft II' + else: + assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' + sc2path = os.environ['SC2PATH'] + assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) + if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): + shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + + ## actor_run + actor = TestDIstarEnv() + actor._inference_loop() \ No newline at end of file From 6a3d4334d1b537ffea8800c0675b3634d3ef38eb Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 10 Jun 2022 15:50:57 +0800 Subject: [PATCH 097/229] arrage tests --- dizoo/distar/envs/test_distar_env2.py | 333 ------------------ .../envs/{ => tests}/test_distar_config.yaml | 0 .../test_distar_env_data.py} | 2 +- .../{ => tests}/test_distar_env_time_space.py | 2 +- .../test_distar_env_with_manager.py | 3 +- 5 files changed, 3 insertions(+), 337 deletions(-) delete mode 100644 dizoo/distar/envs/test_distar_env2.py rename dizoo/distar/envs/{ => tests}/test_distar_config.yaml (100%) rename dizoo/distar/envs/{test_distar_env.py => tests/test_distar_env_data.py} (93%) rename dizoo/distar/envs/{ => tests}/test_distar_env_time_space.py (95%) rename dizoo/distar/envs/{ => tests}/test_distar_env_with_manager.py (92%) diff --git a/dizoo/distar/envs/test_distar_env2.py b/dizoo/distar/envs/test_distar_env2.py deleted file mode 100644 index 5bc284ab3b..0000000000 --- a/dizoo/distar/envs/test_distar_env2.py +++ /dev/null @@ -1,333 +0,0 @@ -import os -import shutil -import argparse - -import os -import time -import traceback -import uuid -from collections import defaultdict -import torch -import torch.multiprocessing as mp -import random -import json -import platform - -from distar.agent.import_helper import import_module -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.ctools.utils.log_helper import TextLogger, VariableRecord -from distar.ctools.worker.actor.actor_comm import ActorComm -from distar.actor import Actor -import torch -import random -import time - -from distar.ctools.worker.league.player import FRAC_ID -from distar_env import DIStarEnv -import traceback - -default_config = read_config('C:/Users/hjs/DI-star/distar/actor/actor_default_config.yaml') - -class TestDIstarEnv: - def __init__(self,cfg): - cfg = deep_merge_dicts(default_config, cfg) - self._whole_cfg = cfg - self._cfg = cfg.actor - self._job_type = cfg.actor.job_type - self._league_job_type = cfg.actor.get('league_job_type','test') - self._actor_uid = str(uuid.uuid1()) - self._gpu_batch_inference = self._cfg.get('gpu_batch_inference', False) - self._logger = TextLogger( - path=os.path.join(os.getcwd(), 'experiments', self._whole_cfg.common.experiment_name, 'actor_log'), - name=self._actor_uid) - if self._job_type == 'train': - self._comm = ActorComm(self._whole_cfg, self._actor_uid, self._logger) - self.max_job_duration = self._whole_cfg.communication.actor_ask_for_job_interval * random.uniform(0.7 , 1.3) - self._setup_agents() - - self._whole_cfg.env.map_name = 'KingsCove' - - def _setup_agents(self): - self.agents = [] - if self._job_type == 'train': - # comm setup agents - self._comm.ask_for_job(self) - else: - self.models = {} - map_names = [] - for idx, player_id in enumerate(self._cfg.player_ids): - if 'bot' in player_id: - continue - Agent = import_module(self._cfg.agents.get(player_id, 'default'), 'Agent') - agent = Agent(self._whole_cfg) - agent.player_id = player_id - agent.side_id = idx - self.agents.append(agent) - agent.side_id = idx - if agent.HAS_MODEL: - if player_id not in self.models.keys(): - if self._cfg.use_cuda: - assert 'test' in self._job_type, 'only test mode support gpu' - agent.model = agent.model.cuda() - else: - agent.model = agent.model.eval().share_memory() - if not self._cfg.fake_model: - state_dict = torch.load(self._cfg.model_paths[player_id], map_location='cpu') - if 'map_name' in state_dict: - map_names.append(state_dict['map_name']) - agent._fake_reward_prob = state_dict['fake_reward_prob'] - agent._z_path = state_dict['z_path'] - agent.z_idx = state_dict['z_idx'] - model_state_dict = {k: v for k, v in state_dict['model'].items() if - 'value_networks' not in k} - agent.model.load_state_dict(model_state_dict, strict=False) - self.models[player_id] = agent.model - else: - agent.model = self.models[player_id] - if len(map_names) == 1: - self._whole_cfg.env.map_name = map_names[0] - if len(map_names) == 2: - if not(map_names[0] == 'random' and map_names[1] != 'random'): - self._whole_cfg.env.map_name = 'NewRepugnancy' - if self._job_type == 'train_test': - teacher_models = {} - for idx, teacher_player_id in enumerate(self._cfg.teacher_player_ids): - if 'bot' in self._cfg.player_ids[idx]: - continue - agent = self.agents[idx] - agent.teacher_player_id = teacher_player_id - if agent.HAS_TEACHER_MODEL: - if teacher_player_id not in teacher_models.keys(): - if self._cfg.use_cuda: - agent.teacher_model = agent.teacher_model.cuda() - else: - agent.teacher_model = agent.teacher_model.eval() - if not self._cfg.fake_model: - state_dict = torch.load(self._cfg.teacher_model_paths[teacher_player_id], - map_location='cpu') - model_state_dict = {k: v for k, v in state_dict['model'].items() if - 'value_networks' not in k} - agent.teacher_model.load_state_dict(model_state_dict) - teacher_models[teacher_player_id] = agent.teacher_model - else: - agent.teacher_model = teacher_models[teacher_player_id] - - def _inference_loop(self, env_id=0, job={}, result_queue=None, pipe_c=None): - torch.set_num_threads(1) - frac_ids = job.get('frac_ids',[]) - env_info = job.get('env_info', {}) - races = [] - for frac_id in frac_ids: - races.append(random.choice(FRAC_ID[frac_id])) - if len(races) >0: - env_info['races']=races - mergerd_whole_cfg = deep_merge_dicts(self._whole_cfg, {'env': env_info}) - self._env = DIStarEnv(mergerd_whole_cfg) - - iter_count = 0 - if env_id == 0: - variable_record = VariableRecord(self._cfg.print_freq) - variable_record.register_var('agent_time') - variable_record.register_var('agent_time_per_agent') - variable_record.register_var('env_time') - if 'train' in self._job_type: - variable_record.register_var('post_process_time') - variable_record.register_var('post_process_per_agent') - variable_record.register_var('send_data_time') - variable_record.register_var('send_data_per_agent') - variable_record.register_var('send_data_per_agent') - variable_record.register_var('update_model_time') - - with torch.no_grad(): - episode_count = 0 - while episode_count < self._cfg.episode_num: - try: - game_start = time.time() - game_iters = 0 - observations, game_info, map_name = self._env.reset() - for idx in observations.keys(): - self.agents[idx].env_id = env_id - race = self._whole_cfg.env.races[idx] - self.agents[idx].reset(map_name, race, game_info[idx], observations[idx]) - - for iter in range(50): # one episode loop - # agent step - # if iter % 5 == 1: - # actions = {0: [{'func_id': 503, 'skip_steps': 0, 'queued': 0, 'unit_tags': [4350279681, 4350541825, 4350803969], - # 'target_unit_tag': 4309123073, 'location': (127, 17)}]} - # elif iter % 5 == 2: - # actions = {0: [{'func_id': 503, 'skip_steps': 9, 'queued': 0, - # 'unit_tags': [4346085377, 4346347521, 4346609665], 'target_unit_tag': 4345823233, 'location': (17, 121)}]} - # elif iter % 5 == 3: - # actions = {0: [{'func_id': 12, 'skip_steps': 8, 'queued': 0, - # 'unit_tags': [4350279681, 4350541825, 4350803969], 'target_unit_tag': 4309123073, 'location': (139, 16)}]} - # elif iter % 5 == 4: - # actions = {0: [{'func_id': 515, 'skip_steps': 3, 'queued': 0, - # 'unit_tags': [4350541825, 4350803969, 4358930433], 'target_unit_tag': 4309123073, 'location': (127, 15)}]} - # else: - # actions = {0: [{'func_id': 1, 'skip_steps': 10, 'queued': 0, - # 'unit_tags': [4354211841], 'target_unit_tag': 4350017537, 'location': (126, 27)}]} - - # agent step - agent_start_time = time.time() - agent_count = 0 - actions = {} - - players_obs = observations - for player_index, obs in players_obs.items(): - player_id = self.agents[player_index].player_id - if self._job_type == 'train': - self.agents[player_index]._model_last_iter = self._comm.model_last_iter_dict[player_id].item() - actions[player_index] = self.agents[player_index].step(obs) - agent_count += 1 - agent_time = time.time() - agent_start_time - - - # env step - env_start_time = time.time() - next_observations, reward, done = self._env.step(actions) - # print('reward: ', reward) - # print('next_observations', next_observations) - # print('done: ', done) - env_time = time.time() - env_start_time - next_players_obs = next_observations - time.sleep(1) - - # collect data - if 'train' in self._job_type: - post_process_time = 0 - post_process_count = 0 - send_data_time = 0 - send_data_count = 0 - for player_index, obs in next_players_obs.items(): - if self._job_type == 'train_test' or self.agents[player_index].player_id in self._comm.job[ - 'send_data_players']: - post_process_start_time = time.time() - traj_data = self.agents[player_index].collect_data(next_players_obs[player_index], - reward[player_index], done, player_index) - post_process_time += time.time() - post_process_start_time - post_process_count += 1 - if traj_data is not None and self._job_type == 'train': - send_data_start_time = time.time() - self._comm.send_data(traj_data, self.agents[player_index].player_id) - send_data_time += time.time() - send_data_start_time - send_data_count += 1 - else: - self.agents[player_index].update_fake_reward(next_players_obs[player_index]) - - # update log - iter_count += 1 - game_iters += 1 - if env_id == 0: - if 'train' in self._job_type: - variable_record.update_var( - {'agent_time': agent_time, - 'agent_time_per_agent': agent_time / (agent_count + 1e-6), - 'env_time': env_time, - }) - if post_process_count > 0: - variable_record.update_var( - {'post_process_time': post_process_time, - 'post_process_per_agent': post_process_time / post_process_count, - }) - if send_data_count > 0: - variable_record.update_var({ - 'send_data_time': send_data_time, - 'send_data_per_agent': send_data_time / send_data_count, - }) - - else: - variable_record.update_var({'agent_time': agent_time, - 'agent_time_per_agent': agent_time / (agent_count + 1e-6), - 'env_time': env_time, }) - self.iter_after_hook(iter_count, variable_record) - - if not done: - observations = next_observations - else: - players_obs = observations - if 'test' in self._whole_cfg and self._whole_cfg.test.get('tb_stat', False): - if not os.path.exists(self._env._result_dir): - os.makedirs(self._env._result_dir) - data = self.agents[0].get_stat_data() - path = os.path.join(self._env._result_dir, '{}_{}_{}_.json'.format(env_id, episode_count, player_index)) - with open(path, 'w') as f: - json.dump(data, f) - - if self._job_type == 'train': - player_idx = random.sample(players_obs.keys(), 1)[0] - game_steps = players_obs[player_idx]['raw_obs'].observation.game_loop - result_info = defaultdict(dict) - - for player_index in range(len(self.agents)): - player_id = self.agents[player_index].player_id - side_id = self.agents[player_index].side_id - race = self.agents[player_index].race - agent_iters = self.agents[player_index].iter_count - result_info[side_id]['race'] = race - result_info[side_id]['player_id'] = player_id - result_info[side_id]['opponent_id'] = self.agents[player_index].opponent_id - result_info[side_id]['winloss'] = reward[player_index] - result_info[side_id]['agent_iters'] = agent_iters - result_info[side_id].update(self.agents[player_index].get_unit_num_info()) - result_info[side_id].update(self.agents[player_index].get_stat_data()) - game_duration = time.time() - game_start - result_info['game_steps'] = game_steps - result_info['game_iters'] = game_iters - result_info['game_duration'] = game_duration - self._comm.send_result(result_info) - break - - except Exception as e: - print('[EPISODE LOOP ERROR]', e, flush=True) - print(''.join(traceback.format_tb(e.__traceback__)), flush=True) - self._env.close() - self._env.close() - if result_queue is not None: - print(os.getpid(), 'done') - result_queue.put('done') - time.sleep(1000000) - else: - return - def iter_after_hook(self, iter_count, variable_record): - if iter_count % self._cfg.print_freq == 0: - if hasattr(self,'_comm'): - variable_record.update_var({'update_model_time':self._comm._avg_update_model_time.item() }) - self._logger.info( - 'ACTOR({}):\n{}TimeStep{}{} {}'.format( - self._actor_uid, '=' * 35, iter_count, '=' * 35, - variable_record.get_vars_text() - ) - ) - -if __name__ == '__main__': - - ## main - if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): - sc2path = r'C:\Program Files (x86)\StarCraft II' - elif os.path.exists('/Applications/StarCraft II'): - sc2path = '/Applications/StarCraft II' - else: - assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' - sc2path = os.environ['SC2PATH'] - assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) - if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) - - parser = argparse.ArgumentParser(description="rl_train") - parser.add_argument("--config", default='C:/Users/hjs/DI-star/distar/bin/user_config.yaml') - parser.add_argument("--type", default=None) - parser.add_argument("--task", default='bot') - parser.add_argument("--player_id", default='MP0') - parser.add_argument("--gpu_batch_inference", default='false') - parser.add_argument("--init_method", type=str, default=None) - parser.add_argument("--rank", type=int, default=0) - parser.add_argument("--world_size", type=int, default=1) - args = parser.parse_args() - config = read_config(args.config) - config.common.type = 'rl' - config.actor.traj_len = config.learner.data.trajectory_length - - ## actor_run - actor = TestDIstarEnv(config) - actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/test_distar_config.yaml b/dizoo/distar/envs/tests/test_distar_config.yaml similarity index 100% rename from dizoo/distar/envs/test_distar_config.yaml rename to dizoo/distar/envs/tests/test_distar_config.yaml diff --git a/dizoo/distar/envs/test_distar_env.py b/dizoo/distar/envs/tests/test_distar_env_data.py similarity index 93% rename from dizoo/distar/envs/test_distar_env.py rename to dizoo/distar/envs/tests/test_distar_env_data.py index 6e25788431..38f1dc83a6 100644 --- a/dizoo/distar/envs/test_distar_env.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -11,7 +11,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' diff --git a/dizoo/distar/envs/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py similarity index 95% rename from dizoo/distar/envs/test_distar_env_time_space.py rename to dizoo/distar/envs/tests/test_distar_env_time_space.py index d2f784a119..3cc3612e45 100644 --- a/dizoo/distar/envs/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -12,7 +12,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-star/ding-test/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' self._total_iters = 0 diff --git a/dizoo/distar/envs/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py similarity index 92% rename from dizoo/distar/envs/test_distar_env_with_manager.py rename to dizoo/distar/envs/tests/test_distar_env_with_manager.py index c65f8b7a80..78f8154ba6 100644 --- a/dizoo/distar/envs/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -34,7 +34,7 @@ class TestDIstarEnv: def __init__(self): - cfg = read_config('C:/Users/hjs/DI-engine/dizoo/distar/envs/test_distar_config.yaml') + cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' self._agent_env = DIStarEnv(self._whole_cfg) @@ -61,7 +61,6 @@ def _inference_loop(self, job={}): actions = {} for env_id in range(1): observations = obs[env_id] - print(type(observations)) actions[env_id] = self._agent_env.random_action(observations) # print(actions) timesteps = self._env.step(actions) From e3c95ffe2117f78620b7ce7e8bdb368157500a74 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 10 Jun 2022 16:16:18 +0800 Subject: [PATCH 098/229] make old test runnable --- .../distar/envs/tests/test_distar_env_data.py | 13 +++++----- .../envs/tests/test_distar_env_time_space.py | 25 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py index 38f1dc83a6..85caa88973 100644 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -8,6 +8,9 @@ import random import time +from dizoo.distar.envs import DIStarEnv +import traceback + class TestDIstarEnv: def __init__(self): @@ -16,8 +19,6 @@ def __init__(self): self._whole_cfg.env.map_name = 'KingsCove' def _inference_loop(self, job={}): - from dizoo.distar.envs import DIStarEnv - import traceback torch.set_num_threads(1) @@ -26,15 +27,15 @@ def _inference_loop(self, job={}): with torch.no_grad(): for _ in range(5): try: - observations, game_info, map_name = self._env.reset() + observations = self._env.reset() for iter in range(1000): # one episode loop # agent step actions = self._env.random_action(observations) # env step - next_observations, reward, done = self._env.step(actions) - if not done: - observations = next_observations + timestep = self._env.step(actions) + if not timestep.done: + observations = timestep.obs else: break diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py index 3cc3612e45..6d99173aa5 100644 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -9,6 +9,9 @@ import time import sys +from dizoo.distar.envs import DIStarEnv +import traceback + class TestDIstarEnv: def __init__(self): @@ -20,8 +23,6 @@ def __init__(self): self._total_space = 0 def _inference_loop(self, job={}): - from distar_env import DIStarEnv - import traceback torch.set_num_threads(1) @@ -30,32 +31,32 @@ def _inference_loop(self, job={}): with torch.no_grad(): for _ in range(5): try: - observations, game_info, map_name = self._env.reset() + observations = self._env.reset() for iter in range(1000): # one episode loop # agent step actions = self._env.random_action(observations) # env step before_step_time = time.time() - next_observations, reward, done = self._env.step(actions) + timestep = self._env.step(actions) after_step_time = time.time() self._total_time += after_step_time - before_step_time self._total_iters += 1 - self._total_space += sys.getsizeof((actions,observations,next_observations,reward,done)) + self._total_space += sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)) print('observations: ', sys.getsizeof(observations), ' Byte') print('actions: ', sys.getsizeof(actions), ' Byte') - print('reward: ', sys.getsizeof(reward), ' Byte') - print('done: ', sys.getsizeof(done), ' Byte') - print('total: ', sys.getsizeof((actions,observations,next_observations,reward,done)),' Byte') + print('reward: ', sys.getsizeof(timestep.reward), ' Byte') + print('done: ', sys.getsizeof(timestep.done), ' Byte') + print('total: ', sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)),' Byte') print(type(observations)) # dict - print(type(reward)) # list - print(type(done)) # bool + print(type(timestep.reward)) # list + print(type(timestep.done)) # bool print(type(actions)) # dict - if not done: - observations = next_observations + if not timestep.done: + observations = timestep.obs else: break From 80277600a2ca359be99be54b5393f7f72a73de2b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 11:55:38 +0800 Subject: [PATCH 099/229] change random_action to a classmethod --- dizoo/distar/envs/distar_env.py | 5 +++-- dizoo/distar/envs/tests/test_distar_env_data.py | 2 +- .../envs/tests/test_distar_env_time_space.py | 2 +- .../envs/tests/test_distar_env_with_manager.py | 14 +++++++------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 45530766b6..ff9751f614 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -43,8 +43,9 @@ def observation_space(self): def action_space(self): #TODO pass - - def random_action(self, obs): + + @classmethod + def random_action(cls, obs): return_action = {} for policy_id in obs.keys(): raw = obs[policy_id]['raw_obs'].observation.raw_data diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py index 85caa88973..afbf4cbfff 100644 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -31,7 +31,7 @@ def _inference_loop(self, job={}): for iter in range(1000): # one episode loop # agent step - actions = self._env.random_action(observations) + actions = DIStarEnv.random_action(observations) # env step timestep = self._env.step(actions) if not timestep.done: diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py index 6d99173aa5..b664490b92 100644 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -35,7 +35,7 @@ def _inference_loop(self, job={}): for iter in range(1000): # one episode loop # agent step - actions = self._env.random_action(observations) + actions = DIStarEnv.random_action(observations) # env step before_step_time = time.time() timestep = self._env.step(actions) diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py index 78f8154ba6..da5b9ae219 100644 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -31,6 +31,8 @@ } ) +ENV_NUMBER = 2 + class TestDIstarEnv: def __init__(self): @@ -41,12 +43,11 @@ def __init__(self): def _inference_loop(self, job={}): - torch.set_num_threads(1) # self._env = DIStarEnv(self._whole_cfg) self._env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(1)], cfg=env_cfg.env.manager + env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(ENV_NUMBER)], cfg=env_cfg.env.manager ) self._env.seed(1) @@ -54,15 +55,14 @@ def _inference_loop(self, job={}): for episode in range(2): self._env.launch() try: - for env_step in range(10): + for env_step in range(1000): obs = self._env.ready_obs # print(obs) - obs = {env_id: obs[env_id] for env_id in range(1)} + obs = {env_id: obs[env_id] for env_id in range(ENV_NUMBER)} actions = {} - for env_id in range(1): + for env_id in range(ENV_NUMBER): observations = obs[env_id] - actions[env_id] = self._agent_env.random_action(observations) - # print(actions) + actions[env_id] = DIStarEnv.random_action(observations) timesteps = self._env.step(actions) print(actions) From cbe964c71cb7b55ce975cb4ff8453967193f2716 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 17:22:05 +0800 Subject: [PATCH 100/229] change a bit DI-star env --- dizoo/distar/envs/distar_env.py | 120 +++++++++--------- .../distar/envs/tests/test_distar_env_data.py | 10 +- .../envs/tests/test_distar_env_time_space.py | 9 +- .../tests/test_distar_env_with_manager.py | 12 +- 4 files changed, 72 insertions(+), 79 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index ff9751f614..4b3518d836 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -23,11 +23,14 @@ def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) next_observations, reward, done = super(DIStarEnv,self).step(actions) + info = {} + for policy_id in next_observations.keys(): + info[policy_id] = None timestep = BaseEnvTimestep( obs = next_observations, reward = reward, done = done, - info = None + info = info ) return timestep @@ -46,66 +49,63 @@ def action_space(self): @classmethod def random_action(cls, obs): - return_action = {} - for policy_id in obs.keys(): - raw = obs[policy_id]['raw_obs'].observation.raw_data - - all_unit_types = set() - self_unit_types = set() - - for u in raw.units: - # Here we select the units except “buildings that are in building progress” for simplification - if u.build_progress == 1: - all_unit_types.add(u.unit_type) - if u.alliance == 1: - self_unit_types.add(u.unit_type) - - avail_actions = [ - {0: {'exist_selected_types':[], 'exist_target_types':[]}}, - {168:{'exist_selected_types':[], 'exist_target_types':[]}} - ] # no_op and raw_move_camera don't have seleted_units - - for action_id, action in ACTIONS_STAT.items(): - exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) - exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) - - # if an action should have target, but we don't have valid target in this observation, then discard this action - if len(action['target_type']) != 0 and len(exist_target_types) == 0: - continue - - if len(exist_selected_types) > 0: - avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) + raw = obs['raw_obs'].observation.raw_data + + all_unit_types = set() + self_unit_types = set() + + for u in raw.units: + # Here we select the units except “buildings that are in building progress” for simplification + if u.build_progress == 1: + all_unit_types.add(u.unit_type) + if u.alliance == 1: + self_unit_types.add(u.unit_type) + + avail_actions = [ + {0: {'exist_selected_types':[], 'exist_target_types':[]}}, + {168:{'exist_selected_types':[], 'exist_target_types':[]}} + ] # no_op and raw_move_camera don't have seleted_units + + for action_id, action in ACTIONS_STAT.items(): + exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) + exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) + + # if an action should have target, but we don't have valid target in this observation, then discard this action + if len(action['target_type']) != 0 and len(exist_target_types) == 0: + continue + + if len(exist_selected_types) > 0: + avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) + + current_action = random.choice(avail_actions) + func_id, exist_types = current_action.popitem() + + if func_id not in [0, 168]: + correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] + correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] + + num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) + + unit_tags = random.sample(correspond_selected_units, num_selected_unit) + target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None + + else: + unit_tags = [] + target_unit_tag = None - current_action = random.choice(avail_actions) - func_id, exist_types = current_action.popitem() - - if func_id not in [0, 168]: - correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] - correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] - - num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) - - unit_tags = random.sample(correspond_selected_units, num_selected_unit) - target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None - - else: - unit_tags = [] - target_unit_tag = None - - data = { - 'func_id': func_id, - 'skip_steps': random.randint(0, MAX_DELAY - 1), - # 'skip_steps': 8, - 'queued': random.randint(0, 1), - 'unit_tags': unit_tags, - 'target_unit_tag': target_unit_tag, - 'location': ( - random.randint(0, SPATIAL_SIZE[0] - 1), - random.randint(0, SPATIAL_SIZE[1] - 1) - ) - } - return_action[policy_id] = [data] - return return_action + data = { + 'func_id': func_id, + 'skip_steps': random.randint(0, MAX_DELAY - 1), + # 'skip_steps': 8, + 'queued': random.randint(0, 1), + 'unit_tags': unit_tags, + 'target_unit_tag': target_unit_tag, + 'location': ( + random.randint(0, SPATIAL_SIZE[0] - 1), + random.randint(0, SPATIAL_SIZE[1] - 1) + ) + } + return [data] @property diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py index afbf4cbfff..d3816b01f6 100644 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -1,12 +1,8 @@ import os import shutil -import argparse -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.actor import Actor +from distar.ctools.utils import read_config import torch -import random -import time from dizoo.distar.envs import DIStarEnv import traceback @@ -31,7 +27,9 @@ def _inference_loop(self, job={}): for iter in range(1000): # one episode loop # agent step - actions = DIStarEnv.random_action(observations) + actions = {} + for player_index, player_obs in observations.items(): + actions[player_index] = DIStarEnv.random_action(player_obs) # env step timestep = self._env.step(actions) if not timestep.done: diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py index b664490b92..d4be5613d4 100644 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -1,11 +1,8 @@ import os import shutil -import argparse -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.actor import Actor +from distar.ctools.utils import read_config import torch -import random import time import sys @@ -35,7 +32,9 @@ def _inference_loop(self, job={}): for iter in range(1000): # one episode loop # agent step - actions = DIStarEnv.random_action(observations) + actions = {} + for player_index, player_obs in observations.items(): + actions[player_index] = DIStarEnv.random_action(player_obs) # env step before_step_time = time.time() timestep = self._env.step(actions) diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py index da5b9ae219..ab8efdfa64 100644 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -1,13 +1,8 @@ import os -from re import L import shutil -import argparse -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.actor import Actor +from distar.ctools.utils import read_config import torch -import random -import time from ding.envs import BaseEnvManager from dizoo.distar.envs import DIStarEnv import traceback @@ -39,7 +34,6 @@ def __init__(self): cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' - self._agent_env = DIStarEnv(self._whole_cfg) def _inference_loop(self, job={}): @@ -62,7 +56,9 @@ def _inference_loop(self, job={}): actions = {} for env_id in range(ENV_NUMBER): observations = obs[env_id] - actions[env_id] = DIStarEnv.random_action(observations) + actions[env_id] = {} + for player_index, player_obs in observations.items(): + actions[env_id][player_index] = DIStarEnv.random_action(player_obs) timesteps = self._env.step(actions) print(actions) From fa07d12e65415cc31b61376036c3adb0df13349a Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 13 Jun 2022 17:31:19 +0800 Subject: [PATCH 101/229] add mock policy --- ding/framework/middleware/league_learner.py | 4 +- .../middleware/tests/league_config.py | 4 +- .../middleware/tests/mock_for_test.py | 39 ++++++++++++++++++ .../middleware/tests/test_league_pipeline.py | 41 +++++-------------- dizoo/distar/envs/distar_env.py | 9 ++-- 5 files changed, 59 insertions(+), 38 deletions(-) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 211db688a7..e48d3cc3f1 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -31,10 +31,10 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self.checkpoint_prefix = cfg.policy.other.league.path_policy self._learner = self._get_learner() self._lock = Lock() - task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_data) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_send_data) self._step = 0 - def _on_actor_data(self, actor_data: "ActorData"): + def _on_actor_send_data(self, actor_data: "ActorData"): print("receive data from actor!") with self._lock: cfg = self.cfg diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index e31def9660..985c03ea54 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -13,8 +13,8 @@ 'cfg_type': 'BaseEnvManagerDict', 'shared_memory': False }, - 'collector_env_num': 2, - 'evaluator_env_num': 10, + 'collector_env_num': 1, + 'evaluator_env_num': 1, 'n_evaluator_episode': 100, 'env_type': 'prisoner_dilemma', 'stop_value': [-10.1, -5.05] diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index adef35b4b7..1ba504f296 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -5,10 +5,15 @@ import treetensor.numpy as tnp from easydict import EasyDict from unittest.mock import Mock +from copy import deepcopy +from ding.torch_utils import to_device from ding.league.player import PlayerMeta from ding.league.v2 import BaseLeague, Job from ding.framework.storage import FileStorage +from ding.policy import PPOPolicy +from dizoo.distar.envs.distar_env import DIStarEnv + obs_dim = [2, 2] action_space = 1 @@ -163,3 +168,37 @@ def close(*args): def flush(*args): pass + + +class DIStarMockPolicy(PPOPolicy): + def _mock_data(self, data): + print("Data: ", data) + mock_data = {} + for id, val in data.items(): + assert isinstance(val, dict) + assert 'obs' in val + assert 'next_obs' in val + assert 'action' in val + assert 'reward' in val + mock_data[id] = deepcopy(val) + mock_data[id]['obs'] = torch.rand(16) + mock_data[id]['next_obs'] = torch.rand(16) + mock_data[id]['action'] = torch.rand(4) + return mock_data, data + + def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: + print("Call forward_learn:") + mock_data, original_data = self._mock_data(data) + return super()._forward_learn(mock_data) + + def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: + print("Call forward_collect:") + mock_data, original_data = self._mock_data(data) + output = super()._forward_collect(mock_data) + for id in output.keys(): + output[id]['action'] = DIStarEnv.random_action(original_data[id]['obs']) + return output + + # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: + # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} + # return super()._forward_eval(data) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 7d24682869..deedddf5cb 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -1,55 +1,36 @@ -# from time import sleep -# from boto import config -# import pytest -# from copy import deepcopy - -# from ding.framework.middleware.league_learner import LeagueLearner -# from ding.framework.middleware.tests.league_config import cfg -# from ding.framework.middleware import LeagueActor, LeagueCoordinator -# from ding.league.player import PlayerMeta, create_player -# from ding.league.v2 import BaseLeague -# from ding.framework.storage import FileStorage - -# from ding.framework.task import task, Parallel -# from ding.league.v2.base_league import Job -# from ding.model import VAC -# from ding.policy.ppo import PPOPolicy -# from dizoo.league_demo.game_env import GameEnv - from copy import deepcopy from time import sleep -import torch import pytest -import random +import os from ding.envs import BaseEnvManager from ding.model import VAC -from ding.policy import PPOPolicy -from ding.framework import EventEnum from ding.framework.task import task, Parallel from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner from ding.framework.middleware.functional.actor_data import ActorData from ding.framework.middleware.tests import cfg, MockLeague, MockLogger -from dizoo.league_demo.game_env import GameEnv +from dizoo.distar.envs.distar_env import DIStarEnv +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy +from distar.ctools.utils import read_config - -N_ACTORS = 2 -N_LEARNERS = 2 +N_ACTORS = 1 +N_LEARNERS = 1 def prepare_test(): global cfg cfg = deepcopy(cfg) + env_cfg = read_config(os.path.join(os.path.dirname(__file__), '../../../../dizoo/distar/envs/tests/test_distar_config.yaml')) def env_fn(): env = BaseEnvManager( - env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) env.seed(cfg.seed) return env def policy_fn(): model = VAC(**cfg.policy.model) - policy = PPOPolicy(cfg.policy, model=model) + policy = DIStarMockPolicy(cfg.policy, model=model) return policy return cfg, env_fn, policy_fn @@ -71,7 +52,7 @@ def _main(): learner._learner._tb_logger = MockLogger() task.use(learner) - task.run(max_step=120) + task.run(max_step=300) @pytest.mark.unittest @@ -80,4 +61,4 @@ def test_league_actor(): if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) \ No newline at end of file + Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 45530766b6..7c3d6e4dca 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -7,9 +7,9 @@ import torch import random -class DIStarEnv(SC2Env,BaseEnv): +class DIStarEnv(SC2Env, BaseEnv): - def __init__(self,cfg): + def __init__(self, cfg): super(DIStarEnv, self).__init__(cfg) def reset(self): @@ -22,7 +22,7 @@ def close(self): def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) - next_observations, reward, done = super(DIStarEnv,self).step(actions) + next_observations, reward, done = super(DIStarEnv, self).step(actions) timestep = BaseEnvTimestep( obs = next_observations, reward = reward, @@ -44,7 +44,8 @@ def action_space(self): #TODO pass - def random_action(self, obs): + @classmethod + def random_action(cls, obs): return_action = {} for policy_id in obs.keys(): raw = obs[policy_id]['raw_obs'].observation.raw_data From 7ad26effa4ba64ba9f898a1d0e8959c84c326f7e Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 13 Jun 2022 17:49:43 +0800 Subject: [PATCH 102/229] reformat --- ding/framework/middleware/league_learner.py | 5 +++- ding/framework/middleware/tests/__init__.py | 2 +- .../middleware/tests/mock_for_test.py | 3 +- .../middleware/tests/test_league_learner.py | 28 +++++++++++++------ .../middleware/tests/test_league_pipeline.py | 10 +++++-- 5 files changed, 34 insertions(+), 14 deletions(-) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index e48d3cc3f1..eba816ce0c 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -15,12 +15,14 @@ from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer + @dataclass class LearnerModel: player_id: str state_dict: dict train_iter: int = 0 + class LeagueLearner: def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: @@ -70,7 +72,8 @@ def _save_checkpoint(self) -> Optional[Storage]: if not os.path.exists(self.checkpoint_prefix): os.makedirs(self.checkpoint_prefix) storage = FileStorage( - path=os.path.join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) + path=os.path. + join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) ) storage.save(self._learner.policy.state_dict()) return storage diff --git a/ding/framework/middleware/tests/__init__.py b/ding/framework/middleware/tests/__init__.py index 54c6b9f76a..8fc101ec04 100644 --- a/ding/framework/middleware/tests/__init__.py +++ b/ding/framework/middleware/tests/__init__.py @@ -1,2 +1,2 @@ from .mock_for_test import * -from .league_config import cfg \ No newline at end of file +from .league_config import cfg diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 1ba504f296..9bd5637017 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -14,7 +14,6 @@ from ding.policy import PPOPolicy from dizoo.distar.envs.distar_env import DIStarEnv - obs_dim = [2, 2] action_space = 1 env_num = 2 @@ -129,6 +128,7 @@ def estimate(self, episode: List[Dict[str, Any]]) -> List[Dict[str, Any]]: class MockLeague(BaseLeague): + def __init__(self, cfg) -> None: super().__init__(cfg) self.update_payoff_cnt = 0 @@ -171,6 +171,7 @@ def flush(*args): class DIStarMockPolicy(PPOPolicy): + def _mock_data(self, data): print("Data: ", data) mock_data = {} diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 1fed2b66f7..81dfa12075 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -16,6 +16,7 @@ logging.getLogger().setLevel(logging.INFO) + def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -34,32 +35,43 @@ def policy_fn(): return cfg, env_fn, policy_fn + def coordinator_mocker(): task.on(EventEnum.LEARNER_SEND_META, lambda x: print("test:", x)) task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: print("test: send model success")) + def _coordinator_mocker(ctx): sleep(1) + return _coordinator_mocker + def actor_mocker(league): + def _actor_mocker(ctx): sleep(1) obs_size = cfg.policy.model.obs_shape - data = [{ - 'obs': torch.rand(*obs_size), - 'next_obs': torch.rand(*obs_size), - 'done': False, - 'reward': torch.rand(1), - 'logit': torch.rand(1), - 'action': torch.randint(low=0, high=2, size=(1,)), - } for _ in range(32)] + if isinstance(obs_size, int): + obs_size = [obs_size] + data = [ + { + 'obs': torch.rand(*obs_size), + 'next_obs': torch.rand(*obs_size), + 'done': False, + 'reward': torch.rand(1), + 'logit': torch.rand(1), + 'action': torch.randint(low=0, high=2, size=(1, )), + } for _ in range(32) + ] actor_data = ActorData(env_step=0, train_data=data) n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] print("actor player:", player.player_id) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + return _actor_mocker + def _main(): cfg, env_fn, policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index deedddf5cb..5fa85c95a0 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -16,10 +16,13 @@ N_ACTORS = 1 N_LEARNERS = 1 + def prepare_test(): global cfg cfg = deepcopy(cfg) - env_cfg = read_config(os.path.join(os.path.dirname(__file__), '../../../../dizoo/distar/envs/tests/test_distar_config.yaml')) + env_cfg = read_config( + os.path.join(os.path.dirname(__file__), '../../../../dizoo/distar/envs/tests/test_distar_config.yaml') + ) def env_fn(): env = BaseEnvManager( @@ -35,6 +38,7 @@ def policy_fn(): return cfg, env_fn, policy_fn + def _main(): cfg, env_fn, policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) @@ -57,8 +61,8 @@ def _main(): @pytest.mark.unittest def test_league_actor(): - Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS+N_LEARNERS+1, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) From 56ed8e10845024c991cc55667c26c9292b4e4fc3 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 19:26:06 +0800 Subject: [PATCH 103/229] fix a bug --- dizoo/distar/envs/distar_env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 4b3518d836..9ccbd6d22b 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -24,7 +24,7 @@ def step(self, actions): # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) next_observations, reward, done = super(DIStarEnv,self).step(actions) info = {} - for policy_id in next_observations.keys(): + for policy_id in range(self._num_agents): info[policy_id] = None timestep = BaseEnvTimestep( obs = next_observations, From b93426097fcda275a6539882c015e2e9db44b1dd Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 19:27:13 +0800 Subject: [PATCH 104/229] modification to run DI-star in pipeline --- ding/framework/middleware/collector.py | 4 +- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 66 +++++++ .../middleware/tests/league_config.py | 2 +- .../middleware/tests/test_distar_config.yaml | 16 ++ .../test_league_actor_distar_one_process.py | 172 ++++++++++++++++++ .../tests/test_league_actor_one_process.py | 1 - 7 files changed, 259 insertions(+), 4 deletions(-) create mode 100644 ding/framework/middleware/tests/test_distar_config.yaml create mode 100644 ding/framework/middleware/tests/test_league_actor_distar_one_process.py diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index b77895d4d8..1454e8a5f8 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -3,7 +3,9 @@ from ding.policy import Policy, get_random_policy from ding.envs import BaseEnvManager from ding.framework import task -from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from .functional import inferencer, rolloutor, TransitionList, battle_rolloutor +from .functional import battle_inferencer_for_distar as battle_inferencer +from .functional import battle_rolloutor_for_distar as battle_rolloutor from typing import Dict # if TYPE_CHECKING: diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index c17d0e8a63..df97581c45 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, battle_inferencer_for_distar, battle_rolloutor_for_distar from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 2b40f70358..47f0aaf696 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -194,3 +194,69 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.env_episode += 1 return _battle_rolloutor + + +def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): + + def _battle_inferencer(ctx: "BattleContext"): + + if env.closed: + env.launch() + + # Get current env obs. + obs = env.ready_obs + # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data + new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) + ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) + ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) + obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + + ctx.obs = obs + + # Policy forward. + inference_output = {} + actions = {} + for env_id in ctx.ready_env_id: + observations = obs[env_id] + inference_output[env_id] = {} + actions[env_id] = {} + for policy_id, policy_obs in observations.items(): + output = ctx.current_policies[policy_id].forward(policy_obs) + inference_output[env_id][policy_id] = output + actions[env_id][policy_id] = output['action'] + print(actions) + ctx.inference_output = inference_output + ctx.actions = actions + + return _battle_inferencer + +from ding.envs import BaseEnvTimestep +def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): + + def _battle_rolloutor(ctx: "BattleContext"): + timesteps = env.step(ctx.actions) + ctx.total_envstep_count += len(timesteps) + ctx.env_step += len(timesteps) + for env_id, timestep in timesteps.items(): + for policy_id in ctx.obs[env_id].keys(): + policy_timestep = BaseEnvTimestep( + obs = timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, + reward = timestep.reward[policy_id], + done = timestep.done, + info = {} + ) + transition = ctx.current_policies[policy_id].process_transition( + ctx.obs[env_id][policy_id], ctx.inference_output[env_id][policy_id], policy_timestep + ) + transition = EasyDict(transition) + transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transitions_list[policy_id].append(env_id, transition) + if timestep.done: + ctx.current_policies[policy_id].reset([env_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + + if timestep.done: + ctx.ready_env_id.remove(env_id) + ctx.env_episode += 1 + + return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index a905431e19..ed23c58acc 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -13,7 +13,7 @@ 'cfg_type': 'BaseEnvManagerDict', 'shared_memory': False }, - 'collector_env_num': 2, + 'collector_env_num': 1, 'evaluator_env_num': 10, 'n_evaluator_episode': 100, 'env_type': 'prisoner_dilemma', diff --git a/ding/framework/middleware/tests/test_distar_config.yaml b/ding/framework/middleware/tests/test_distar_config.yaml new file mode 100644 index 0000000000..18247e5a54 --- /dev/null +++ b/ding/framework/middleware/tests/test_distar_config.yaml @@ -0,0 +1,16 @@ +actor: + job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] +env: + map_name: 'KingsCove' + player_ids: ['agent1', 'agent2'] + races: ['zerg', 'zerg'] + map_size_resolutions: [True, True] # if True, ignore minimap_resolutions + minimap_resolutions: [[160, 152], [160, 152]] + realtime: False + replay_dir: '.' + random_seed: 'none' + game_steps_per_episode: 100000 + update_bot_obs: False + save_replay_episodes: 1 + update_both_obs: False + version: '4.10.0' \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py new file mode 100644 index 0000000000..faa1f3c396 --- /dev/null +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -0,0 +1,172 @@ +from time import sleep +import pytest +from copy import deepcopy +from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext +from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware import LeagueActor +from ding.framework.middleware.functional import ActorData +from ding.league.player import PlayerMeta +from ding.framework.storage import FileStorage +from easydict import EasyDict + +from ding.framework.task import task +from ding.league.v2.base_league import Job +from dizoo.distar.envs.distar_env import DIStarEnv +from unittest.mock import Mock, patch + +from ding.framework import EventEnum +from typing import Dict, Any, List, Optional +from collections import namedtuple +from distar.ctools.utils import read_config +import treetensor.torch as ttorch +from easydict import EasyDict + +class LearnMode: + def __init__(self) -> None: + pass + + def state_dict(self): + return {} + +class CollectMode: + def __init__(self) -> None: + self._cfg = EasyDict(dict( + collect = dict( + n_episode = 64 + ) + )) + + def load_state_dict(self, state_dict): + return + + def forward(self, data: Dict): + return_data = {} + return_data['action'] = DIStarEnv.random_action(data) + return_data['logit'] = [1] + return_data['value'] = [0] + + return return_data + + def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: + transition = { + 'obs': obs, + 'next_obs': timestep.obs, + 'action': model_output['action'], + 'logit': model_output['logit'], + 'value': model_output['value'], + 'reward': timestep.reward, + 'done': timestep.done, + } + return transition + + def reset(self, data_id: Optional[List[int]] = None) -> None: + pass + + def get_attribute(self, name: str) -> Any: + if hasattr(self, '_get_' + name): + return getattr(self, '_get_' + name)() + elif hasattr(self, '_' + name): + return getattr(self, '_' + name) + else: + raise NotImplementedError + + +class MockActorDIstarPolicy(): + + def __init__(self): + + self.learn_mode = LearnMode() + self.collect_mode = CollectMode() + + +def prepare_test(): + global cfg + cfg = deepcopy(cfg) + + env_cfg = read_config('./test_distar_config.yaml') + env_cfg.env.map_name = 'KingsCove' + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + policy = MockActorDIstarPolicy() + return policy + + return cfg, env_fn, policy_fn + + + +@pytest.mark.unittest +def test_league_actor(): + cfg, env_fn, policy_fn = prepare_test() + policy = policy_fn() + with task.start(async_mode=True, ctx = BattleContext()): + league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + + def test_actor(): + job = Job( + launch_player='main_player_default_0', + players=[ + PlayerMeta( + player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 + ), + PlayerMeta( + player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0 + ) + ] + ) + testcases = { + "on_actor_greeting": False, + "on_actor_job": False, + "on_actor_data": False, + } + + def on_actor_greeting(actor_id): + assert actor_id == task.router.node_id + testcases["on_actor_greeting"] = True + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + testcases["on_actor_job"] = True + + def on_actor_data(actor_data): + assert isinstance(actor_data, ActorData) + testcases["on_actor_data"] = True + + task.on(EventEnum.ACTOR_GREETING, on_actor_greeting) + task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) + + def _test_actor(ctx): + sleep(0.3) + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) + sleep(0.3) + + task.emit( + EventEnum.LEARNER_SEND_MODEL, + LearnerModel( + player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 + ) + ) + sleep(150) + # try: + # print(testcases) + # assert all(testcases.values()) + # finally: + # task.finish = True + + return _test_actor + + task.use(test_actor()) + task.use(league_actor) + task.run() + +if __name__ == '__main__': + test_league_actor() \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index f976c0f63d..124a0b312b 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -11,7 +11,6 @@ from ding.framework.storage import FileStorage from ding.framework.task import task -from ding.framework import OnlineRLContext from ding.league.v2.base_league import Job from ding.model import VAC from ding.policy.ppo import PPOPolicy From 3518a03ffa84ffc0f62986633d9e59e4614f0533 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 20:00:27 +0800 Subject: [PATCH 105/229] fix conflicts --- ...nfig.yaml~HEAD => test_distar_config.yaml} | 0 .../tests/test_distar_config.yaml~dev-distar | 16 -------- .../tests/test_distar_env_with_manager.py | 39 ------------------- 3 files changed, 55 deletions(-) rename dizoo/distar/envs/tests/{test_distar_config.yaml~HEAD => test_distar_config.yaml} (100%) delete mode 100644 dizoo/distar/envs/tests/test_distar_config.yaml~dev-distar diff --git a/dizoo/distar/envs/tests/test_distar_config.yaml~HEAD b/dizoo/distar/envs/tests/test_distar_config.yaml similarity index 100% rename from dizoo/distar/envs/tests/test_distar_config.yaml~HEAD rename to dizoo/distar/envs/tests/test_distar_config.yaml diff --git a/dizoo/distar/envs/tests/test_distar_config.yaml~dev-distar b/dizoo/distar/envs/tests/test_distar_config.yaml~dev-distar deleted file mode 100644 index 18247e5a54..0000000000 --- a/dizoo/distar/envs/tests/test_distar_config.yaml~dev-distar +++ /dev/null @@ -1,16 +0,0 @@ -actor: - job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] -env: - map_name: 'KingsCove' - player_ids: ['agent1', 'agent2'] - races: ['zerg', 'zerg'] - map_size_resolutions: [True, True] # if True, ignore minimap_resolutions - minimap_resolutions: [[160, 152], [160, 152]] - realtime: False - replay_dir: '.' - random_seed: 'none' - game_steps_per_episode: 100000 - update_bot_obs: False - save_replay_episodes: 1 - update_both_obs: False - version: '4.10.0' \ No newline at end of file diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py index 4d35e80e4a..ab8efdfa64 100644 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -1,20 +1,8 @@ import os -<<<<<<< HEAD import shutil from distar.ctools.utils import read_config import torch -======= -from re import L -import shutil -import argparse - -from distar.ctools.utils import read_config, deep_merge_dicts -from distar.actor import Actor -import torch -import random -import time ->>>>>>> dev-distar from ding.envs import BaseEnvManager from dizoo.distar.envs import DIStarEnv import traceback @@ -38,37 +26,22 @@ } ) -<<<<<<< HEAD ENV_NUMBER = 2 -======= ->>>>>>> dev-distar class TestDIstarEnv: def __init__(self): cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg self._whole_cfg.env.map_name = 'KingsCove' -<<<<<<< HEAD - - def _inference_loop(self, job={}): - -======= - self._agent_env = DIStarEnv(self._whole_cfg) def _inference_loop(self, job={}): - ->>>>>>> dev-distar torch.set_num_threads(1) # self._env = DIStarEnv(self._whole_cfg) self._env = BaseEnvManager( -<<<<<<< HEAD env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(ENV_NUMBER)], cfg=env_cfg.env.manager -======= - env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(1)], cfg=env_cfg.env.manager ->>>>>>> dev-distar ) self._env.seed(1) @@ -76,7 +49,6 @@ def _inference_loop(self, job={}): for episode in range(2): self._env.launch() try: -<<<<<<< HEAD for env_step in range(1000): obs = self._env.ready_obs # print(obs) @@ -87,17 +59,6 @@ def _inference_loop(self, job={}): actions[env_id] = {} for player_index, player_obs in observations.items(): actions[env_id][player_index] = DIStarEnv.random_action(player_obs) -======= - for env_step in range(10): - obs = self._env.ready_obs - # print(obs) - obs = {env_id: obs[env_id] for env_id in range(1)} - actions = {} - for env_id in range(1): - observations = obs[env_id] - actions[env_id] = self._agent_env.random_action(observations) - # print(actions) ->>>>>>> dev-distar timesteps = self._env.step(actions) print(actions) From 9ae914a84c015d83edffe18f508a8e942dce317e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 20:37:45 +0800 Subject: [PATCH 106/229] change mocks --- ding/framework/middleware/collector.py | 3 +- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 66 -------------- .../middleware/tests/mock_for_test.py | 85 +++++++++++++++++-- .../test_league_actor_distar_one_process.py | 36 ++++---- 5 files changed, 97 insertions(+), 95 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 21c8597828..d53ab16a45 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -5,8 +5,7 @@ from ding.envs import BaseEnvManager from ding.framework import task from .functional import inferencer, rolloutor, TransitionList, battle_rolloutor -from .functional import battle_inferencer_for_distar as battle_inferencer -from .functional import battle_rolloutor_for_distar as battle_rolloutor +from .functional import battle_inferencer, battle_rolloutor from typing import Dict # if TYPE_CHECKING: diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index df97581c45..c17d0e8a63 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor, battle_inferencer_for_distar, battle_rolloutor_for_distar +from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 47f0aaf696..2b40f70358 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -194,69 +194,3 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.env_episode += 1 return _battle_rolloutor - - -def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): - - def _battle_inferencer(ctx: "BattleContext"): - - if env.closed: - env.launch() - - # Get current env obs. - obs = env.ready_obs - # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data - new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) - ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) - ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) - obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} - - ctx.obs = obs - - # Policy forward. - inference_output = {} - actions = {} - for env_id in ctx.ready_env_id: - observations = obs[env_id] - inference_output[env_id] = {} - actions[env_id] = {} - for policy_id, policy_obs in observations.items(): - output = ctx.current_policies[policy_id].forward(policy_obs) - inference_output[env_id][policy_id] = output - actions[env_id][policy_id] = output['action'] - print(actions) - ctx.inference_output = inference_output - ctx.actions = actions - - return _battle_inferencer - -from ding.envs import BaseEnvTimestep -def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): - - def _battle_rolloutor(ctx: "BattleContext"): - timesteps = env.step(ctx.actions) - ctx.total_envstep_count += len(timesteps) - ctx.env_step += len(timesteps) - for env_id, timestep in timesteps.items(): - for policy_id in ctx.obs[env_id].keys(): - policy_timestep = BaseEnvTimestep( - obs = timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, - reward = timestep.reward[policy_id], - done = timestep.done, - info = {} - ) - transition = ctx.current_policies[policy_id].process_transition( - ctx.obs[env_id][policy_id], ctx.inference_output[env_id][policy_id], policy_timestep - ) - transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - transitions_list[policy_id].append(env_id, transition) - if timestep.done: - ctx.current_policies[policy_id].reset([env_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - if timestep.done: - ctx.ready_env_id.remove(env_id) - ctx.env_episode += 1 - - return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 9bd5637017..4be1fd1f42 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -1,4 +1,4 @@ -from typing import Union, Any, List, Callable, Dict, Optional +from typing import TYPE_CHECKING, Union, Any, List, Callable, Dict, Optional from collections import namedtuple import random import torch @@ -13,6 +13,11 @@ from ding.framework.storage import FileStorage from ding.policy import PPOPolicy from dizoo.distar.envs.distar_env import DIStarEnv +from ding.envs import BaseEnvManager +import treetensor.torch as ttorch + +if TYPE_CHECKING: + from ding.framework import BattleContext obs_dim = [2, 2] action_space = 1 @@ -194,12 +199,80 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: print("Call forward_collect:") - mock_data, original_data = self._mock_data(data) - output = super()._forward_collect(mock_data) - for id in output.keys(): - output[id]['action'] = DIStarEnv.random_action(original_data[id]['obs']) - return output + return_data = {} + return_data['action'] = DIStarEnv.random_action(data) + return_data['logit'] = [1] + return_data['value'] = [0] + + return return_data # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} # return super()._forward_eval(data) + + +def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): + + def _battle_inferencer(ctx: "BattleContext"): + + if env.closed: + env.launch() + + # Get current env obs. + obs = env.ready_obs + # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data + new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) + ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) + ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) + obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + + ctx.obs = obs + + # Policy forward. + inference_output = {} + actions = {} + for env_id in ctx.ready_env_id: + observations = obs[env_id] + inference_output[env_id] = {} + actions[env_id] = {} + for policy_id, policy_obs in observations.items(): + output = ctx.current_policies[policy_id].forward(policy_obs) + inference_output[env_id][policy_id] = output + actions[env_id][policy_id] = output['action'] + print(actions) + ctx.inference_output = inference_output + ctx.actions = actions + + return _battle_inferencer + + +from ding.envs import BaseEnvTimestep +def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): + + def _battle_rolloutor(ctx: "BattleContext"): + timesteps = env.step(ctx.actions) + ctx.total_envstep_count += len(timesteps) + ctx.env_step += len(timesteps) + for env_id, timestep in timesteps.items(): + for policy_id in ctx.obs[env_id].keys(): + policy_timestep = BaseEnvTimestep( + obs = timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, + reward = timestep.reward[policy_id], + done = timestep.done, + info = {} + ) + transition = ctx.current_policies[policy_id].process_transition( + ctx.obs[env_id][policy_id], ctx.inference_output[env_id][policy_id], policy_timestep + ) + transition = EasyDict(transition) + transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transitions_list[policy_id].append(env_id, transition) + if timestep.done: + ctx.current_policies[policy_id].reset([env_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + + if timestep.done: + ctx.ready_env_id.remove(env_id) + ctx.env_episode += 1 + + return _battle_rolloutor diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index faa1f3c396..95e12bd633 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -20,8 +20,10 @@ from typing import Dict, Any, List, Optional from collections import namedtuple from distar.ctools.utils import read_config -import treetensor.torch as ttorch from easydict import EasyDict +from ding.model import VAC + +from ding.framework.middleware.tests.mock_for_test import battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy class LearnMode: def __init__(self) -> None: @@ -71,14 +73,6 @@ def get_attribute(self, name: str) -> Any: return getattr(self, '_' + name) else: raise NotImplementedError - - -class MockActorDIstarPolicy(): - - def __init__(self): - - self.learn_mode = LearnMode() - self.collect_mode = CollectMode() def prepare_test(): @@ -96,19 +90,18 @@ def env_fn(): return env def policy_fn(): - policy = MockActorDIstarPolicy() + model = VAC(**cfg.policy.model) + policy = DIStarMockPolicy(cfg.policy, model=model) return policy return cfg, env_fn, policy_fn - @pytest.mark.unittest def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() with task.start(async_mode=True, ctx = BattleContext()): - league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): job = Job( @@ -156,17 +149,20 @@ def _test_actor(ctx): ) ) sleep(150) - # try: - # print(testcases) - # assert all(testcases.values()) - # finally: - # task.finish = True + try: + print(testcases) + assert all(testcases.values()) + finally: + task.finish = True return _test_actor - task.use(test_actor()) - task.use(league_actor) - task.run() + with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): + with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + task.use(test_actor()) + task.use(league_actor) + task.run() if __name__ == '__main__': test_league_actor() \ No newline at end of file From 2d050d3cd96fbe53d8391229e7f932e2dca2246b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 22:06:49 +0800 Subject: [PATCH 107/229] one_process test pass, multiple_process test failed because cannot pickle data --- ding/framework/middleware/league_actor.py | 6 ++-- .../middleware/tests/mock_for_test.py | 1 - .../test_league_actor_distar_one_process.py | 5 +-- .../middleware/tests/test_league_pipeline.py | 36 ++++++++++--------- 4 files changed, 26 insertions(+), 22 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 0b4fa9d958..7ffa9ac7d8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -246,9 +246,11 @@ def __call__(self, ctx: "BattleContext"): if not ctx.job.is_eval and len(ctx.trajectories_list[0]) > 0: ctx.trajectories = ctx.trajectories_list[0] ctx.trajectory_end_idx = ctx.trajectory_end_idx_list[0] - self._gae_estimator(ctx) - actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) + # self._gae_estimator(ctx) + # actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) + actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + print('sending data') ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 4be1fd1f42..a08f85c906 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -239,7 +239,6 @@ def _battle_inferencer(ctx: "BattleContext"): output = ctx.current_policies[policy_id].forward(policy_obs) inference_output[env_id][policy_id] = output actions[env_id][policy_id] = output['action'] - print(actions) ctx.inference_output = inference_output ctx.actions = actions diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 95e12bd633..b10330baab 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -5,7 +5,7 @@ from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor +from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage @@ -130,6 +130,7 @@ def on_actor_job(job_: Job): testcases["on_actor_job"] = True def on_actor_data(actor_data): + print('got actor_data') assert isinstance(actor_data, ActorData) testcases["on_actor_data"] = True @@ -159,7 +160,7 @@ def _test_actor(ctx): with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) task.use(test_actor()) task.use(league_actor) task.run() diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 473d895b82..502eff8dc6 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -5,7 +5,7 @@ from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, LeagueCoordinator +from ding.framework.middleware import LeagueActor, StepLeagueActor, LeagueCoordinator from ding.envs import BaseEnvManager from ding.model import VAC @@ -13,8 +13,9 @@ from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config +from unittest.mock import patch import os N_ACTORS = 1 @@ -24,9 +25,8 @@ def prepare_test(): global cfg cfg = deepcopy(cfg) - env_cfg = read_config( - os.path.join(os.path.dirname(__file__), '../../../../dizoo/distar/envs/tests/test_distar_config.yaml') - ) + env_cfg = read_config('./test_distar_config.yaml') + env_cfg.env.map_name = 'KingsCove' def env_fn(): env = BaseEnvManager( @@ -48,19 +48,21 @@ def _main(): league = MockLeague(cfg.policy.other.league) with task.start(async_mode=True, ctx=BattleContext()): - print("node id:", task.router.node_id) - if task.router.node_id == 0: - task.use(LeagueCoordinator(league)) - elif task.router.node_id <= N_ACTORS: - task.use(LeagueActor(cfg, env_fn, policy_fn)) - else: - n_players = len(league.active_players_ids) - player = league.active_players[task.router.node_id % n_players] - learner = LeagueLearner(cfg, policy_fn, player) - learner._learner._tb_logger = MockLogger() - task.use(learner) + with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): + with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + print("node id:", task.router.node_id) + if task.router.node_id == 0: + task.use(LeagueCoordinator(league)) + elif task.router.node_id <= N_ACTORS: + task.use(StepLeagueActor(cfg, env_fn, policy_fn)) + else: + n_players = len(league.active_players_ids) + player = league.active_players[task.router.node_id % n_players] + learner = LeagueLearner(cfg, policy_fn, player) + learner._learner._tb_logger = MockLogger() + task.use(learner) - task.run(max_step=300) + task.run(max_step=300) @pytest.mark.unittest From 82af279e4957020cc3bbc6c81aa2281937bdc171 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 13 Jun 2022 23:20:35 +0800 Subject: [PATCH 108/229] change config --- .../middleware/tests/mock_for_test.py | 30 ++++---- .../test_league_actor_distar_one_process.py | 1 - .../middleware/tests/test_league_pipeline.py | 1 - .../tests/test_league_pipeline_one_process.py | 72 +++++++++++++++++++ .../distar/envs/tests/test_distar_env_data.py | 1 - .../envs/tests/test_distar_env_time_space.py | 1 - .../tests/test_distar_env_with_manager.py | 1 - 7 files changed, 86 insertions(+), 21 deletions(-) create mode 100644 ding/framework/middleware/tests/test_league_pipeline_one_process.py diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index a08f85c906..1abd780500 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -177,25 +177,23 @@ def flush(*args): class DIStarMockPolicy(PPOPolicy): - def _mock_data(self, data): - print("Data: ", data) - mock_data = {} - for id, val in data.items(): - assert isinstance(val, dict) - assert 'obs' in val - assert 'next_obs' in val - assert 'action' in val - assert 'reward' in val - mock_data[id] = deepcopy(val) - mock_data[id]['obs'] = torch.rand(16) - mock_data[id]['next_obs'] = torch.rand(16) - mock_data[id]['action'] = torch.rand(4) - return mock_data, data + def _mock_data(self, data_list): + for data in data_list: + assert isinstance(data, dict) + assert 'obs' in data + assert 'next_obs' in data + assert 'action' in data + assert 'reward' in data + data['obs'] = torch.rand(16) + data['next_obs'] = torch.rand(16) + data['action'] = torch.rand(4) + return data_list def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: print("Call forward_learn:") - mock_data, original_data = self._mock_data(data) - return super()._forward_learn(mock_data) + data = self._mock_data(data) + # return super()._forward_learn(data) + return def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: print("Call forward_collect:") diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index b10330baab..ffae695425 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -80,7 +80,6 @@ def prepare_test(): cfg = deepcopy(cfg) env_cfg = read_config('./test_distar_config.yaml') - env_cfg.env.map_name = 'KingsCove' def env_fn(): env = BaseEnvManager( diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 502eff8dc6..8eb4e72032 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -26,7 +26,6 @@ def prepare_test(): global cfg cfg = deepcopy(cfg) env_cfg = read_config('./test_distar_config.yaml') - env_cfg.env.map_name = 'KingsCove' def env_fn(): env = BaseEnvManager( diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py new file mode 100644 index 0000000000..64628e7387 --- /dev/null +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -0,0 +1,72 @@ +from copy import deepcopy +from time import sleep +import pytest +from copy import deepcopy +from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext +from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware import LeagueActor, StepLeagueActor, LeagueCoordinator + +from ding.envs import BaseEnvManager +from ding.model import VAC +from ding.framework.task import task, Parallel +from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner +from ding.framework.middleware.tests import cfg, MockLeague, MockLogger +from dizoo.distar.envs.distar_env import DIStarEnv +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, battle_inferencer_for_distar, battle_rolloutor_for_distar +from distar.ctools.utils import read_config +from unittest.mock import patch +import os + +def prepare_test(): + global cfg + cfg = deepcopy(cfg) + env_cfg = read_config('./test_distar_config.yaml') + + def env_fn(): + env = BaseEnvManager( + env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + model = VAC(**cfg.policy.model) + policy = DIStarMockPolicy(cfg.policy, model=model) + return policy + + return cfg, env_fn, policy_fn + + +def _main(): + cfg, env_fn, policy_fn = prepare_test() + league = MockLeague(cfg.policy.other.league) + n_players = len(league.active_players_ids) + print(n_players) + + with task.start(async_mode=True, ctx=BattleContext()): + with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): + with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + player_0 = league.active_players[0] + learner_0 = LeagueLearner(cfg, policy_fn, player_0) + learner_0._learner._tb_logger = MockLogger() + + player_1 = league.active_players[1] + learner_1 = LeagueLearner(cfg, policy_fn, player_1) + learner_1._learner._tb_logger = MockLogger() + + task.use(LeagueCoordinator(league)) + task.use(StepLeagueActor(cfg, env_fn, policy_fn)) + task.use(learner_0) + task.use(learner_1) + + task.run(max_step=300) + + +@pytest.mark.unittest +def test_league_actor(): + _main() + + +if __name__ == '__main__': + _main() diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py index 6a9e932881..05c09d4002 100644 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ b/dizoo/distar/envs/tests/test_distar_env_data.py @@ -15,7 +15,6 @@ def __init__(self): cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg - self._whole_cfg.env.map_name = 'KingsCove' def _inference_loop(self, job={}): diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py index d4be5613d4..9252c88597 100644 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ b/dizoo/distar/envs/tests/test_distar_env_time_space.py @@ -14,7 +14,6 @@ def __init__(self): cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg - self._whole_cfg.env.map_name = 'KingsCove' self._total_iters = 0 self._total_time = 0 self._total_space = 0 diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py index ab8efdfa64..930d5e99f7 100644 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -33,7 +33,6 @@ def __init__(self): cfg = read_config('./test_distar_config.yaml') self._whole_cfg = cfg - self._whole_cfg.env.map_name = 'KingsCove' def _inference_loop(self, job={}): From 1e78af8787d7caec9cfc21337db51a335d66bd79 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 14 Jun 2022 21:32:02 +0800 Subject: [PATCH 109/229] transform transitions so they could be sent, and write responding tests. change the finish condition of BattleStepCollector to env_episode. add env.close. And other modifications --- ding/framework/middleware/collector.py | 6 +- ding/framework/middleware/league_actor.py | 11 +- .../middleware/league_coordinator.py | 8 +- ding/framework/middleware/league_learner.py | 17 ++- .../middleware/tests/league_config.py | 3 +- .../middleware/tests/mock_for_test.py | 125 +++++++++++++++++- .../test_league_actor_distar_one_process.py | 14 +- .../middleware/tests/test_league_pipeline.py | 13 +- .../tests/test_league_pipeline_one_process.py | 12 +- dizoo/distar/envs/distar_env.py | 23 +++- 10 files changed, 196 insertions(+), 36 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index d53ab16a45..7824a53f8f 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -84,6 +84,7 @@ def __call__(self, ctx: "BattleContext") -> None: transitions.clear() if ctx.env_episode >= ctx.n_episode: ctx.job_finish = True + self.env.close() break @@ -152,14 +153,15 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.total_envstep_count - if (self.n_rollout_samples > 0 and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_step >= ctx.n_sample * ctx.unroll_len: + if (self.n_rollout_samples > 0 and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: for transitions in self._transitions_list: trajectories, trajectory_end_idx = transitions.to_trajectories() ctx.trajectories_list.append(trajectories) ctx.trajectory_end_idx_list.append(trajectory_end_idx) transitions.clear() - if ctx.env_step >= ctx.n_sample * ctx.unroll_len: + if ctx.env_episode >= ctx.n_episode: ctx.job_finish = True + self.env.close() break diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 7ffa9ac7d8..4179e11759 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -36,7 +36,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print("receive model from learner") + print("Actor receive model from learner \n") with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -150,12 +150,13 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict = {} self.model_dict_lock = Lock() - self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) + # self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ + print('Actor got model \n') with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -221,7 +222,8 @@ def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() if ctx.job is None: return - + print('For actor, a job begin \n') + collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) main_player, ctx.current_policies = self._get_current_policies(ctx.job) @@ -250,7 +252,7 @@ def __call__(self, ctx: "BattleContext"): # actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - print('sending data') + print('Actor send data\n') ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] @@ -261,4 +263,5 @@ def __call__(self, ctx: "BattleContext"): ctx.job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) ctx.episode_info = [[] for _ in range(ctx.agent_num)] + print('Actor job finish, send job\n') break diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 7880f9d47b..7d4be1cda3 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -25,6 +25,7 @@ def __init__(self, league: "BaseLeague") -> None: task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): + print('coordinator recieve actor greeting\n') with self._lock: player_num = len(self.league.active_players_ids) player_id = self.league.active_players_ids[self._total_send_jobs % player_num] @@ -34,18 +35,21 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % self._eval_frequency == 0: job.is_eval = True job.actor_id = actor_id + print('coordinator emit job\n') task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_learner_meta(self, player_meta: "PlayerMeta"): + print('coordinator recieve learner meta\n') print("on_learner_meta {}".format(player_meta)) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): + print('coordinator recieve actor finished job\n') print("on_actor_job {}".format(job.launch_player)) # right self.league.update_payoff(job) def __call__(self, ctx: "Context") -> None: sleep(1) - logging.info("{} Step: {}".format(self.__class__, self._step)) - self._step += 1 + # logging.info("{} Step: {}".format(self.__class__, self._step)) + # self._step += 1 diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index eba816ce0c..52f98fc654 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -37,16 +37,20 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self._step = 0 def _on_actor_send_data(self, actor_data: "ActorData"): - print("receive data from actor!") + print("learner receive data from actor! \n") with self._lock: cfg = self.cfg for _ in range(cfg.policy.learn.update_per_collect): - print("train model") - self._learner.train(actor_data.train_data, actor_data.env_step) + pass + # print("train model") + # prinst(actor_data.train_data) + # self._learner.train(actor_data.train_data, actor_data.env_step) self.player.total_agent_step = self._learner.train_iter - print("save checkpoint") + # print("save checkpoint") checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None + + print('learner send player meta\n') task.emit( EventEnum.LEARNER_SEND_META, PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) @@ -56,6 +60,7 @@ def _on_actor_send_data(self, actor_data: "ActorData"): learner_model = LearnerModel( player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter ) + print('learner send model\n') task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) def _get_learner(self) -> BaseLearner: @@ -80,5 +85,5 @@ def _save_checkpoint(self) -> Optional[Storage]: def __call__(self, _: "Context") -> None: sleep(1) - logging.info("{} Step: {}".format(self.__class__, self._step)) - self._step += 1 + # logging.info("{} Step: {}".format(self.__class__, self._step)) + # self._step += 1 diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 02eab837e9..3d1e6b5b1d 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -75,10 +75,9 @@ 'get_train_sample': True, 'cfg_type': 'BattleEpisodeSerialCollectorDict' }, - 'unroll_len': 1, 'discount_factor': 1.0, 'gae_lambda': 1.0, - 'n_episode': 128, + 'n_episode': 1, 'n_rollout_samples': 32, 'n_sample': 64, 'unroll_len': 2 diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 1abd780500..1d13c37f84 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -194,19 +194,93 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: data = self._mock_data(data) # return super()._forward_learn(data) return + + # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: + # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} + # return super()._forward_eval(data) + + +from distar.agent.default.lib.features import Features +class DIstarCollectMode: + + def __init__(self) -> None: + self._cfg = EasyDict(dict( + collect = dict( + n_episode = 1 + ) + )) + self._feature = None + self._race = 'zerg' + + def load_state_dict(self, state_dict): + return + + def get_attribute(self, name: str) -> Any: + if hasattr(self, '_get_' + name): + return getattr(self, '_get_' + name)() + elif hasattr(self, '_' + name): + return getattr(self, '_' + name) + else: + raise NotImplementedError + + def reset(self, data_id: Optional[List[int]] = None) -> None: + pass + + def _pre_process(self, obs): + agent_obs = self._feature.transform_obs(obs['raw_obs'], padding_spatial=True) + self._game_info = agent_obs.pop('game_info') + self._game_step = self._game_info['game_loop'] - def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: - print("Call forward_collect:") + last_selected_units = torch.zeros(agent_obs['entity_num'], dtype=torch.int8) + last_targeted_unit = torch.zeros(agent_obs['entity_num'], dtype=torch.int8) + + agent_obs['entity_info']['last_selected_units'] = last_selected_units + agent_obs['entity_info']['last_targeted_unit'] = last_targeted_unit + + self._observation = agent_obs + + + def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: + # print("Call forward_collect:") + self._pre_process(policy_obs) return_data = {} - return_data['action'] = DIStarEnv.random_action(data) + return_data['action'] = DIStarEnv.random_action(policy_obs) return_data['logit'] = [1] return_data['value'] = [0] return return_data + + def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: + next_obs = timestep.obs + reward = timestep.reward + done = timestep.done + agent_obs = self._observation + step_data = { + 'obs': { + 'map_name': 'KingsCove', + 'spatial_info': agent_obs['spatial_info'], + # 'spatial_info_ref': spatial_info_ref, + 'entity_info': agent_obs['entity_info'], + 'scalar_info': agent_obs['scalar_info'], + 'entity_num': agent_obs['entity_num'], + 'step': torch.tensor(self._game_step, dtype=torch.float) + }, + 'next_obs': {}, + 'logit': model_output['logit'], + 'action': model_output['action'], + 'value': model_output['value'], + # 'successive_logit': deepcopy(teacher_output['logit']), + 'reward': reward, + 'done': done + } + return step_data - # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: - # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} - # return super()._forward_eval(data) + +class DIStarMockPolicyCollect: + + def __init__(self): + + self.collect_mode = DIstarCollectMode() def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): @@ -216,6 +290,13 @@ def _battle_inferencer(ctx: "BattleContext"): if env.closed: env.launch() + # TODO: Just for distar + races = ['zerg', 'zerg'] + for policy_index, p in enumerate(ctx.current_policies): + if p._feature is None: + p._feature = Features(env._envs[0].game_info[policy_index], env.ready_obs[0][policy_index]['raw_obs']) + p._race = races[policy_index] + # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data @@ -273,3 +354,35 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.env_episode += 1 return _battle_rolloutor + + +from ding.envs import BaseEnvTimestep +def battle_rolloutor_for_distar_2(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): + + def _battle_rolloutor(ctx: "BattleContext"): + timesteps = env.step(ctx.actions) + ctx.total_envstep_count += len(timesteps) + ctx.env_step += len(timesteps) + for env_id, timestep in timesteps.items(): + for policy_id, _ in timestep.obs.items(): + policy_timestep = BaseEnvTimestep( + obs = timestep.obs.get(policy_id), + reward = timestep.reward[policy_id], + done = timestep.done, + info = {} + ) + transition = ctx.current_policies[policy_id].process_transition( + None, None, policy_timestep + ) + transition = EasyDict(transition) + transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transitions_list[policy_id].append(env_id, transition) + if timestep.done: + ctx.current_policies[policy_id].reset([env_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + + if timestep.done: + ctx.ready_env_id.remove(env_id) + ctx.env_episode += 1 + + return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index ffae695425..a62285569a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -23,7 +23,7 @@ from easydict import EasyDict from ding.model import VAC -from ding.framework.middleware.tests.mock_for_test import battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy class LearnMode: def __init__(self) -> None: @@ -92,13 +92,17 @@ def policy_fn(): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy + + def collect_policy_fn(): + policy = DIStarMockPolicyCollect() + return policy - return cfg, env_fn, policy_fn + return cfg, env_fn, policy_fn, collect_policy_fn @pytest.mark.unittest def test_league_actor(): - cfg, env_fn, policy_fn = prepare_test() + cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() policy = policy_fn() with task.start(async_mode=True, ctx = BattleContext()): @@ -148,7 +152,7 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(150) + sleep(100) try: print(testcases) assert all(testcases.values()) @@ -159,7 +163,7 @@ def _test_actor(ctx): with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=collect_policy_fn) task.use(test_actor()) task.use(league_actor) task.run() diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 8eb4e72032..ffbc7f8fa8 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -13,7 +13,7 @@ from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch import os @@ -39,11 +39,16 @@ def policy_fn(): policy = DIStarMockPolicy(cfg.policy, model=model) return policy - return cfg, env_fn, policy_fn + def collect_policy_fn(): + policy = DIStarMockPolicyCollect() + return policy + + return cfg, env_fn, policy_fn, collect_policy_fn + def _main(): - cfg, env_fn, policy_fn = prepare_test() + cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) with task.start(async_mode=True, ctx=BattleContext()): @@ -53,7 +58,7 @@ def _main(): if task.router.node_id == 0: task.use(LeagueCoordinator(league)) elif task.router.node_id <= N_ACTORS: - task.use(StepLeagueActor(cfg, env_fn, policy_fn)) + task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) else: n_players = len(league.active_players_ids) player = league.active_players[task.router.node_id % n_players] diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py index 64628e7387..9c741bb14b 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -13,7 +13,7 @@ from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch import os @@ -34,12 +34,16 @@ def policy_fn(): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy + + def collect_policy_fn(): + policy = DIStarMockPolicyCollect() + return policy - return cfg, env_fn, policy_fn + return cfg, env_fn, policy_fn, collect_policy_fn def _main(): - cfg, env_fn, policy_fn = prepare_test() + cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) n_players = len(league.active_players_ids) print(n_players) @@ -56,7 +60,7 @@ def _main(): learner_1._learner._tb_logger = MockLogger() task.use(LeagueCoordinator(league)) - task.use(StepLeagueActor(cfg, env_fn, policy_fn)) + task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) task.use(learner_0) task.use(learner_1) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 79b05fc97b..1a830c47c8 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -10,9 +10,14 @@ class DIStarEnv(SC2Env, BaseEnv): def __init__(self, cfg): super(DIStarEnv, self).__init__(cfg) + self._game_info = None + self._map_name = None def reset(self): observations, game_info, map_name = super(DIStarEnv,self).reset() + # print(game_info) + self.game_info = game_info + self.map_name = map_name return observations def close(self): @@ -24,7 +29,7 @@ def step(self, actions): next_observations, reward, done = super(DIStarEnv,self).step(actions) info = {} for policy_id in range(self._num_agents): - info[policy_id] = None + info[policy_id] = {'result': None} timestep = BaseEnvTimestep( obs = next_observations, reward = reward, @@ -35,6 +40,22 @@ def step(self, actions): def seed(self, seed, dynamic_seed=False): self._random_seed = seed + + @property + def game_info(self): + return self._game_info + + @game_info.setter + def game_info(self, new_game_info): + self._game_info = new_game_info + + @property + def map_name(self): + return self._map_name + + @map_name.setter + def map_name(self, new_map_name): + self._map_name = new_map_name @property def observation_space(self): From ece3a6456189d6717531489eb7451da77682a345 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Tue, 14 Jun 2022 22:04:41 +0800 Subject: [PATCH 110/229] feature(nyz): add distar policy learn part --- ding/rl_utils/__init__.py | 6 +- ding/rl_utils/steve.py | 74 ++++++ ding/rl_utils/test_steve.py | 42 +++ ding/rl_utils/tests/test_upgo.py | 7 +- ding/rl_utils/upgo.py | 43 ++- ding/rl_utils/vtrace.py | 28 +- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/data_helper.py | 17 ++ dizoo/distar/model/model.py | 8 +- dizoo/distar/policy/distar_policy.py | 384 +++++++++++++++++++++++++++ dizoo/distar/policy/utils.py | 90 +++++++ 11 files changed, 656 insertions(+), 45 deletions(-) create mode 100644 ding/rl_utils/steve.py create mode 100644 ding/rl_utils/test_steve.py create mode 100644 dizoo/distar/policy/distar_policy.py create mode 100644 dizoo/distar/policy/utils.py diff --git a/ding/rl_utils/__init__.py b/ding/rl_utils/__init__.py index 16d0458365..1b0d61e708 100644 --- a/ding/rl_utils/__init__.py +++ b/ding/rl_utils/__init__.py @@ -11,11 +11,11 @@ nstep_return_data, nstep_return, iqn_nstep_td_data, iqn_nstep_td_error, qrdqn_nstep_td_data, qrdqn_nstep_td_error,\ q_nstep_sql_td_error, dqfd_nstep_td_error, dqfd_nstep_td_data, q_v_1step_td_error, q_v_1step_td_data,\ dqfd_nstep_td_error_with_rescale -from .vtrace import vtrace_loss, compute_importance_weights -from .upgo import upgo_loss +from .upgo import upgo_data, upgo_error from .adder import get_gae, get_gae_with_default_last_value, get_nstep_return_data, get_train_sample from .value_rescale import value_transform, value_inv_transform -from .vtrace import vtrace_data, vtrace_error +from .vtrace import vtrace_data, vtrace_error, vtrace_loss, vtrace_data_with_rho, vtrace_error_with_rho, \ + compute_importance_weights from .beta_function import beta_function_map from .retrace import compute_q_retraces from .acer import acer_policy_error, acer_value_error, acer_trust_region_update diff --git a/ding/rl_utils/steve.py b/ding/rl_utils/steve.py new file mode 100644 index 0000000000..23077bda63 --- /dev/null +++ b/ding/rl_utils/steve.py @@ -0,0 +1,74 @@ +from typing import List, Callable +import torch + + +def steve_target( + obs, reward, done, q_fn, rew_fn, policy_fn, transition_fn, done_fn, rollout_step, discount_factor, ensemble_num +) -> torch.Tensor: + """ + Shapes: + - obs (:obj:`torch.Tensor`): :math:`(B, N1)`, where N1 is obs shape + - reward (:obj:`torch.Tensor`): :math:`(B, )` + - done (:obj:`torch.Tensor`): :math:`(B, )` + - return_ (:obj:`torch.Tensor`): :math:`(B, )` + """ + # tile first data + ensemble_q_num, ensemble_r_num, ensemble_d_num = ensemble_num + obs = obs.unsqueeze(1).repeat(1, ensemble_q_num, 1) + reward = reward.unsqueeze(1).repeat(1, ensemble_r_num) + done = done.unsqueeze(1).repeat(1, ensemble_d_num) + + with torch.no_grad(): + device = reward.device + # real data + action = policy_fn(obs) + q_value = q_fn(obs, action) + q_list, r_list, d_list = [q_value], [reward], [done] + # imagination data + for i in range(rollout_step): + next_obs = transition_fn(obs, action) + reward = rew_fn(obs, action, next_obs) + done = done_fn(obs, action, next_obs) + obs = next_obs + action = policy_fn(obs) + q_value = q_fn(obs, action) + + q_list.append(q_value) + r_list.append(reward) + d_list.append(done) + + q_value = torch.stack(q_list, dim=1) # B, H, M + reward = torch.stack(r_list, dim=1) # B, H, N + done = torch.stack(d_list, dim=1) # B, H, L + + H = rollout_step + 1 + + time_factor = torch.full((1, H), discount_factor).to(device) ** torch.arange(float(H)) + upper_tri = torch.triu(torch.randn(H, H)).to(device) + reward_coeff = (upper_tri * time_factor).unsqueeze(0).unsqueeze(-1).unsqueeze(-1) # 1, H, H, 1, 1 + value_coeff = (time_factor ** discount_factor).unsqueeze(-1).unsqueeze(-1) # 1, H, 1, 1 + + # (B, 1, L) cat (B, H-1, L) + reward_done = torch.cat([torch.ones_like(done[:, 0]).unsqueeze(1), torch.cumprod(done[:, :-1], dim=1)], dim=1) + reward_done = reward_done.unsqueeze(1).unsqueeze(-2) + value_done = done.unsqueeze(-2) + + # (B, 1, H, N, 1) x (1, H, H, 1, 1) x (B, 1, H, 1, L) + reward = reward.unsqueeze(1).unsqueeze(-1) * reward_coeff * reward_done + # (B, H, N, L) + cum_reward = torch.sum(reward, dim=2) # sum in the second H + # (B, H, M, 1) x (1, H, 1, 1) x (B, H, 1, L) = B, H, M, L + q_value = q_value.unsqueeze(-1) * value_coeff * value_done + # (B, H, 1, N, L) + (B, H, M, 1, L) = B, H, M, N, L + target = cum_reward.unsqueeze(-3) + q_value.unsqueeze(-2) + + target = target.view(target.shape[0], H, -1) # B, H, MxNxL + target_mean = target.mean(-1) + target_var = target.var(-1) + target_confidence = 1. / (target_var + 1e-8) # B, H + target_confidence = torch.clamp(target_confidence, 0, 100) # for some special case + # norm + target_confidence /= target_confidence.sum(dim=1, keepdim=True) + + return_ = (target_mean * target_confidence).sum(dim=1) + return return_ diff --git a/ding/rl_utils/test_steve.py b/ding/rl_utils/test_steve.py new file mode 100644 index 0000000000..acfa74f7d0 --- /dev/null +++ b/ding/rl_utils/test_steve.py @@ -0,0 +1,42 @@ +import pytest +import torch +from .steve import steve_target + + +@pytest.mark.unittest +def test_steve_target(): + B = 2 + M, N, L = 3, 4, 5 + obs_tplus1 = torch.randn(B, 16) + reward_t = torch.randn(B, ) + done_t = torch.randint(0, 2, size=(B, )).float() + + def q_fn(obs, action): + return torch.randn(obs.shape[0], M) + + def rew_fn(obs, action, next_obs): + return torch.randn(obs.shape[0], N) + + def policy_fn(obs): + return torch.randn(obs.shape[0], ) + + def transition_fn(obs, action): + return torch.randn(obs.shape[0], L, obs.shape[1]) + + def done_fn(obs, action, next_obs): + return torch.randint(0, 2, size=(obs.shape[0], L)).float() + + return_ = steve_target( + obs_tplus1, + reward_t, + done_t, + q_fn, + rew_fn, + policy_fn, + transition_fn, + done_fn, + rollout_step=6, + discount_factor=0.99, + ensemble_num=(M, N, L) + ) + assert return_.shape == (B, ) diff --git a/ding/rl_utils/tests/test_upgo.py b/ding/rl_utils/tests/test_upgo.py index 5bd96d9c7e..075cfa2d54 100644 --- a/ding/rl_utils/tests/test_upgo.py +++ b/ding/rl_utils/tests/test_upgo.py @@ -1,6 +1,6 @@ import pytest import torch -from ding.rl_utils.upgo import upgo_loss, upgo_returns, tb_cross_entropy +from ding.rl_utils.upgo import upgo_data, upgo_error, upgo_returns, tb_cross_entropy @pytest.mark.unittest @@ -31,7 +31,10 @@ def test_upgo(): # upgo loss rhos = torch.randn(T, B) - loss = upgo_loss(logit, rhos, action, rewards, bootstrap_values) + dist = torch.distributions.Categorical(logits=logit) + log_prob = dist.log_prob(action) + data = upgo_data(log_prob, rhos, bootstrap_values, rewards, torch.ones_like(rewards)) + loss = upgo_error(data) assert logit.requires_grad assert bootstrap_values.requires_grad for t in [logit, bootstrap_values]: diff --git a/ding/rl_utils/upgo.py b/ding/rl_utils/upgo.py index 366d67ada4..ca333f475e 100644 --- a/ding/rl_utils/upgo.py +++ b/ding/rl_utils/upgo.py @@ -1,6 +1,6 @@ import torch import torch.nn.functional as F -from ding.hpc_rl import hpc_wrapper +from collections import namedtuple from .td import generalized_lambda_returns @@ -48,40 +48,29 @@ def upgo_returns(rewards: torch.Tensor, bootstrap_values: torch.Tensor) -> torch return generalized_lambda_returns(bootstrap_values, rewards, 1.0, lambdas) -@hpc_wrapper( - shape_fn=lambda args: args[0].shape, - namedtuple_data=True, - include_args=5, - include_kwargs=['target_output', 'rhos', 'action', 'rewards', 'bootstrap_values'] -) -def upgo_loss( - target_output: torch.Tensor, - rhos: torch.Tensor, - action: torch.Tensor, - rewards: torch.Tensor, - bootstrap_values: torch.Tensor, - mask=None -) -> torch.Tensor: - r""" +upgo_data = namedtuple('upgo_data', ['target_log_prob', 'rhos', 'bootstrap_values', 'rewards', 'weights']) + + +def upgo_error(data: namedtuple, ) -> torch.Tensor: + """ Overview: - Computing UPGO loss given constant gamma and lambda. There is no special handling for terminal state value, + Computing UPGO loss given constant gamma and lambda. There is no special handling for terminal state value, \ if the last state in trajectory is the terminal, just pass a 0 as bootstrap_terminal_value. Arguments: - - target_output (:obj:`torch.Tensor`): the output computed by the target policy network, \ + - target_log_prob (:obj:`torch.Tensor`): The output computed by the target policy network, \ of size [T_traj, batchsize, n_output] - - rhos (:obj:`torch.Tensor`): the importance sampling ratio, of size [T_traj, batchsize] - - action (:obj:`torch.Tensor`): the action taken, of size [T_traj, batchsize] - - rewards (:obj:`torch.Tensor`): the returns from time step 0 to T-1, of size [T_traj, batchsize] - - bootstrap_values (:obj:`torch.Tensor`): estimation of the state value at step 0 to T, \ + - rhos (:obj:`torch.Tensor`): The importance sampling ratio, of size [T_traj, batchsize] + - bootstrap_values (:obj:`torch.Tensor`): The estimation of the state value at step 0 to T, \ of size [T_traj+1, batchsize] + - rewards (:obj:`torch.Tensor`): The returns from time step 0 to T-1, of size [T_traj, batchsize] + - weights (:obj:`torch.Tensor`): Data weights per sample, of size [T_traj, batchsize]. Returns: - - loss (:obj:`torch.Tensor`): Computed importance sampled UPGO loss, averaged over the samples, of size [] + - loss (:obj:`torch.Tensor`): Computed importance sampled UPGO loss, averaged over the samples, 0-dim tensor. """ + target_log_prob, rhos, bootstrap_values, rewards, weights = data # discard the value at T as it should be considered in the next slice with torch.no_grad(): returns = upgo_returns(rewards, bootstrap_values) advantages = rhos * (returns - bootstrap_values[:-1]) - metric = tb_cross_entropy(target_output, action, mask) - assert (metric.shape == action.shape[:2]) - losses = advantages * metric - return -losses.mean() + loss = -advantages * target_log_prob * weights + return loss.mean() diff --git a/ding/rl_utils/vtrace.py b/ding/rl_utils/vtrace.py index b8c262e1a0..ef2761dbe0 100644 --- a/ding/rl_utils/vtrace.py +++ b/ding/rl_utils/vtrace.py @@ -69,13 +69,13 @@ def shape_fn_vtrace(args, kwargs): include_kwargs=['data', 'gamma', 'lambda_', 'rho_clip_ratio', 'c_clip_ratio', 'rho_pg_clip_ratio'] ) def vtrace_error( - data: namedtuple, - gamma: float = 0.99, - lambda_: float = 0.95, - rho_clip_ratio: float = 1.0, - c_clip_ratio: float = 1.0, - rho_pg_clip_ratio: float = 1.0 -): + data: namedtuple, + gamma: float = 0.99, + lambda_: float = 0.95, + rho_clip_ratio: float = 1.0, + c_clip_ratio: float = 1.0, + rho_pg_clip_ratio: float = 1.0 +) -> namedtuple: """ Overview: Implementation of vtrace(IMPALA: Scalable Distributed Deep-RL with Importance Weighted Actor-Learner\ @@ -124,3 +124,17 @@ def vtrace_error( value_loss = (F.mse_loss(value[:-1], return_, reduction='none') * weight).mean() entropy_loss = (dist_target.entropy() * weight).mean() return vtrace_loss(pg_loss, value_loss, entropy_loss) + + +vtrace_data_with_rho = namedtuple('vtrace_data_with_rho', ['target_log_prob', 'rho', 'value', 'reward', 'weight']) + + +def vtrace_error_with_rho(data: namedtuple, gamma: float = 0.99, lambda_: float = 0.95) -> torch.Tensor: + target_log_prob, rho, value, reward, weight = data + with torch.no_grad(): + return_ = vtrace_nstep_return(rho, rho, reward, value, gamma, lambda_) + # pg_rhos = torch.clamp(IS, max=rho_pg_clip_ratio) + return_t_plus_1 = torch.cat([return_[1:], value[-1:]], 0) + adv = vtrace_advantage(rho, reward, return_t_plus_1, value[:-1], gamma) + loss = -adv * target_log_prob * weight + return loss.mean() diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index fdc5eeed8d..b78d0f08b2 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -1,6 +1,6 @@ from .checkpoint_helper import build_checkpoint_helper, CountVar, auto_checkpoint from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ - build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad + build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad, flatten from .distribution import CategoricalPd, CategoricalPdPytorch from .metric import levenshtein_distance, hamming_distance from .network import * diff --git a/ding/torch_utils/data_helper.py b/ding/torch_utils/data_helper.py index a0dd8ba07b..e87e88c770 100644 --- a/ding/torch_utils/data_helper.py +++ b/ding/torch_utils/data_helper.py @@ -408,4 +408,21 @@ def detach_grad(data): data[k] = detach_grad(data[k]) elif isinstance(data, torch.Tensor): data = data.detach() + else: + raise TypeError("not support data type: {}".format(type(data))) return data + + +def flatten(data): + if isinstance(data, torch.Tensor): + return torch.flatten(data, start_dim=0, end_dim=1) # (1, (T+1) * B) + elif isinstance(data, dict): + new_data = {} + for k, val in data.items(): + new_data[k] = flatten(val) + return new_data + elif isinstance(data, Sequence): + new_data = [flatten(v) for v in data] + return new_data + else: + raise TypeError("not support data type: {}".format(type(data))) diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py index f21a8d9863..01b8236bda 100644 --- a/dizoo/distar/model/model.py +++ b/dizoo/distar/model/model.py @@ -19,11 +19,9 @@ class Model(nn.Module): - def __init__(self, cfg={}, use_value_network=False, temperature=None): + def __init__(self, cfg={}, use_value_network=False): super(Model, self).__init__() self.whole_cfg = deep_merge_dicts(alphastar_model_default_config, cfg) - if temperature is not None: - self.whole_cfg.model.temperature = temperature self.cfg = self.whole_cfg.model self.encoder = Encoder(self.whole_cfg) self.policy = Policy(self.whole_cfg) @@ -104,7 +102,7 @@ def compute_teacher_logit( 'selected_units_num': selected_units_num } - def rl_learner_forward( + def rl_learn_forward( self, spatial_info, entity_info, scalar_info, entity_num, hidden_state, action_info, selected_units_num, behaviour_logp, teacher_logit, mask, reward, step, batch_size, unroll_len, **kwargs ): @@ -174,7 +172,7 @@ def rl_learner_forward( return outputs - def sl_train( + def sl_learn_forward( self, spatial_info, entity_info, scalar_info, entity_num, selected_units_num, traj_lens, hidden_state, action_info, **kwargs ): diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py new file mode 100644 index 0000000000..7226be1745 --- /dev/null +++ b/dizoo/distar/policy/distar_policy.py @@ -0,0 +1,384 @@ +from typing import Dict +import os.path as osp +import torch +import torch.nn.functional as F +from torch.optim import Adam + +from ding.policy import Policy +from ding.torch_utils import to_device +from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ + upgo_data, upgo_error +from ding.utils import EasyTimer +from dizoo.distar.model import Model +from .utils import collate_fn_learn + +EPS = 1e-9 + + +def entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, mask, head_weights_dict): + total_entropy_loss = 0. + entropy_dict = {} + for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: + ent = -target_policy_probs_dict[head_type] * target_policy_log_probs_dict[head_type] + if head_type == 'selected_units': + ent = ent.sum(dim=-1) / ( + EPS + torch.log(mask['selected_units_logits_mask'].float().sum(dim=-1) + 1).unsqueeze(-1) + ) # normalize + ent = (ent * mask['selected_units_mask']).sum(-1) + ent = ent.div(mask['selected_units_mask'].sum(-1) + EPS) + elif head_type == 'target_unit': + # normalize by unit + ent = ent.sum(dim=-1) / (EPS + torch.log(mask['target_units_logits_mask'].float().sum(dim=-1) + 1)) + else: + ent = ent.sum(dim=-1) / torch.log(torch.FloatTensor([ent.shape[-1]]).to(ent.device)) + if head_type not in ['action_type', 'delay']: + ent = ent * mask['actions_mask'][head_type] + entropy = ent.mean() + entropy_dict['entropy/' + head_type] = entropy.item() + total_entropy_loss += (-entropy * head_weights_dict[head_type]) + return total_entropy_loss, entropy_dict + + +def kl_error( + target_policy_log_probs_dict, teacher_policy_logits_dict, mask, game_steps, action_type_kl_steps, head_weights_dict +): + total_kl_loss = 0. + kl_loss_dict = {} + + for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: + target_policy_log_probs = target_policy_log_probs_dict[head_type] + teacher_policy_logits = teacher_policy_logits_dict[head_type] + + teacher_policy_log_probs = F.log_softmax(teacher_policy_logits, dim=-1) + teacher_policy_probs = torch.exp(teacher_policy_log_probs) + kl = teacher_policy_probs * (teacher_policy_log_probs - target_policy_log_probs) + + kl = kl.sum(dim=-1) + if head_type == 'selected_units': + kl = (kl * mask['selected_units_mask']).sum(-1) + if head_type not in ['action_type', 'delay']: + kl = kl * mask['actions_mask'][head_type] + if head_type == 'action_type': + flag = game_steps < action_type_kl_steps + action_type_kl = kl * flag * mask['cum_action_mask'] + action_type_kl_loss = action_type_kl.mean() + kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() + kl_loss = kl.mean() + total_kl_loss += (kl_loss * head_weights_dict[head_type]) + kl_loss_dict['kl/' + head_type] = kl_loss.item() + return total_kl_loss, action_type_kl_loss, kl_loss_dict + + +class DIStarPolicy(Policy): + config = dict( + cuda=True, + multi_gpu=False, + learning_rate=1e-5, + model=dict(), + loss_weights=dict( + baseline=dict( + winloss=10.0, + build_order=0.0, + built_unit=0.0, + effect=0.0, + upgrade=0.0, + battle=0.0, + ), + vtrace=dict( + winloss=1.0, + build_order=0.0, + built_unit=0.0, + effect=0.0, + upgrade=0.0, + battle=0.0, + ), + upgo=dict(winloss=1.0, ), + kl=0.02, + action_type_kl=0.1, + entropy=0.0001, + ), + vtrace_head_weights=dict( + action_type=1.0, + delay=1.0, + select_unit_num_logits=1.0, + selected_units=0.01, + target_unit=1.0, + target_location=1.0, + ), + upgo_head_weights=dict( + action_type=1.0, + delay=1.0, + select_unit_num_logits=1.0, + selected_units=0.01, + target_unit=1.0, + target_location=1.0, + ), + entropy_head_weights=dict( + action_type=1.0, + delay=1.0, + select_unit_num_logits=1.0, + selected_units=0.01, + target_unit=1.0, + target_location=1.0, + ), + kl_head_weights=dict( + action_type=1.0, + delay=1.0, + select_unit_num_logits=1.0, + selected_units=0.01, + target_unit=1.0, + target_location=1.0, + ), + kl=dict(action_type_kl_steps=2400, ), + gammas=dict( + baseline=dict( + winloss=1.0, + build_order=1.0, + built_unit=1.0, + effect=1.0, + upgrade=1.0, + battle=0.997, + ), + pg=dict( + winloss=1.0, + build_order=1.0, + built_unit=1.0, + effect=1.0, + upgrade=1.0, + battle=0.997, + ), + ), + grad_clip=dict(threshold=1.0, ) + ) + + def _init_learn(self): + self.learn_model = Model(self._cfg.model, use_value_network=True) + self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] + # policy parameters + self.gammas = self._cfg.gammas + self.loss_weights = self._cfg.loss_weights + self.action_type_kl_steps = self._cfg.kl.action_type_kl_steps + self.vtrace_head_weights = self._cfg.vtrace_head_weights + self.upgo_head_weights = self._cfg.upgo_head_weights + self.entropy_head_weights = self._cfg.entropy_head_weights + self.kl_head_weights = self._cfg.kl_head_weights + + # optimizer + self.optimizer = Adam( + self.learn_model.parameters(), + lr=self._cfg.learning_rate, + betas=(0, 0.99), + eps=1e-5, + ) + # utils + self.timer = EasyTimer(cuda=self._cfg.cuda) + + def _forward_learn(self, inputs: Dict): + # =========== + # pre-process + # =========== + inputs = collate_fn_learn(inputs) + if self._cfg.cuda: + inputs = to_device(inputs) + + # ============= + # model forward + # ============= + # create loss show dict + loss_info_dict = {} + with self.timer: + model_output = self.learn_model.rl_learn_forward(**inputs) + loss_info_dict['model_forward_time'] = self.timer.value + + # =========== + # preparation + # =========== + target_policy_logits_dict = model_output['target_logit'] # shape (T,B) + baseline_values_dict = model_output['value'] # shape (T+1,B) + behaviour_action_log_probs_dict = model_output['action_log_prob'] # shape (T,B) + teacher_policy_logits_dict = model_output['teacher_logit'] # shape (T,B) + masks_dict = model_output['mask'] # shape (T,B) + actions_dict = model_output['action'] # shape (T,B) + rewards_dict = model_output['reward'] # shape (T,B) + game_steps = model_output['step'] # shape (T,B) target_action_log_prob + + flag = rewards_dict['winloss'][-1] == 0 + for filed in baseline_values_dict.keys(): + baseline_values_dict[filed][-1] *= flag + + # create preparation info dict + target_policy_probs_dict = {} + target_policy_log_probs_dict = {} + target_action_log_probs_dict = {} + clipped_rhos_dict = {} + + # ============================================================ + # get distribution info for behaviour policy and target policy + # ============================================================ + for head_type in self.head_types: + # take info from correspondent input dict + target_policy_logits = target_policy_logits_dict[head_type] + actions = actions_dict[head_type] + # compute target log_probs, probs(for entropy,kl), target_action_log_probs, log_rhos(for pg_loss, upgo_loss) + pi_target = torch.distributions.Categorical(logits=target_policy_logits) + target_policy_probs = pi_target.probs + target_policy_log_probs = pi_target.logits + target_action_log_probs = pi_target.log_prob(actions) + behaviour_action_log_probs = behaviour_action_log_probs_dict[head_type] + + with torch.no_grad(): + log_rhos = target_action_log_probs - behaviour_action_log_probs + if head_type == 'selected_units': + log_rhos *= masks_dict['selected_units_mask'] + log_rhos = log_rhos.sum(dim=-1) + rhos = torch.exp(log_rhos) + clipped_rhos = rhos.clamp_(max=1) + # save preparation results to correspondent dict + target_policy_probs_dict[head_type] = target_policy_probs + target_policy_log_probs_dict[head_type] = target_policy_log_probs + if head_type == 'selected_units': + target_action_log_probs.masked_fill_(~masks_dict['selected_units_mask'], 0) + target_action_log_probs = target_action_log_probs.sum(-1) + target_action_log_probs_dict[head_type] = target_action_log_probs + # log_rhos_dict[head_type] = log_rhos + clipped_rhos_dict[head_type] = clipped_rhos + + # ==================== + # vtrace loss + # ==================== + total_vtrace_loss = 0. + vtrace_loss_dict = {} + + for field, baseline in baseline_values_dict.items(): + baseline_value = baseline_values_dict[field] + reward = rewards_dict[field] + for head_type in self.head_types: + weight = self.vtrace_head_weights[head_type] + if head_type not in ['action_type', 'delay']: + weight = weight * masks_dict['actions_mask'][head_type] + if field in ['build_order', 'built_unit', 'effect']: + weight = weight * masks_dict[field + '_mask'] + + data_item = vtrace_data_with_rho( + target_action_log_probs_dict[head_type], clipped_rhos_dict[head_type], baseline_value, reward, + weight + ) + vtrace_loss_item = vtrace_error_with_rho(data_item, gamma=1.0, lambda_=1.0) + + vtrace_loss_dict['vtrace/' + field + '/' + head_type] = vtrace_loss_item.item() + total_vtrace_loss += self.loss_weights.vtrace[field] * self.vtrace_head_weights[head_type + ] * vtrace_loss_item + + loss_info_dict.update(vtrace_loss_dict) + + # =========== + # upgo loss + # =========== + upgo_loss_dict = {} + total_upgo_loss = 0. + for head_type in self.head_types: + weight = self.upgo_head_weights[head_type] + if head_type not in ['action_type', 'delay']: + weight = weight * masks_dict['actions_mask'][head_type] + + data_item = upgo_data( + target_action_log_probs_dict[head_type], clipped_rhos_dict[head_type], baseline_values_dict['winloss'], + rewards_dict['winloss'], weight + ) + upgo_loss_item = upgo_error(data_item) + + total_upgo_loss += upgo_loss_item + upgo_loss_dict['upgo/' + head_type] = upgo_loss_item.item() + total_upgo_loss *= self.loss_weights.upgo.winloss + loss_info_dict.update(upgo_loss_dict) + + # =========== + # critic loss + # =========== + total_critic_loss = 0. + # field is from ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] + for field, baseline in baseline_values_dict.items(): + reward = rewards_dict[field] + # Notice: in general, we need to include done when we consider discount factor, but in our implementation + # of alphastar, traj_data(with size equal to unroll-len) sent from actor comes from the same episode. + # If the game is draw, we don't consider it is actually done + if field in ['build_order', 'built_unit', 'effect']: + weight = masks_dict[[field + '_mask']] + else: + weight = None + + field_data = td_lambda_data(baseline, reward, weight) + critic_loss = td_lambda_error(baseline, reward, masks_dict, gamma=self.gammas.baseline[field]) + + total_critic_loss += self.loss_weights.baseline[field] * critic_loss + loss_info_dict['td' + field] = critic_loss.item() + loss_info_dict['reward/' + field] = reward.float().mean().item() + loss_info_dict['value/' + field] = baseline.mean().item() + loss_info_dict['reward/battle'] = rewards_dict['battle'].float().mean().item() + + # ============ + # entropy loss + # ============ + total_entropy_loss, entropy_dict = \ + entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, masks_dict, + head_weights_dict=self.entropy_head_weights) + + total_entropy_loss *= self.loss_weights.entropy + loss_info_dict.update(entropy_dict) + + # ======= + # kl loss + # ======= + total_kl_loss, action_type_kl_loss, kl_loss_dict = \ + kl_error(target_policy_log_probs_dict, teacher_policy_logits_dict, masks_dict, game_steps, + action_type_kl_steps=self.action_type_kl_steps, head_weights_dict=self.kl_head_weights) + total_kl_loss *= self.loss_weights.kl + action_type_kl_loss *= self.loss_weights.action_type_kl + loss_info_dict.update(kl_loss_dict) + + # ====== + # update + # ====== + total_loss = ( + total_vtrace_loss + total_upgo_loss + total_critic_loss + total_entropy_loss + total_kl_loss + + action_type_kl_loss + ) + with self.timer: + self.optimizer.zero_grad() + total_loss.backward() + if self._cfg.multi_gpu: + self.sync_gradients() + gradient = torch.nn.utils.clip_grad_norm_(self.learn_model.parameters(), self._cfg.grad_clip.threshold, 2) + self.optimizer.step() + + loss_info_dict['backward_time'] = self.timer.value + loss_info_dict['total_loss'] = total_loss + loss_info_dict['gradient'] = gradient + return loss_info_dict + + def _monitor_var_learn(self): + ret = ['total_loss', 'kl/extra_at', 'gradient', 'backward_time', 'model_forward_time'] + for k1 in ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle', 'upgo', 'kl', 'entropy']: + for k2 in ['reward', 'value', 'td', 'action_type', 'delay', 'queued', 'selected_units', 'target_unit', + 'target_location']: + ret.append(k1 + '/' + k2) + return ret + + def _state_dict(self) -> Dict: + return { + 'model': self.learn_model.state_dict(), + 'optimizer': self.optimizer.state_dict(), + } + + def _load_state_dict_learn(self, _state_dict: Dict) -> None: + self.learn_model.load_state_dict(_state_dict['model']) + self.optimizer.load_state_dict(_state_dict['optimizer']) + + def _init_collect(self): + pass + + def _forward_collect(self, data): + pass + + _init_eval = _init_collect + _forward_eval = _forward_collect diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py new file mode 100644 index 0000000000..48a4c6f0b3 --- /dev/null +++ b/dizoo/distar/policy/utils.py @@ -0,0 +1,90 @@ +import torch +from ding.torch_utils import flatten, sequence_mask +from ding.utils import default_collate +from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM + +MASK_INF = -1e9 + + +def padding_entity_info(traj_data, max_entity_num): + traj_data.pop('map_name', None) + entity_padding_num = max_entity_num - len(traj_data['entity_info']['x']) + if 'entity_embeddings' in traj_data.keys(): + traj_data['entity_embeddings'] = torch.nn.functional.pad( + traj_data['entity_embeddings'], (0, 0, 0, entity_padding_num), 'constant', 0 + ) + + for k in traj_data['entity_info'].keys(): + traj_data['entity_info'][k] = torch.nn.functional.pad( + traj_data['entity_info'][k], (0, entity_padding_num), 'constant', 0 + ) + if 'action_info' in traj_data: + su_padding_num = MAX_SELECTED_UNITS_NUM - traj_data['teacher_logit']['selected_units'].shape[0] + + traj_data['mask']['selected_units_mask'] = sequence_mask( + traj_data['selected_units_num'].unsqueeze(dim=0), max_len=MAX_SELECTED_UNITS_NUM + ).squeeze(dim=0) + traj_data['action_info']['selected_units'] = torch.nn.functional.pad( + traj_data['action_info']['selected_units'], + (0, MAX_SELECTED_UNITS_NUM - traj_data['action_info']['selected_units'].shape[-1]), 'constant', 0 + ) + + traj_data['behaviour_logp']['selected_units'] = torch.nn.functional.pad( + traj_data['behaviour_logp']['selected_units'], ( + 0, + su_padding_num, + ), 'constant', MASK_INF + ) + + traj_data['teacher_logit']['selected_units'] = torch.nn.functional.pad( + traj_data['teacher_logit']['selected_units'], ( + 0, + entity_padding_num, + 0, + su_padding_num, + ), 'constant', MASK_INF + ) + traj_data['teacher_logit']['target_unit'] = torch.nn.functional.pad( + traj_data['teacher_logit']['target_unit'], (0, entity_padding_num), 'constant', MASK_INF + ) + + traj_data['mask']['selected_units_logits_mask'] = sequence_mask( + traj_data['entity_num'].unsqueeze(dim=0) + 1, max_len=max_entity_num + 1 + ).squeeze(dim=0) + traj_data['mask']['target_units_logits_mask'] = sequence_mask( + traj_data['entity_num'].unsqueeze(dim=0), max_len=max_entity_num + ).squeeze(dim=0) + + return traj_data + + +def collate_fn_learn(traj_batch): + # data list of list, with shape batch_size, unroll_len + # find max_entity_num in data_batch + max_entity_num = max( + [len(traj_data['entity_info']['x']) for traj_data_list in traj_batch for traj_data in traj_data_list] + ) + + # padding entity_info in observatin, target_unit, selected_units, mask + traj_batch = [ + [padding_entity_info(traj_data, max_entity_num) for traj_data in traj_data_list] + for traj_data_list in traj_batch + ] + + data = [default_collate(traj_data_list) for traj_data_list in traj_batch] + + batch_size = len(data) + unroll_len = len(data[0]['step']) + data = default_collate(data, dim=1) + + new_data = {} + for k, val in data.items(): + if k in ['spatial_info', 'entity_info', 'scalar_info', 'entity_num', 'entity_location', 'hidden_state', + 'value_feature']: + new_data[k] = flatten(val) + else: + new_data[k] = val + new_data['aux_type'] = batch_size + new_data['batch_size'] = batch_size + new_data['unroll_len'] = unroll_len + return new_data From e9e8ebb8203c301c5cd7751c8aa5a2affeed7164 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 14 Jun 2022 22:36:00 +0800 Subject: [PATCH 111/229] change format --- ding/framework/middleware/collector.py | 33 ++++---- ding/framework/middleware/league_actor.py | 36 +++++---- .../middleware/league_coordinator.py | 2 + .../middleware/tests/mock_for_test.py | 66 ++++------------ .../test_league_actor_distar_one_process.py | 26 +++--- .../middleware/tests/test_league_pipeline.py | 8 +- .../tests/test_league_pipeline_one_process.py | 14 ++-- dizoo/distar/envs/distar_env.py | 79 +++++++++++-------- .../tests/test_distar_env_with_manager.py | 16 ++-- 9 files changed, 131 insertions(+), 149 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 7824a53f8f..cfac1ff2ce 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,21 +1,19 @@ -from distutils.log import info from easydict import EasyDict -from ding import policy -from ding.policy import Policy, get_random_policy +from ding.policy import get_random_policy from ding.envs import BaseEnvManager from ding.framework import task -from .functional import inferencer, rolloutor, TransitionList, battle_rolloutor -from .functional import battle_inferencer, battle_rolloutor -from typing import Dict +from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from typing import Dict, TYPE_CHECKING -# if TYPE_CHECKING: -from ding.framework import OnlineRLContext, BattleContext +if TYPE_CHECKING: + from ding.framework import OnlineRLContext, BattleContext class BattleEpisodeCollector: def __init__( - self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, agent_num: int + self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, + agent_num: int ): self.cfg = cfg self.end_flag = False @@ -78,7 +76,8 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.total_envstep_count - if (self.n_rollout_samples > 0 and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: + if (self.n_rollout_samples > 0 + and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: for transitions in self._transitions_list: ctx.episodes.append(transitions.to_episodes()) transitions.clear() @@ -90,7 +89,10 @@ def __call__(self, ctx: "BattleContext") -> None: class BattleStepCollector: - def __init__(self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, agent_num: int): + def __init__( + self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, + agent_num: int + ): self.cfg = cfg self.end_flag = False # self._reset(env) @@ -117,9 +119,9 @@ def __del__(self) -> None: return self.end_flag = True self.env.close() - + def _update_policies(self, job) -> None: - job_player_id_list = [player.player_id for player in job.players] + job_player_id_list = [player.player_id for player in job.players] for player_id in job_player_id_list: if self.model_dict.get(player_id) is None: @@ -145,7 +147,7 @@ def __call__(self, ctx: "BattleContext") -> None: """ ctx.total_envstep_count = self.total_envstep_count old = ctx.env_step - + while True: self._update_policies(ctx.job) self._battle_inferencer(ctx) @@ -153,7 +155,8 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.total_envstep_count - if (self.n_rollout_samples > 0 and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: + if (self.n_rollout_samples > 0 + and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: for transitions in self._transitions_list: trajectories, trajectory_end_idx = transitions.to_trajectories() ctx.trajectories_list.append(trajectories) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 4179e11759..164eb424ab 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -1,19 +1,20 @@ from ding.framework import task, EventEnum import logging -from typing import Dict, Callable +from typing import TYPE_CHECKING, Dict, Callable -from easydict import EasyDict - -from ding.framework import BattleContext -from ding.league.v2.base_league import Job from ding.policy import Policy -from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector, gae_estimator +from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from threading import Lock import queue +from easydict import EasyDict + +if TYPE_CHECKING: + from ding.league.v2.base_league import Job + from ding.framework import BattleContext + from ding.framework.middleware.league_learner import LearnerModel class LeagueActor: @@ -51,7 +52,11 @@ def _get_collector(self, player_id: str, agent_num: int): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleEpisodeCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) + collector = task.wrap( + BattleEpisodeCollector( + cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num + ) + ) self._collectors[player_id] = collector return collector @@ -101,7 +106,7 @@ def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() if ctx.job is None: return - + collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) main_player, ctx.current_policies = self._get_current_policies(ctx.job) @@ -171,7 +176,11 @@ def _get_collector(self, player_id: str, agent_num: int): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() - collector = task.wrap(BattleStepCollector(cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num)) + collector = task.wrap( + BattleStepCollector( + cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num + ) + ) self._collectors[player_id] = collector return collector @@ -195,8 +204,8 @@ def _get_job(self): job = self.job_queue.get(timeout=10) except queue.Empty: logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) - - return job + + return job def _get_current_policies(self, job): current_policies = [] @@ -216,7 +225,6 @@ def _get_current_policies(self, job): return main_player, current_policies - def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() @@ -240,7 +248,7 @@ def __call__(self, ctx: "BattleContext"): ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(ctx.agent_num)] ctx.remain_episode = ctx.n_episode - ctx.n_sample = self.n_sample + ctx.n_sample = self.n_sample ctx.unroll_len = self.unroll_len while True: collector(ctx) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 7d4be1cda3..cbe3813e73 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -9,6 +9,8 @@ if TYPE_CHECKING: from ding.framework import Task, Context from ding.league.v2 import BaseLeague + from ding.league.player import PlayerMeta + from ding.league.v2.base_league import Job class LeagueCoordinator: diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 1d13c37f84..420c548775 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -5,7 +5,6 @@ import treetensor.numpy as tnp from easydict import EasyDict from unittest.mock import Mock -from copy import deepcopy from ding.torch_utils import to_device from ding.league.player import PlayerMeta @@ -15,6 +14,8 @@ from dizoo.distar.envs.distar_env import DIStarEnv from ding.envs import BaseEnvManager import treetensor.torch as ttorch +from ding.envs import BaseEnvTimestep +from distar.agent.default.lib.features import Features if TYPE_CHECKING: from ding.framework import BattleContext @@ -194,27 +195,22 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: data = self._mock_data(data) # return super()._forward_learn(data) return - + # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} # return super()._forward_eval(data) -from distar.agent.default.lib.features import Features class DIstarCollectMode: def __init__(self) -> None: - self._cfg = EasyDict(dict( - collect = dict( - n_episode = 1 - ) - )) + self._cfg = EasyDict(dict(collect=dict(n_episode=1))) self._feature = None self._race = 'zerg' - + def load_state_dict(self, state_dict): return - + def get_attribute(self, name: str) -> Any: if hasattr(self, '_get_' + name): return getattr(self, '_get_' + name)() @@ -239,7 +235,6 @@ def _pre_process(self, obs): self._observation = agent_obs - def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: # print("Call forward_collect:") self._pre_process(policy_obs) @@ -249,7 +244,7 @@ def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: return_data['value'] = [0] return return_data - + def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: next_obs = timestep.obs reward = timestep.reward @@ -264,7 +259,7 @@ def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) 'scalar_info': agent_obs['scalar_info'], 'entity_num': agent_obs['entity_num'], 'step': torch.tensor(self._game_step, dtype=torch.float) - }, + }, 'next_obs': {}, 'logit': model_output['logit'], 'action': model_output['action'], @@ -289,14 +284,14 @@ def _battle_inferencer(ctx: "BattleContext"): if env.closed: env.launch() - + # TODO: Just for distar races = ['zerg', 'zerg'] for policy_index, p in enumerate(ctx.current_policies): if p._feature is None: p._feature = Features(env._envs[0].game_info[policy_index], env.ready_obs[0][policy_index]['raw_obs']) p._race = races[policy_index] - + # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data @@ -324,7 +319,6 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -from ding.envs import BaseEnvTimestep def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): def _battle_rolloutor(ctx: "BattleContext"): @@ -334,10 +328,10 @@ def _battle_rolloutor(ctx: "BattleContext"): for env_id, timestep in timesteps.items(): for policy_id in ctx.obs[env_id].keys(): policy_timestep = BaseEnvTimestep( - obs = timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, - reward = timestep.reward[policy_id], - done = timestep.done, - info = {} + obs=timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, + reward=timestep.reward[policy_id], + done=timestep.done, + info={} ) transition = ctx.current_policies[policy_id].process_transition( ctx.obs[env_id][policy_id], ctx.inference_output[env_id][policy_id], policy_timestep @@ -354,35 +348,3 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.env_episode += 1 return _battle_rolloutor - - -from ding.envs import BaseEnvTimestep -def battle_rolloutor_for_distar_2(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): - - def _battle_rolloutor(ctx: "BattleContext"): - timesteps = env.step(ctx.actions) - ctx.total_envstep_count += len(timesteps) - ctx.env_step += len(timesteps) - for env_id, timestep in timesteps.items(): - for policy_id, _ in timestep.obs.items(): - policy_timestep = BaseEnvTimestep( - obs = timestep.obs.get(policy_id), - reward = timestep.reward[policy_id], - done = timestep.done, - info = {} - ) - transition = ctx.current_policies[policy_id].process_transition( - None, None, policy_timestep - ) - transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - transitions_list[policy_id].append(env_id, transition) - if timestep.done: - ctx.current_policies[policy_id].reset([env_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - if timestep.done: - ctx.ready_env_id.remove(env_id) - ctx.env_episode += 1 - - return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index a62285569a..6977630eb8 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -20,29 +20,28 @@ from typing import Dict, Any, List, Optional from collections import namedtuple from distar.ctools.utils import read_config -from easydict import EasyDict from ding.model import VAC -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy +from ding.framework.middleware.tests import DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy + class LearnMode: + def __init__(self) -> None: pass def state_dict(self): return {} + class CollectMode: + def __init__(self) -> None: - self._cfg = EasyDict(dict( - collect = dict( - n_episode = 64 - ) - )) + self._cfg = EasyDict(dict(collect=dict(n_episode=64))) def load_state_dict(self, state_dict): return - + def forward(self, data: Dict): return_data = {} return_data['action'] = DIStarEnv.random_action(data) @@ -50,7 +49,7 @@ def forward(self, data: Dict): return_data['value'] = [0] return return_data - + def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: transition = { 'obs': obs, @@ -62,10 +61,10 @@ def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) 'done': timestep.done, } return transition - + def reset(self, data_id: Optional[List[int]] = None) -> None: pass - + def get_attribute(self, name: str) -> Any: if hasattr(self, '_get_' + name): return getattr(self, '_get_' + name)() @@ -92,7 +91,7 @@ def policy_fn(): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy - + def collect_policy_fn(): policy = DIStarMockPolicyCollect() return policy @@ -104,7 +103,7 @@ def collect_policy_fn(): def test_league_actor(): cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() policy = policy_fn() - with task.start(async_mode=True, ctx = BattleContext()): + with task.start(async_mode=True, ctx=BattleContext()): def test_actor(): job = Job( @@ -168,5 +167,6 @@ def _test_actor(ctx): task.use(league_actor) task.run() + if __name__ == '__main__': test_league_actor() \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index ffbc7f8fa8..6f14c38463 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -1,22 +1,17 @@ from copy import deepcopy from time import sleep import pytest -from copy import deepcopy from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, StepLeagueActor, LeagueCoordinator +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner -from ding.envs import BaseEnvManager from ding.model import VAC from ding.framework.task import task, Parallel -from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch -import os N_ACTORS = 1 N_LEARNERS = 1 @@ -46,7 +41,6 @@ def collect_policy_fn(): return cfg, env_fn, policy_fn, collect_policy_fn - def _main(): cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py index 9c741bb14b..8c217b0578 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -1,23 +1,19 @@ from copy import deepcopy -from time import sleep import pytest -from copy import deepcopy from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, StepLeagueActor, LeagueCoordinator +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner -from ding.envs import BaseEnvManager from ding.model import VAC -from ding.framework.task import task, Parallel -from ding.framework.middleware import LeagueCoordinator, LeagueActor, LeagueLearner +from ding.framework.task import task from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch import os + def prepare_test(): global cfg cfg = deepcopy(cfg) @@ -34,7 +30,7 @@ def policy_fn(): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy - + def collect_policy_fn(): policy = DIStarMockPolicyCollect() return policy diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 1a830c47c8..f34ee527b1 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -6,6 +6,7 @@ import torch import random + class DIStarEnv(SC2Env, BaseEnv): def __init__(self, cfg): @@ -14,28 +15,23 @@ def __init__(self, cfg): self._map_name = None def reset(self): - observations, game_info, map_name = super(DIStarEnv,self).reset() + observations, game_info, map_name = super(DIStarEnv, self).reset() # print(game_info) self.game_info = game_info self.map_name = map_name return observations def close(self): - super(DIStarEnv,self).close() + super(DIStarEnv, self).close() def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) - next_observations, reward, done = super(DIStarEnv,self).step(actions) + next_observations, reward, done = super(DIStarEnv, self).step(actions) info = {} for policy_id in range(self._num_agents): info[policy_id] = {'result': None} - timestep = BaseEnvTimestep( - obs = next_observations, - reward = reward, - done = done, - info = info - ) + timestep = BaseEnvTimestep(obs=next_observations, reward=reward, done=done, info=info) return timestep def seed(self, seed, dynamic_seed=False): @@ -44,19 +40,19 @@ def seed(self, seed, dynamic_seed=False): @property def game_info(self): return self._game_info - + @game_info.setter def game_info(self, new_game_info): self._game_info = new_game_info - + @property def map_name(self): return self._map_name - + @map_name.setter def map_name(self, new_map_name): self._map_name = new_map_name - + @property def observation_space(self): #TODO @@ -66,25 +62,34 @@ def observation_space(self): def action_space(self): #TODO pass - + @classmethod def random_action(cls, obs): raw = obs['raw_obs'].observation.raw_data all_unit_types = set() self_unit_types = set() - + for u in raw.units: # Here we select the units except “buildings that are in building progress” for simplification if u.build_progress == 1: all_unit_types.add(u.unit_type) if u.alliance == 1: self_unit_types.add(u.unit_type) - + avail_actions = [ - {0: {'exist_selected_types':[], 'exist_target_types':[]}}, - {168:{'exist_selected_types':[], 'exist_target_types':[]}} - ] # no_op and raw_move_camera don't have seleted_units + { + 0: { + 'exist_selected_types': [], + 'exist_target_types': [] + } + }, { + 168: { + 'exist_selected_types': [], + 'exist_target_types': [] + } + } + ] # no_op and raw_move_camera don't have seleted_units for action_id, action in ACTIONS_STAT.items(): exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) @@ -95,39 +100,46 @@ def random_action(cls, obs): continue if len(exist_selected_types) > 0: - avail_actions.append({action_id: {'exist_selected_types':exist_selected_types, 'exist_target_types':exist_target_types}}) - + avail_actions.append( + { + action_id: { + 'exist_selected_types': exist_selected_types, + 'exist_target_types': exist_target_types + } + } + ) + current_action = random.choice(avail_actions) func_id, exist_types = current_action.popitem() if func_id not in [0, 168]: - correspond_selected_units = [u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1] - correspond_targets = [u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1] + correspond_selected_units = [ + u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1 + ] + correspond_targets = [ + u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1 + ] num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) - unit_tags = random.sample(correspond_selected_units, num_selected_unit) + unit_tags = random.sample(correspond_selected_units, num_selected_unit) target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None else: unit_tags = [] target_unit_tag = None - + data = { - 'func_id': func_id, + 'func_id': func_id, 'skip_steps': random.randint(0, MAX_DELAY - 1), # 'skip_steps': 8, 'queued': random.randint(0, 1), - 'unit_tags': unit_tags, - 'target_unit_tag': target_unit_tag, - 'location': ( - random.randint(0, SPATIAL_SIZE[0] - 1), - random.randint(0, SPATIAL_SIZE[1] - 1) - ) + 'unit_tags': unit_tags, + 'target_unit_tag': target_unit_tag, + 'location': (random.randint(0, SPATIAL_SIZE[0] - 1), random.randint(0, SPATIAL_SIZE[1] - 1)) } return [data] - @property def reward_space(self): @@ -137,6 +149,7 @@ def reward_space(self): def __repr__(self): return "DI-engine DI-star Env" + # if __name__ == '__main__': # no_target_unit_actions = sorted([action['func_id'] for action in ACTIONS if action['target_unit'] == False]) # no_target_unit_actions_dict = sorted([action_id for action_id, action in ACTIONS_STAT.items() if len(action['target_type']) == 0]) diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py index 930d5e99f7..6741db2eda 100644 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ b/dizoo/distar/envs/tests/test_distar_env_with_manager.py @@ -28,7 +28,9 @@ ENV_NUMBER = 2 + class TestDIstarEnv: + def __init__(self): cfg = read_config('./test_distar_config.yaml') @@ -60,17 +62,16 @@ def _inference_loop(self, job={}): actions[env_id][player_index] = DIStarEnv.random_action(player_obs) timesteps = self._env.step(actions) print(actions) - + except Exception as e: print('[EPISODE LOOP ERROR]', e, flush=True) print(''.join(traceback.format_tb(e.__traceback__)), flush=True) self._env.close() - + self._env.close() -if __name__ == '__main__': - ## main +if __name__ == '__main__': if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): sc2path = r'C:\Program Files (x86)\StarCraft II' elif os.path.exists('/Applications/StarCraft II'): @@ -80,8 +81,11 @@ def _inference_loop(self, job={}): sc2path = os.environ['SC2PATH'] assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) + shutil.copytree( + os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), + os.path.join(sc2path, 'Maps/Ladder2019Season2') + ) - ## actor_run + # actor_run actor = TestDIstarEnv() actor._inference_loop() \ No newline at end of file From ffe8f7c63a921062b168dfe048b39230acb375f2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 17:05:54 +0800 Subject: [PATCH 112/229] change print to show node_id; change format --- ding/framework/middleware/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 13 +++++++------ ding/framework/middleware/league_coordinator.py | 13 ++++++++----- ding/framework/middleware/league_learner.py | 13 ++++++++----- .../middleware/tests/test_league_pipeline.py | 6 +++--- 5 files changed, 28 insertions(+), 21 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index cfac1ff2ce..20e2f7e823 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -82,8 +82,8 @@ def __call__(self, ctx: "BattleContext") -> None: ctx.episodes.append(transitions.to_episodes()) transitions.clear() if ctx.env_episode >= ctx.n_episode: - ctx.job_finish = True self.env.close() + ctx.job_finish = True break @@ -163,8 +163,8 @@ def __call__(self, ctx: "BattleContext") -> None: ctx.trajectory_end_idx_list.append(trajectory_end_idx) transitions.clear() if ctx.env_episode >= ctx.n_episode: - ctx.job_finish = True self.env.close() + ctx.job_finish = True break diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 164eb424ab..b630b5abaa 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -37,7 +37,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print("Actor receive model from learner \n") + print("Actor {} receive model from learner \n".format(task.router.node_id), flush=True) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -161,7 +161,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print('Actor got model \n') + print('Actor {} recieved model \n'.format(task.router.node_id), flush=True) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -203,7 +203,7 @@ def _get_job(self): try: job = self.job_queue.get(timeout=10) except queue.Empty: - logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) + logging.warning("For actor {}, no Job get from coordinator".format(task.router.node_id)) return job @@ -230,7 +230,7 @@ def __call__(self, ctx: "BattleContext"): ctx.job = self._get_job() if ctx.job is None: return - print('For actor, a job begin \n') + print('For actor {}, a job begin \n'.format(task.router.node_id), flush=True) collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) @@ -256,11 +256,12 @@ def __call__(self, ctx: "BattleContext"): if not ctx.job.is_eval and len(ctx.trajectories_list[0]) > 0: ctx.trajectories = ctx.trajectories_list[0] ctx.trajectory_end_idx = ctx.trajectory_end_idx_list[0] + print('actor {}, len trajectories {}'.format(task.router.node_id, len(ctx.trajectories)), flush=True) # self._gae_estimator(ctx) # actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) - print('Actor send data\n') + print('Actor {} send data\n'.format(task.router.node_id), flush=True) ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] @@ -271,5 +272,5 @@ def __call__(self, ctx: "BattleContext"): ctx.job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) ctx.episode_info = [[] for _ in range(ctx.agent_num)] - print('Actor job finish, send job\n') + print('Actor {} job finish, send job\n'.format(task.router.node_id), flush=True) break diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index cbe3813e73..43300d8711 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -27,7 +27,7 @@ def __init__(self, league: "BaseLeague") -> None: task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): - print('coordinator recieve actor greeting\n') + print('coordinator recieve actor greeting\n', flush=True) with self._lock: player_num = len(self.league.active_players_ids) player_id = self.league.active_players_ids[self._total_send_jobs % player_num] @@ -37,20 +37,23 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % self._eval_frequency == 0: job.is_eval = True job.actor_id = actor_id - print('coordinator emit job\n') + print('coordinator emit job\n', flush=True) task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_learner_meta(self, player_meta: "PlayerMeta"): - print('coordinator recieve learner meta\n') - print("on_learner_meta {}".format(player_meta)) + print('coordinator recieve learner meta\n', flush=True) + # print("on_learner_meta {}".format(player_meta)) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): - print('coordinator recieve actor finished job\n') + print('coordinator recieve actor finished job\n', flush=True) print("on_actor_job {}".format(job.launch_player)) # right self.league.update_payoff(job) + def __del__(self): + print('task finished, coordinator closed', flush=True) + def __call__(self, ctx: "Context") -> None: sleep(1) # logging.info("{} Step: {}".format(self.__class__, self._step)) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 52f98fc654..af7ec59039 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -37,30 +37,30 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self._step = 0 def _on_actor_send_data(self, actor_data: "ActorData"): - print("learner receive data from actor! \n") + print("learner receive data from actor! \n", flush=True) with self._lock: cfg = self.cfg for _ in range(cfg.policy.learn.update_per_collect): pass # print("train model") - # prinst(actor_data.train_data) + # print(actor_data.train_data) # self._learner.train(actor_data.train_data, actor_data.env_step) self.player.total_agent_step = self._learner.train_iter # print("save checkpoint") checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None - print('learner send player meta\n') + print('learner send player meta\n', flush=True) task.emit( EventEnum.LEARNER_SEND_META, PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) ) - print("pack model") + # print("pack model") learner_model = LearnerModel( player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter ) - print('learner send model\n') + print('learner send model\n', flush=True) task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) def _get_learner(self) -> BaseLearner: @@ -83,6 +83,9 @@ def _save_checkpoint(self) -> Optional[Storage]: storage.save(self._learner.policy.state_dict()) return storage + def __del__(self): + print('task finished, learner closed', flush=True) + def __call__(self, _: "Context") -> None: sleep(1) # logging.info("{} Step: {}".format(self.__class__, self._step)) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 6f14c38463..2afe43e56d 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -13,8 +13,8 @@ from distar.ctools.utils import read_config from unittest.mock import patch -N_ACTORS = 1 -N_LEARNERS = 1 +N_ACTORS = 2 +N_LEARNERS = 2 def prepare_test(): @@ -60,7 +60,7 @@ def _main(): learner._learner._tb_logger = MockLogger() task.use(learner) - task.run(max_step=300) + task.run() @pytest.mark.unittest From b6c24b76a572631b9a72ee7d7170b4078b1265a5 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 17:15:58 +0800 Subject: [PATCH 113/229] handle exception during reset SC2 env --- dizoo/distar/envs/distar_env.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index f34ee527b1..88512666f9 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -15,11 +15,16 @@ def __init__(self, cfg): self._map_name = None def reset(self): - observations, game_info, map_name = super(DIStarEnv, self).reset() - # print(game_info) - self.game_info = game_info - self.map_name = map_name - return observations + while True: + try: + observations, game_info, map_name = super(DIStarEnv, self).reset() + # print(game_info) + self.game_info = game_info + self.map_name = map_name + return observations + except Exception as e: + print("during reset SC2 env, an error happend: ", e, flush=True) + self.close() def close(self): super(DIStarEnv, self).close() From 78bed49622e216fe71c3afd2031753cff50ce170 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 17:53:49 +0800 Subject: [PATCH 114/229] rolloutor handle error during step --- ding/framework/context.py | 4 ++++ ding/framework/middleware/functional/collector.py | 9 ++++++++- ding/framework/middleware/tests/mock_for_test.py | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 4fa242c0be..e2b38fbc19 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -103,6 +103,10 @@ def __init__(self, *args, **kwargs) -> None: self.job = None self.job_finish = False + #data + self.obs = None + self.actions = None + #Return data paras self.episodes = [] self.episode_info = [] diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 2b40f70358..c02b5b254b 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -46,6 +46,13 @@ def clear(self): for item in self._done_idx: item.clear() + def clear(self, env_id: int) -> None: + self._transitions[env_id].clear() + self._done_idx[env_id].clear() + + def length(self, env_id: int) -> int: + return len(self._transitions[env_id]) + def inferencer(cfg: EasyDict, policy: Policy, env: BaseEnvManager) -> Callable: """ @@ -142,7 +149,7 @@ def _battle_inferencer(ctx: "BattleContext"): if env.closed: env.launch() - + # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 420c548775..4d028eb257 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -323,6 +323,17 @@ def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) + error_env_id_list = [] + for env_id, timestep in timesteps.items(): + if timestep.info.get('step_error'): + error_env_id_list.append(env_id) + ctx.total_envstep_count -= transitions_list[0].length(env_id) + ctx.env_step -= transitions_list[0].length(env_id) + for transitions in transitions_list: + transitions.clear(env_id) + for error_env_id in error_env_id_list: + del timesteps[error_env_id] + ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) for env_id, timestep in timesteps.items(): From 2ad48501ab082d17b5e7d58589c4b6dc62e90cc9 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 17:55:24 +0800 Subject: [PATCH 115/229] add test for step exception --- .../tests/test_handle_step_exception.py | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 ding/framework/middleware/tests/test_handle_step_exception.py diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py new file mode 100644 index 0000000000..0ebbd460fc --- /dev/null +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -0,0 +1,37 @@ +from ding.framework.context import BattleContext +from ding.framework.middleware.functional.collector import TransitionList +from ding.framework.middleware.tests import battle_rolloutor_for_distar +import pytest +from unittest.mock import Mock +from ding.envs import BaseEnvTimestep +from easydict import EasyDict + + +class MockEnvManager(Mock): + + def step(self, actions): + timesteps = {} + for env_id in actions.keys(): + timesteps[env_id] = BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={'step_error': True}) + return timesteps + + +@pytest.mark.unittest +def test_handle_step_exception(): + ctx = BattleContext() + ctx.total_envstep_count = 10 + ctx.env_step = 20 + transitions_list = [TransitionList(env_num=2)] + for _ in range(5): + transitions_list[0].append(env_id=0, transition=BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={})) + transitions_list[0].append(env_id=1, transition=BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={})) + + ctx.actions = {0: {}} + ctx.obs = {0: {0: {}}} + rolloutor = battle_rolloutor_for_distar(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list) + rolloutor(ctx) + + assert ctx.total_envstep_count == 5 + assert ctx.env_step == 15 + assert transitions_list[0].length(0) == 0 + assert transitions_list[0].length(1) == 5 From 72dfa38b7f033901a3e29c9fc4105fcaa34470ec Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 22:02:19 +0800 Subject: [PATCH 116/229] fix a bug of TransitionList, and simpify BattleContext --- ding/framework/context.py | 7 +------ ding/framework/middleware/functional/collector.py | 2 +- ding/framework/middleware/league_actor.py | 15 +++++---------- ding/framework/middleware/tests/mock_for_test.py | 2 +- .../tests/test_handle_step_exception.py | 4 ++++ 5 files changed, 12 insertions(+), 18 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index e2b38fbc19..0dfb23d20c 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -84,9 +84,7 @@ def __init__(self, *args, **kwargs) -> None: self.__dict__ = self # collect target paras self.n_episode = None - self.n_sample = 1 - self.unroll_len = 1 - + #collect process paras self.env_episode = 0 self.env_step = 0 @@ -94,7 +92,6 @@ def __init__(self, *args, **kwargs) -> None: self.train_iter = 0 self.collect_kwargs = {} self.agent_num = 2 - self.traj_len = float("inf") self.current_policies = [] self.ready_env_id = set() self.remain_episode = 0 @@ -112,6 +109,4 @@ def __init__(self, *args, **kwargs) -> None: self.episode_info = [] self.trajectories_list = [] self.trajectory_end_idx_list = [] - self.trajectories = [] - self.trajectory_end_idx = None self.train_data = None diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index c02b5b254b..6cc9fc86e2 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -46,7 +46,7 @@ def clear(self): for item in self._done_idx: item.clear() - def clear(self, env_id: int) -> None: + def clear_env_transitions(self, env_id: int) -> None: self._transitions[env_id].clear() self._done_idx[env_id].clear() diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index b630b5abaa..da0bb01079 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -248,25 +248,20 @@ def __call__(self, ctx: "BattleContext"): ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(ctx.agent_num)] ctx.remain_episode = ctx.n_episode - ctx.n_sample = self.n_sample - ctx.unroll_len = self.unroll_len + while True: collector(ctx) if not ctx.job.is_eval and len(ctx.trajectories_list[0]) > 0: - ctx.trajectories = ctx.trajectories_list[0] - ctx.trajectory_end_idx = ctx.trajectory_end_idx_list[0] - print('actor {}, len trajectories {}'.format(task.router.node_id, len(ctx.trajectories)), flush=True) - # self._gae_estimator(ctx) - # actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.train_data) - actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.trajectories) + trajectories = ctx.trajectories_list[0] + trajectory_end_idx = ctx.trajectory_end_idx_list[0] + print('actor {}, len trajectories {}'.format(task.router.node_id, len(trajectories)), flush=True) + actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) print('Actor {} send data\n'.format(task.router.node_id), flush=True) ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] - ctx.trajectories = [] - ctx.trajectory_end_idx = None if ctx.job_finish is True: ctx.job.result = [e['result'] for e in ctx.episode_info[0]] diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 4d028eb257..6d3c21ed05 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -330,7 +330,7 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.total_envstep_count -= transitions_list[0].length(env_id) ctx.env_step -= transitions_list[0].length(env_id) for transitions in transitions_list: - transitions.clear(env_id) + transitions.clear_env_transitions(env_id) for error_env_id in error_env_id_list: del timesteps[error_env_id] diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py index 0ebbd460fc..ce70cb7b46 100644 --- a/ding/framework/middleware/tests/test_handle_step_exception.py +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -35,3 +35,7 @@ def test_handle_step_exception(): assert ctx.env_step == 15 assert transitions_list[0].length(0) == 0 assert transitions_list[0].length(1) == 5 + + +if __name__ == '__main__': + test_handle_step_exception() \ No newline at end of file From f6ec222aaa591f6b23cca264ad4b20ebeeca0e3d Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 22:05:11 +0800 Subject: [PATCH 117/229] change a bit --- ding/framework/middleware/tests/test_handle_step_exception.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py index ce70cb7b46..0ebbd460fc 100644 --- a/ding/framework/middleware/tests/test_handle_step_exception.py +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -35,7 +35,3 @@ def test_handle_step_exception(): assert ctx.env_step == 15 assert transitions_list[0].length(0) == 0 assert transitions_list[0].length(1) == 5 - - -if __name__ == '__main__': - test_handle_step_exception() \ No newline at end of file From b6129edd709cd8ab96540071fd50c9170cdf37d4 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 22:11:23 +0800 Subject: [PATCH 118/229] change var agent_num --- ding/framework/context.py | 1 - ding/framework/middleware/league_actor.py | 30 ++++++++++++++--------- 2 files changed, 18 insertions(+), 13 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 0dfb23d20c..87e38ece44 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -91,7 +91,6 @@ def __init__(self, *args, **kwargs) -> None: self.total_envstep_count = 0 self.train_iter = 0 self.collect_kwargs = {} - self.agent_num = 2 self.current_policies = [] self.ready_env_id = set() self.remain_episode = 0 diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index da0bb01079..883aec9c88 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -33,6 +33,8 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict = {} self.model_dict_lock = Lock() + self.agent_num = 2 + def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. @@ -47,14 +49,15 @@ def _on_league_job(self, job: "Job"): """ self.job_queue.put(job) - def _get_collector(self, player_id: str, agent_num: int): + def _get_collector(self, player_id: str): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() collector = task.wrap( BattleEpisodeCollector( - cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num + cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, + self.agent_num ) ) self._collectors[player_id] = collector @@ -107,7 +110,8 @@ def __call__(self, ctx: "BattleContext"): if ctx.job is None: return - collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) + self.agent_num = len(ctx.job.players) + collector = self._get_collector(ctx.job.launch_player) main_player, ctx.current_policies = self._get_current_policies(ctx.job) @@ -119,9 +123,8 @@ def __call__(self, ctx: "BattleContext"): ctx.n_episode = _default_n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" - ctx.agent_num = len(ctx.current_policies) ctx.train_iter = main_player.total_agent_step - ctx.episode_info = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(self.agent_num)] ctx.remain_episode = ctx.n_episode while True: collector(ctx) @@ -133,7 +136,7 @@ def __call__(self, ctx: "BattleContext"): if ctx.job_finish is True: ctx.job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) - ctx.episode_info = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(self.agent_num)] break @@ -155,6 +158,8 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict = {} self.model_dict_lock = Lock() + self.agent_num = 2 + # self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) def _on_learner_model(self, learner_model: "LearnerModel"): @@ -171,14 +176,15 @@ def _on_league_job(self, job: "Job"): """ self.job_queue.put(job) - def _get_collector(self, player_id: str, agent_num: int): + def _get_collector(self, player_id: str): if self._collectors.get(player_id): return self._collectors.get(player_id) cfg = self.cfg env = self.env_fn() collector = task.wrap( BattleStepCollector( - cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, agent_num + cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, + self.agent_num ) ) self._collectors[player_id] = collector @@ -231,11 +237,11 @@ def __call__(self, ctx: "BattleContext"): if ctx.job is None: return print('For actor {}, a job begin \n'.format(task.router.node_id), flush=True) + self.agent_num = len(ctx.job.players) - collector = self._get_collector(ctx.job.launch_player, len(ctx.job.players)) + collector = self._get_collector(ctx.job.launch_player) main_player, ctx.current_policies = self._get_current_policies(ctx.job) - ctx.agent_num = len(ctx.current_policies) _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) if ctx.n_episode is None: @@ -246,7 +252,7 @@ def __call__(self, ctx: "BattleContext"): assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" ctx.train_iter = main_player.total_agent_step - ctx.episode_info = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(self.agent_num)] ctx.remain_episode = ctx.n_episode while True: @@ -266,6 +272,6 @@ def __call__(self, ctx: "BattleContext"): if ctx.job_finish is True: ctx.job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) - ctx.episode_info = [[] for _ in range(ctx.agent_num)] + ctx.episode_info = [[] for _ in range(self.agent_num)] print('Actor {} job finish, send job\n'.format(task.router.node_id), flush=True) break From c16e9e74b9a09174c30636f03d10c9af43563f8f Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 22:27:30 +0800 Subject: [PATCH 119/229] make n_episode more clear --- ding/framework/middleware/league_actor.py | 16 ++-------------- ding/framework/middleware/tests/league_config.py | 2 +- 2 files changed, 3 insertions(+), 15 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 883aec9c88..d83fd552d6 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -115,12 +115,7 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(ctx.job) - _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) - if ctx.n_episode is None: - if _default_n_episode is None: - raise RuntimeError("Please specify collect n_episode") - else: - ctx.n_episode = _default_n_episode + ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" ctx.train_iter = main_player.total_agent_step @@ -148,8 +143,6 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_num = env_fn().env_num self.policy_fn = policy_fn self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 - self.n_sample = self.cfg.policy.collect.get("n_sample") or 1 - self.unroll_len = self.cfg.policy.collect.get("unroll_len") or 1 self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -243,12 +236,7 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(ctx.job) - _default_n_episode = ctx.current_policies[0].get_attribute('cfg').collect.get('n_episode', None) - if ctx.n_episode is None: - if _default_n_episode is None: - raise RuntimeError("Please specify collect n_episode") - else: - ctx.n_episode = _default_n_episode + ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" ctx.train_iter = main_player.total_agent_step diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 3d1e6b5b1d..f8a08c6069 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -77,7 +77,7 @@ }, 'discount_factor': 1.0, 'gae_lambda': 1.0, - 'n_episode': 1, + 'n_episode': 2, 'n_rollout_samples': 32, 'n_sample': 64, 'unroll_len': 2 From 6fa1209e97d974b9436f982c8e897a1fe5de9abd Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 15 Jun 2022 22:40:58 +0800 Subject: [PATCH 120/229] get rid of ctx.job --- ding/framework/context.py | 2 +- ding/framework/middleware/collector.py | 16 ++++------ ding/framework/middleware/league_actor.py | 38 ++++++++++++----------- 3 files changed, 27 insertions(+), 29 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 87e38ece44..f5f830f784 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -96,7 +96,7 @@ def __init__(self, *args, **kwargs) -> None: self.remain_episode = 0 #job paras - self.job = None + self.player_id_list = [] self.job_finish = False #data diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 20e2f7e823..49d560a4d5 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -42,10 +42,8 @@ def __del__(self) -> None: self.end_flag = True self.env.close() - def _update_policies(self, job) -> None: - job_player_id_list = [player.player_id for player in job.players] - - for player_id in job_player_id_list: + def _update_policies(self, player_id_list) -> None: + for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue else: @@ -70,7 +68,7 @@ def __call__(self, ctx: "BattleContext") -> None: ctx.total_envstep_count = self.total_envstep_count old = ctx.env_episode while True: - self._update_policies(ctx.job) + self._update_policies(ctx.player_id_list) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) @@ -120,10 +118,8 @@ def __del__(self) -> None: self.end_flag = True self.env.close() - def _update_policies(self, job) -> None: - job_player_id_list = [player.player_id for player in job.players] - - for player_id in job_player_id_list: + def _update_policies(self, player_id_list) -> None: + for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue else: @@ -149,7 +145,7 @@ def __call__(self, ctx: "BattleContext") -> None: old = ctx.env_step while True: - self._update_policies(ctx.job) + self._update_policies(ctx.player_id_list) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index d83fd552d6..3edfbfc0a3 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -106,14 +106,15 @@ def _get_current_policies(self, job): def __call__(self, ctx: "BattleContext"): - ctx.job = self._get_job() - if ctx.job is None: + job = self._get_job() + if job is None: return - self.agent_num = len(ctx.job.players) - collector = self._get_collector(ctx.job.launch_player) + ctx.player_id_list = [player.player_id for player in job.players] + self.agent_num = len(job.players) + collector = self._get_collector(job.launch_player) - main_player, ctx.current_policies = self._get_current_policies(ctx.job) + main_player, ctx.current_policies = self._get_current_policies(job) ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" @@ -124,13 +125,13 @@ def __call__(self, ctx: "BattleContext"): while True: collector(ctx) - if not ctx.job.is_eval and len(ctx.episodes[0]) > 0: + if not job.is_eval and len(ctx.episodes[0]) > 0: actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.episodes[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) ctx.episodes = [] if ctx.job_finish is True: - ctx.job.result = [e['result'] for e in ctx.episode_info[0]] - task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] break @@ -226,15 +227,16 @@ def _get_current_policies(self, job): def __call__(self, ctx: "BattleContext"): - ctx.job = self._get_job() - if ctx.job is None: + job = self._get_job() + if job is None: return print('For actor {}, a job begin \n'.format(task.router.node_id), flush=True) - self.agent_num = len(ctx.job.players) - collector = self._get_collector(ctx.job.launch_player) + ctx.player_id_list = [player.player_id for player in job.players] + self.agent_num = len(job.players) + collector = self._get_collector(job.launch_player) - main_player, ctx.current_policies = self._get_current_policies(ctx.job) + main_player, ctx.current_policies = self._get_current_policies(job) ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" @@ -246,20 +248,20 @@ def __call__(self, ctx: "BattleContext"): while True: collector(ctx) - if not ctx.job.is_eval and len(ctx.trajectories_list[0]) > 0: + if not job.is_eval and len(ctx.trajectories_list[0]) > 0: trajectories = ctx.trajectories_list[0] trajectory_end_idx = ctx.trajectory_end_idx_list[0] print('actor {}, len trajectories {}'.format(task.router.node_id, len(trajectories)), flush=True) actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=trajectories) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=ctx.job.launch_player), actor_data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) print('Actor {} send data\n'.format(task.router.node_id), flush=True) ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] if ctx.job_finish is True: - ctx.job.result = [e['result'] for e in ctx.episode_info[0]] - task.emit(EventEnum.ACTOR_FINISH_JOB, ctx.job) + job.result = [e['result'] for e in ctx.episode_info[0]] + task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] print('Actor {} job finish, send job\n'.format(task.router.node_id), flush=True) break From 09b71459ade0ec4923bb4e79f213d01b597fe352 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Wed, 15 Jun 2022 23:27:55 +0800 Subject: [PATCH 121/229] polish(nyz): remove whole_cfg in distar model and fix bugs --- dizoo/distar/model/__init__.py | 2 +- .../model/actor_critic_default_config.yaml | 20 +++++--- dizoo/distar/model/encoder.py | 10 ++-- dizoo/distar/model/head/action_arg_head.py | 50 ++++++++----------- dizoo/distar/model/head/action_type_head.py | 5 +- dizoo/distar/model/model.py | 28 ++++++----- .../model/obs_encoder/entity_encoder.py | 15 +++--- .../model/obs_encoder/scalar_encoder.py | 16 +++--- .../model/obs_encoder/spatial_encoder.py | 9 ++-- .../distar/model/obs_encoder/value_encoder.py | 2 +- dizoo/distar/model/policy.py | 15 +++--- dizoo/distar/model/tests/test_head.py | 14 +++--- 12 files changed, 90 insertions(+), 96 deletions(-) diff --git a/dizoo/distar/model/__init__.py b/dizoo/distar/model/__init__.py index 8ea35e8f96..3b4d86ebbc 100644 --- a/dizoo/distar/model/__init__.py +++ b/dizoo/distar/model/__init__.py @@ -1 +1 @@ -#from .model import Model, alphastar_model_default_config +from .model import Model diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml index 08859163b3..05edf693e4 100644 --- a/dizoo/distar/model/actor_critic_default_config.yaml +++ b/dizoo/distar/model/actor_critic_default_config.yaml @@ -11,21 +11,16 @@ var10: &SPATIAL_Y 152 var11: &NUM_UNIT_MIX_ABILITIES 269 -learner: - use_value_feature: False model: - spatial_x: *SPATIAL_X - spatial_y: *SPATIAL_Y - temperature: 1.0 # ===== Tuning ===== freeze_targets: [] state_dict_mask: [] use_value_network: False only_update_baseline: False enable_baselines: ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] - entity_reduce_type: 'selected_units_num' # ['constant', 'entity_num', 'selected_units_num'] # ===== Value ===== value: + use_value_feature: False encoder: modules: enemy_unit_counts_bow: @@ -195,6 +190,7 @@ model: beginning_order: arc: transformer action_one_hot_dim: *NUM_BEGINNING_ORDER_ACTIONS + spatial_x: *SPATIAL_X binary_dim: 10 head_dim: 8 output_dim: 64 @@ -261,6 +257,8 @@ model: activation: 'relu' norm_type: 'none' head_type: 'fc' + spatial_x: *SPATIAL_X + spatial_y: *SPATIAL_Y entity_encoder: module: unit_type: @@ -373,7 +371,7 @@ model: dropout_ratio: 0 activation: 'relu' ln_type: 'post' - use_score_cumulative: False + entity_reduce_type: 'selected_units_num' # ['constant', 'entity_num', 'selected_units_num'] scatter: input_dim: 256 # entity_encoder.output_dim output_dim: 32 @@ -405,6 +403,7 @@ model: ln_type: 'normal' use_mask: False race: 'zerg' + temperature: 1.0 delay_head: input_dim: 1024 # action_type_head.gate_dim decode_dim: 256 @@ -417,6 +416,7 @@ model: queued_dim: 2 queued_map_dim: 256 activation: 'relu' + temperature: 1.0 selected_units_head: lstm_type: 'pytorch' lstm_norm_type: 'none' @@ -431,6 +431,8 @@ model: max_entity_num: 64 activation: 'relu' extra_units: True # select extra units if selected units exceed max_entity_num=64 + entity_reduce_type: 'selected_units_num' + temperature: 1.0 target_unit_head: input_dim: 1024 # action_type_head.gate_dim entity_embedding_dim: 256 # entity_encoder.output_dim @@ -439,6 +441,7 @@ model: func_dim: 256 activation: 'relu' embedding_norm: True + temperature: 1.0 location_head: input_dim: 1024 project_dim: 1024 @@ -450,3 +453,6 @@ model: reshape_channel: 4 # entity_encoder.gate_dim / reshape_size map_skip_dim: 128 # spatial_encoder.down_channels[-1] activation: 'relu' + spatial_x: *SPATIAL_X + spatial_y: *SPATIAL_Y + temperature: 1.0 diff --git a/dizoo/distar/model/encoder.py b/dizoo/distar/model/encoder.py index f6d849f901..bd341f70f5 100644 --- a/dizoo/distar/model/encoder.py +++ b/dizoo/distar/model/encoder.py @@ -8,19 +8,17 @@ from ding.torch_utils import fc_block, ScatterConnection from .obs_encoder import ScalarEncoder, SpatialEncoder, EntityEncoder -from .lstm import script_lnlstm class Encoder(nn.Module): def __init__(self, cfg): super(Encoder, self).__init__() - self.whole_cfg = cfg - self.cfg = cfg.model.encoder + self.cfg = cfg.encoder self.encoder = nn.ModuleDict() - self.scalar_encoder = ScalarEncoder(self.whole_cfg) - self.spatial_encoder = SpatialEncoder(self.whole_cfg) - self.entity_encoder = EntityEncoder(self.whole_cfg) + self.scalar_encoder = ScalarEncoder(self.cfg.obs_encoder.scalar_encoder) + self.spatial_encoder = SpatialEncoder(self.cfg.obs_encoder.spatial_encoder) + self.entity_encoder = EntityEncoder(self.cfg.obs_encoder.entity_encoder) self.scatter_project = fc_block(self.cfg.scatter.input_dim, self.cfg.scatter.output_dim, activation=nn.ReLU()) self.scatter_dim = self.cfg.scatter.output_dim self.scatter_connection = ScatterConnection(self.cfg.scatter.scatter_type) diff --git a/dizoo/distar/model/head/action_arg_head.py b/dizoo/distar/model/head/action_arg_head.py index 35f3d3b1f4..1c7e7b61fc 100644 --- a/dizoo/distar/model/head/action_arg_head.py +++ b/dizoo/distar/model/head/action_arg_head.py @@ -25,8 +25,7 @@ class DelayHead(nn.Module): def __init__(self, cfg): super(DelayHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.delay_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) @@ -55,8 +54,7 @@ class QueuedHead(nn.Module): def __init__(self, cfg): super(QueuedHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.queued_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) # to get queued logits self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) @@ -73,7 +71,7 @@ def forward(self, embedding, queued=None): x = self.fc1(embedding) x = self.fc2(x) x = self.fc3(x) - x.div_(self.whole_cfg.model.temperature) + x.div_(self.cfg.temperature) if queued is None: p = F.softmax(x, dim=1) queued = torch.multinomial(p, 1)[:, 0] @@ -89,8 +87,7 @@ class SelectedUnitsHead(nn.Module): def __init__(self, cfg): super(SelectedUnitsHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.selected_units_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.func_dim, activation=self.act) @@ -108,9 +105,9 @@ def __init__(self, cfg): self.end_embedding = torch.nn.Parameter(torch.FloatTensor(1, self.key_dim)) stdv = 1. / math.sqrt(self.end_embedding.size(1)) self.end_embedding.data.uniform_(-stdv, stdv) - if self.whole_cfg.model.entity_reduce_type == 'attention_pool': + if self.cfg.entity_reduce_type == 'attention_pool': self.attention_pool = AttentionPool(key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + elif self.cfg.entity_reduce_type == 'attention_pool_add_num': self.attention_pool = AttentionPool( key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim, max_num=MAX_SELECTED_UNITS_NUM + 1 ) @@ -128,7 +125,7 @@ def _get_key_mask(self, entity_embedding, entity_num): end_embeddings = end_embeddings * ~flag key = key * flag key = key + end_embeddings - reduce_type = self.whole_cfg.model.entity_reduce_type + reduce_type = self.cfg.entity_reduce_type if reduce_type == 'entity_num': key_reduce = torch.div(key, entity_num.reshape(-1, 1, 1)) key_embeddings = self.embed_fc(key_reduce) @@ -145,7 +142,7 @@ def _get_key_mask(self, entity_embedding, entity_num): return key, mask, key_embeddings def _get_pred_with_logit(self, logit): - logit.div_(self.whole_cfg.model.temperature) + logit.div_(self.cfg.temperature) p = F.softmax(logit, dim=-1) units = torch.multinomial(p, 1)[:, 0] return units @@ -190,23 +187,23 @@ def _query( lstm_input = self.query_fc2(self.query_fc1(ae)).unsqueeze(0) lstm_output, state = self.lstm(lstm_input, state) queries.append(lstm_output) - reduce_type = self.whole_cfg.model.entity_reduce_type + reduce_type = self.cfg.entity_reduce_type if reduce_type == 'selected_units_num' or 'attention' in reduce_type: new_selected_units_one_hot = selected_units_one_hot.clone() # inplace operation can not backward end_flag[selected_units[:, i] == entity_num] = 1 new_selected_units_one_hot[torch.arange(bs)[~end_flag], selected_units[:, i][~end_flag], :] = 1 - if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': + if reduce_type == 'selected_units_num': selected_units_emebedding = (key_embeddings * new_selected_units_one_hot).sum(dim=1) S = selected_units_num selected_units_emebedding[S != 0] = \ selected_units_emebedding[S != 0] / new_selected_units_one_hot.sum(dim=1)[S != 0] selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) ae = autoregressive_embedding + selected_units_emebedding - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + elif reduce_type == 'attention_pool': ae = autoregressive_embedding + self.attention_pool( key_embeddings, mask=new_selected_units_one_hot ) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + elif reduce_type == 'attention_pool_add_num': ae = autoregressive_embedding + self.attention_pool( key_embeddings, num=new_selected_units_one_hot.sum(dim=1).squeeze(dim=1), @@ -251,19 +248,19 @@ def _query( end_flag[result == entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) results_list.append(result) logits_list.append(step_logits) - reduce_type = self.whole_cfg.model.entity_reduce_type + reduce_type = self.cfg.entity_reduce_type if reduce_type == 'selected_units_num' or 'attention' in reduce_type: selected_units_one_hot[torch.arange(bs)[~end_flag], result[~end_flag], :] = 1 - if self.whole_cfg.model.entity_reduce_type == 'selected_units_num': + if reduce_type == 'selected_units_num': selected_units_emebedding = (key_embeddings * selected_units_one_hot).sum(dim=1) slected_num = selected_units_one_hot.sum(dim=1).squeeze(dim=1) selected_units_emebedding[slected_num != 0] = selected_units_emebedding[ slected_num != 0] / slected_num[slected_num != 0].unsqueeze(dim=1) selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) ae = autoregressive_embedding + selected_units_emebedding - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + elif reduce_type == 'attention_pool': ae = autoregressive_embedding + self.attention_pool(key_embeddings, mask=selected_units_one_hot) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + elif reduce_type == 'attention_pool_add_num': ae = autoregressive_embedding + self.attention_pool( key_embeddings, num=selected_units_one_hot.sum(dim=1).squeeze(dim=1), @@ -302,8 +299,7 @@ class TargetUnitHead(nn.Module): def __init__(self, cfg): super(TargetUnitHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.target_unit_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.key_dim, activation=self.act, norm_type=None) @@ -321,7 +317,7 @@ def forward(self, embedding, entity_embedding, entity_num, target_unit: Optional logits = logits.sum(dim=2) # b, n, -1 logits.masked_fill_(~mask, value=-1e9) - logits.div_(self.whole_cfg.model.temperature) + logits.div_(self.cfg.temperature) if target_unit is None: p = F.softmax(logits, dim=1) target_unit = torch.multinomial(p, 1)[:, 0] @@ -332,8 +328,7 @@ class LocationHead(nn.Module): def __init__(self, cfg): super(LocationHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.location_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) self.reshape_channel = self.cfg.reshape_channel @@ -352,7 +347,7 @@ def __init__(self, cfg): self.use_gate = self.cfg.gate self.project_embed = fc_block( self.cfg.input_dim, - self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8 * 4, + self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8 * 4, activation=build_activation(self.cfg.activation) ) @@ -391,8 +386,7 @@ def __init__(self, cfg): def forward(self, embedding, map_skip: List[Tensor], location=None): projected_embedding = self.project_embed(embedding) reshape_embedding = projected_embedding.reshape( - projected_embedding.shape[0], self.reshape_channel, self.whole_cfg.model.spatial_y // 8, - self.whole_cfg.model.spatial_x // 8 + projected_embedding.shape[0], self.reshape_channel, self.cfg.spatial_y // 8, self.cfg.spatial_x // 8 ) cat_feature = torch.cat([reshape_embedding, map_skip[-1]], dim=1) @@ -414,7 +408,7 @@ def forward(self, embedding, map_skip: List[Tensor], location=None): x = layer(x) logits_flatten = x.view(x.shape[0], -1) - logits_flatten.div_(self.whole_cfg.model.temperature) + logits_flatten.div_(self.cfg.temperature) p = F.softmax(logits_flatten, dim=1) if location is None: location = torch.multinomial(p, 1)[:, 0] diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py index 104c4e0ad8..d16c2cdd3b 100644 --- a/dizoo/distar/model/head/action_type_head.py +++ b/dizoo/distar/model/head/action_type_head.py @@ -18,8 +18,7 @@ class ActionTypeHead(nn.Module): def __init__(self, cfg): super(ActionTypeHead, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.policy.head.action_type_head + self.cfg = cfg self.act = build_activation(self.cfg.activation) # use relu as default self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim, activation=self.act, norm_type=None) blocks = [ResFCBlock(self.cfg.res_dim, self.act, self.cfg.norm_type) for _ in range(self.cfg.res_num)] @@ -45,7 +44,7 @@ def forward(self, x = self.project(lstm_output) x = self.res(x) x = self.action_fc(x, scalar_context) - x.div_(self.whole_cfg.model.temperature) + x.div_(self.cfg.temperature) if self.use_mask: mask = ACTION_RACE_MASK[self.race].to(x.device) x = x.masked_fill(~mask.unsqueeze(dim=0), -1e9) diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py index 01b8236bda..d47e3cab83 100644 --- a/dizoo/distar/model/model.py +++ b/dizoo/distar/model/model.py @@ -6,7 +6,8 @@ import torch import torch.nn as nn -from ding.utils import read_yaml_config, deep_merge_dicts, default_collate +from ding.utils import read_yaml_config, deep_merge_dicts +from ding.utils.data import default_collate from ding.torch_utils import detach_grad, script_lstm from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM from .encoder import Encoder @@ -19,21 +20,23 @@ class Model(nn.Module): - def __init__(self, cfg={}, use_value_network=False): + def __init__(self, cfg, use_value_network=False): super(Model, self).__init__() - self.whole_cfg = deep_merge_dicts(alphastar_model_default_config, cfg) - self.cfg = self.whole_cfg.model - self.encoder = Encoder(self.whole_cfg) - self.policy = Policy(self.whole_cfg) - self._use_value_feature = self.whole_cfg.learner.use_value_feature - if use_value_network: - if self._use_value_feature: - self.value_encoder = ValueEncoder(self.whole_cfg) + self.cfg = deep_merge_dicts(alphastar_model_default_config, cfg).model + self.encoder = Encoder(self.cfg) + self.policy = Policy(self.cfg) + self.use_value_network = use_value_network + if self.use_value_network: + self.use_value_feature = self.cfg.value.use_value_feature + if self.use_value_feature: + self.value_encoder = ValueEncoder(self.cfg.value) self.value_networks = nn.ModuleDict() for k, v in self.cfg.value.items(): if k in self.cfg.enable_baselines: # creating a ValueBaseline network for each baseline, to be used in _critic_forward - self.value_networks[v.name] = ValueBaseline(v.param, self._use_value_feature) + value_cfg = v.param + value_cfg['use_value_feature'] = self.use_value_feature + self.value_networks[v.name] = ValueBaseline(value_cfg) # name of needed cumulative stat items self.only_update_baseline = self.cfg.only_update_baseline self.core_lstm = script_lstm( @@ -106,6 +109,7 @@ def rl_learn_forward( self, spatial_info, entity_info, scalar_info, entity_num, hidden_state, action_info, selected_units_num, behaviour_logp, teacher_logit, mask, reward, step, batch_size, unroll_len, **kwargs ): + assert self.use_value_network flat_action_info = {} for k, val in action_info.items(): flat_action_info[k] = torch.flatten(val, start_dim=0, end_dim=1) @@ -138,7 +142,7 @@ def rl_learn_forward( if self.only_update_baseline: critic_input = detach_grad(critic_input) baseline_feature = detach_grad(baseline_feature) - if self._use_value_feature: + if self.use_value_feature: value_feature = kwargs['value_feature'] value_feature = self.value_encoder(value_feature) critic_input = torch.cat([critic_input, value_feature, baseline_feature], dim=1) diff --git a/dizoo/distar/model/obs_encoder/entity_encoder.py b/dizoo/distar/model/obs_encoder/entity_encoder.py index 56ecf6d24d..93ffb7fe29 100644 --- a/dizoo/distar/model/obs_encoder/entity_encoder.py +++ b/dizoo/distar/model/obs_encoder/entity_encoder.py @@ -27,8 +27,7 @@ class EntityEncoder(nn.Module): def __init__(self, cfg): super(EntityEncoder, self).__init__() self.encode_modules = nn.ModuleDict() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.encoder.obs_encoder.entity_encoder + self.cfg = cfg for k, item in self.cfg.module.items(): if item['arc'] == 'one_hot': self.encode_modules[k] = nn.Embedding.from_pretrained( @@ -52,10 +51,10 @@ def __init__(self, cfg): ) self.entity_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) self.embed_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) - if self.whole_cfg.model.entity_reduce_type == 'attention_pool': + if self.cfg.entity_reduce_type == 'attention_pool': from ding.torch_utils import AttentionPool self.attention_pool = AttentionPool(key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + elif self.cfg.entity_reduce_type == 'attention_pool_add_num': from ding.torch_utils import AttentionPool self.attention_pool = AttentionPool( key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim, max_num=MAX_ENTITY_NUM + 1 @@ -85,15 +84,15 @@ def forward(self, x: Dict[str, Tensor], entity_num): x = self.transformer(x, mask=mask) entity_embeddings = self.entity_fc(self.act(x)) - if self.whole_cfg.model.entity_reduce_type in ['entity_num', 'selected_units_num']: + if self.cfg.entity_reduce_type in ['entity_num', 'selected_units_num']: x_mask = x * mask.unsqueeze(dim=2) embedded_entity = x_mask.sum(dim=1) / entity_num.unsqueeze(dim=-1) - elif self.whole_cfg.model.entity_reduce_type == 'constant': + elif self.cfg.entity_reduce_type == 'constant': x_mask = x * mask.unsqueeze(dim=2) embedded_entity = x_mask.sum(dim=1) / 512 - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool': + elif self.cfg.entity_reduce_type == 'attention_pool': embedded_entity = self.attention_pool(x, mask=mask.unsqueeze(dim=2)) - elif self.whole_cfg.model.entity_reduce_type == 'attention_pool_add_num': + elif self.cfg.entity_reduce_type == 'attention_pool_add_num': embedded_entity = self.attention_pool(x, num=entity_num, mask=mask.unsqueeze(dim=2)) else: raise NotImplementedError diff --git a/dizoo/distar/model/obs_encoder/scalar_encoder.py b/dizoo/distar/model/obs_encoder/scalar_encoder.py index 83fcae8d03..3bad5cb933 100644 --- a/dizoo/distar/model/obs_encoder/scalar_encoder.py +++ b/dizoo/distar/model/obs_encoder/scalar_encoder.py @@ -17,10 +17,9 @@ def compute_denominator(x: torch.Tensor, dim: int) -> torch.Tensor: class BeginningBuildOrderEncoder(nn.Module): - def __init__(self, cfg, bo_cfg): + def __init__(self, cfg): super(BeginningBuildOrderEncoder, self).__init__() - self.whole_cfg = cfg - self.cfg = bo_cfg + self.cfg = cfg self.output_dim = self.cfg.output_dim self.input_dim = self.cfg.action_one_hot_dim + 20 + self.cfg.binary_dim * 2 self.act = build_activation(self.cfg.activation) @@ -49,8 +48,8 @@ def _add_seq_info(self, x): def forward(self, x, bo_location): x = self.action_one_hot(x.long()) x = self._add_seq_info(x) - location_x = bo_location % self.whole_cfg.model.spatial_x - location_y = bo_location // self.whole_cfg.model.spatial_x + location_x = bo_location % self.cfg.spatial_x + location_y = bo_location // self.cfg.spatial_x location_x = self.location_binary(location_x.long()) location_y = self.location_binary(location_y.long()) x = torch.cat([x, location_x, location_y], dim=2) @@ -65,8 +64,7 @@ class ScalarEncoder(nn.Module): def __init__(self, cfg): super(ScalarEncoder, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.encoder.obs_encoder.scalar_encoder + self.cfg = cfg self.act = build_activation(self.cfg.activation) self.keys = [] self.scalar_context_keys = [] @@ -98,8 +96,8 @@ def __init__(self, cfg): requires_grad=False ) self.time_embedding_dim = self.cfg.module.time.output_dim - bo_cfg = self.whole_cfg.model.encoder.obs_encoder.scalar_encoder.module.beginning_order - self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(self.whole_cfg, bo_cfg) + bo_cfg = self.cfg.module.beginning_order + self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(bo_cfg) def time_encoder(self, x: Tensor): v = torch.zeros(size=(x.shape[0], self.time_embedding_dim), dtype=torch.float, device=x.device) diff --git a/dizoo/distar/model/obs_encoder/spatial_encoder.py b/dizoo/distar/model/obs_encoder/spatial_encoder.py index f4dcabf728..95549eef07 100644 --- a/dizoo/distar/model/obs_encoder/spatial_encoder.py +++ b/dizoo/distar/model/obs_encoder/spatial_encoder.py @@ -11,8 +11,7 @@ class SpatialEncoder(nn.Module): def __init__(self, cfg): super(SpatialEncoder, self).__init__() - self.whole_cfg = cfg - self.cfg = self.whole_cfg.model.encoder.obs_encoder.spatial_encoder + self.cfg = cfg self.act = build_activation(self.cfg.activation) if self.cfg.norm_type == 'none': self.norm = None @@ -49,9 +48,7 @@ def __init__(self, cfg): self.res.append(ResBlock(dim, self.act, norm_type=self.norm)) if self.head_type == 'fc': self.fc = fc_block( - dim * self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8, - self.cfg.fc_dim, - activation=self.act + dim * self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8, self.cfg.fc_dim, activation=self.act ) else: self.gap = nn.AdaptiveAvgPool2d((1, 1)) @@ -68,7 +65,7 @@ def forward(self, x, scatter_map): assert k == 'height_map' embeddings.append(x[k].unsqueeze(dim=1).float() / 256) elif item['arc'] == 'scatter': - bs, shape_x, shape_y = x[k].shape[0], self.whole_cfg.model.spatial_x, self.whole_cfg.model.spatial_y + bs, shape_x, shape_y = x[k].shape[0], self.cfg.spatial_x, self.cfg.spatial_y embedding = torch.zeros(bs * shape_y * shape_x, device=x[k].device) bias = torch.arange(bs, device=x[k].device).unsqueeze(dim=1) * shape_y * shape_x x[k] = x[k] + bias diff --git a/dizoo/distar/model/obs_encoder/value_encoder.py b/dizoo/distar/model/obs_encoder/value_encoder.py index 81e42ac838..a8183c3233 100644 --- a/dizoo/distar/model/obs_encoder/value_encoder.py +++ b/dizoo/distar/model/obs_encoder/value_encoder.py @@ -47,7 +47,7 @@ def __init__(self, cfg): for i in range(self.resblock_num): self.res.append(ResBlock(dim, self.act, norm_type=None)) self.spatial_fc = fc_block( - dim * self.whole_cfg.model.spatial_y // 8 * self.whole_cfg.model.spatial_x // 8, + dim * self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8, self.cfg.spatial.spatial_fc_dim, activation=self.act ) diff --git a/dizoo/distar/model/policy.py b/dizoo/distar/model/policy.py index 8c6d0de52a..45b7d24604 100644 --- a/dizoo/distar/model/policy.py +++ b/dizoo/distar/model/policy.py @@ -11,14 +11,13 @@ class Policy(nn.Module): def __init__(self, cfg): super(Policy, self).__init__() - self.whole_cfg = cfg - self.cfg = cfg.model.policy - self.action_type_head = ActionTypeHead(self.whole_cfg) - self.delay_head = DelayHead(self.whole_cfg) - self.queued_head = QueuedHead(self.whole_cfg) - self.selected_units_head = SelectedUnitsHead(self.whole_cfg) - self.target_unit_head = TargetUnitHead(self.whole_cfg) - self.location_head = LocationHead(self.whole_cfg) + self.cfg = cfg.policy + self.action_type_head = ActionTypeHead(self.cfg.head.action_type_head) + self.delay_head = DelayHead(self.cfg.head.delay_head) + self.queued_head = QueuedHead(self.cfg.head.queued_head) + self.selected_units_head = SelectedUnitsHead(self.cfg.head.selected_units_head) + self.target_unit_head = TargetUnitHead(self.cfg.head.target_unit_head) + self.location_head = LocationHead(self.cfg.head.location_head) def forward( self, lstm_output: Tensor, entity_embeddings: Tensor, map_skip: List[Tensor], scalar_context: Tensor, diff --git a/dizoo/distar/model/tests/test_head.py b/dizoo/distar/model/tests/test_head.py index aee499232e..4408f39df5 100644 --- a/dizoo/distar/model/tests/test_head.py +++ b/dizoo/distar/model/tests/test_head.py @@ -13,7 +13,7 @@ class TestHead(): def test_action_type_head(self): cfg = total_config.model.policy.head.action_type_head - head = ActionTypeHead(total_config) + head = ActionTypeHead(cfg) lstm_output = torch.randn(B, cfg.input_dim) scalar_context = torch.randn(B, cfg.context_dim) @@ -29,7 +29,7 @@ def test_action_type_head(self): def test_delay_head(self): cfg = total_config.model.policy.head.delay_head - head = DelayHead(total_config) + head = DelayHead(cfg) inputs = torch.randn(B, cfg.input_dim) logit, delay, embedding = head(inputs) @@ -44,7 +44,7 @@ def test_delay_head(self): def test_queued_head(self): cfg = total_config.model.policy.head.queued_head - head = QueuedHead(total_config) + head = QueuedHead(cfg) inputs = torch.randn(B, cfg.input_dim) logit, queued, embedding = head(inputs) @@ -59,7 +59,7 @@ def test_queued_head(self): def test_target_unit_head(self): cfg = total_config.model.policy.head.target_unit_head - head = TargetUnitHead(total_config) + head = TargetUnitHead(cfg) inputs = torch.randn(B, cfg.input_dim) entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) @@ -75,9 +75,9 @@ def test_target_unit_head(self): def test_location_head(self): cfg = total_config.model.policy.head.location_head - head = LocationHead(total_config) + head = LocationHead(cfg) inputs = torch.randn(B, cfg.input_dim) - Y, X = total_config.model.spatial_y, total_config.model.spatial_x + Y, X = cfg.spatial_y, cfg.spatial_x map_skip = [torch.randn(B, cfg.res_dim, Y // 8, X // 8) for _ in range(cfg.res_num)] logit, location = head(inputs, map_skip) @@ -90,7 +90,7 @@ def test_location_head(self): def test_selected_units_head(self): cfg = total_config.model.policy.head.selected_units_head - head = SelectedUnitsHead(total_config) + head = SelectedUnitsHead(cfg) inputs = torch.randn(B, cfg.input_dim) entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) From 6d653a196246c0742f13355f419deb676f0257a7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 16 Jun 2022 13:31:30 +0800 Subject: [PATCH 122/229] add timer --- ding/envs/env_manager/base_env_manager.py | 2 ++ ding/framework/middleware/league_actor.py | 36 +++++++++++++++++++ .../middleware/tests/league_config.py | 2 +- .../middleware/tests/mock_for_test.py | 1 + .../middleware/tests/test_league_pipeline.py | 1 + 5 files changed, 41 insertions(+), 1 deletion(-) diff --git a/ding/envs/env_manager/base_env_manager.py b/ding/envs/env_manager/base_env_manager.py index b335db8dd2..991f4b588b 100644 --- a/ding/envs/env_manager/base_env_manager.py +++ b/ding/envs/env_manager/base_env_manager.py @@ -77,7 +77,9 @@ def default_config(cls: type) -> EasyDict: config = dict( episode_num=float("inf"), max_retry=1, + # inf retry_type='reset', + # renew auto_reset=True, step_timeout=None, reset_timeout=None, diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 3edfbfc0a3..39228ecc36 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -2,6 +2,7 @@ import logging from typing import TYPE_CHECKING, Dict, Callable +from ding.league import player from ding.policy import Policy from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector @@ -10,6 +11,7 @@ from threading import Lock import queue from easydict import EasyDict +import time if TYPE_CHECKING: from ding.league.v2.base_league import Job @@ -34,6 +36,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict_lock = Lock() self.agent_num = 2 + self.collect_time = {} def _on_learner_model(self, learner_model: "LearnerModel"): """ @@ -61,6 +64,7 @@ def _get_collector(self, player_id: str): ) ) self._collectors[player_id] = collector + self.collect_time[player_id] = 0 return collector def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": @@ -123,12 +127,27 @@ def __call__(self, ctx: "BattleContext"): ctx.episode_info = [[] for _ in range(self.agent_num)] ctx.remain_episode = ctx.n_episode while True: + old_envstep = ctx.total_envstep_count + time_begin = time.time() collector(ctx) if not job.is_eval and len(ctx.episodes[0]) > 0: actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.episodes[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) ctx.episodes = [] + time_end = time.time() + self.collect_time[job.launch_player] += time_end - time_begin + total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ + job.launch_player] != 0 else 0 + envstep_passed = ctx.total_envstep_count - old_envstep + real_time_speed = envstep_passed / (time_end - time_begin) + print( + 'in actor {}, total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' + .format( + task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed + ) + ) + if ctx.job_finish is True: job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, job) @@ -154,6 +173,8 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.agent_num = 2 + self.collect_time = {} + # self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) def _on_learner_model(self, learner_model: "LearnerModel"): @@ -182,6 +203,7 @@ def _get_collector(self, player_id: str): ) ) self._collectors[player_id] = collector + self.collect_time[player_id] = 0 return collector def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": @@ -246,6 +268,8 @@ def __call__(self, ctx: "BattleContext"): ctx.remain_episode = ctx.n_episode while True: + time_begin = time.time() + old_envstep = ctx.total_envstep_count collector(ctx) if not job.is_eval and len(ctx.trajectories_list[0]) > 0: @@ -258,6 +282,18 @@ def __call__(self, ctx: "BattleContext"): ctx.trajectories_list = [] ctx.trajectory_end_idx_list = [] + time_end = time.time() + self.collect_time[job.launch_player] += time_end - time_begin + total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ + job.launch_player] != 0 else 0 + envstep_passed = ctx.total_envstep_count - old_envstep + real_time_speed = envstep_passed / (time_end - time_begin) + print( + 'in actor {}, total_env_step: {}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' + .format( + task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed + ) + ) if ctx.job_finish is True: job.result = [e['result'] for e in ctx.episode_info[0]] diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index f8a08c6069..3d1e6b5b1d 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -77,7 +77,7 @@ }, 'discount_factor': 1.0, 'gae_lambda': 1.0, - 'n_episode': 2, + 'n_episode': 1, 'n_rollout_samples': 32, 'n_sample': 64, 'unroll_len': 2 diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 6d3c21ed05..789bd28460 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -323,6 +323,7 @@ def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) + # TODO: change this part to only modify the part of current episode, not influence previous episode error_env_id_list = [] for env_id, timestep in timesteps.items(): if timestep.info.get('step_error'): diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 2afe43e56d..ad5b927d9c 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -23,6 +23,7 @@ def prepare_test(): env_cfg = read_config('./test_distar_config.yaml') def env_fn(): + # subprocess env manager env = BaseEnvManager( env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) From 5d422d6f22874ace9ca62291de6e14fb801b7969 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 16 Jun 2022 13:58:00 +0800 Subject: [PATCH 123/229] add log --- ding/framework/middleware/league_actor.py | 4 ++-- ding/framework/middleware/league_coordinator.py | 10 +++++----- ding/framework/middleware/league_learner.py | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 39228ecc36..66b978f545 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -181,7 +181,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print('Actor {} recieved model \n'.format(task.router.node_id), flush=True) + print('Actor {} recieved model {} \n'.format(task.router.node_id, learner_model.player_id), flush=True) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -252,7 +252,7 @@ def __call__(self, ctx: "BattleContext"): job = self._get_job() if job is None: return - print('For actor {}, a job begin \n'.format(task.router.node_id), flush=True) + print('For actor {}, a job {} begin \n'.format(task.router.node_id, job.launch_player), flush=True) ctx.player_id_list = [player.player_id for player in job.players] self.agent_num = len(job.players) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 43300d8711..ec85766a8d 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -27,7 +27,7 @@ def __init__(self, league: "BaseLeague") -> None: task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): - print('coordinator recieve actor greeting\n', flush=True) + print('coordinator recieve actor {} greeting\n'.format(actor_id), flush=True) with self._lock: player_num = len(self.league.active_players_ids) player_id = self.league.active_players_ids[self._total_send_jobs % player_num] @@ -37,22 +37,22 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % self._eval_frequency == 0: job.is_eval = True job.actor_id = actor_id - print('coordinator emit job\n', flush=True) + print('coordinator emit job (main_player: {}) to actor {}\n'.format(job.launch_player, actor_id), flush=True) task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_learner_meta(self, player_meta: "PlayerMeta"): - print('coordinator recieve learner meta\n', flush=True) + print('coordinator recieve learner meta for player{}\n'.format(player_meta.player_id), flush=True) # print("on_learner_meta {}".format(player_meta)) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): - print('coordinator recieve actor finished job\n', flush=True) + print('coordinator recieve actor finished job, palyer {}\n'.format(job.launch_player), flush=True) print("on_actor_job {}".format(job.launch_player)) # right self.league.update_payoff(job) def __del__(self): - print('task finished, coordinator closed', flush=True) + print('task finished, coordinator {} closed'.format(task.router.node_id), flush=True) def __call__(self, ctx: "Context") -> None: sleep(1) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index af7ec59039..cb02eb25e6 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -37,7 +37,7 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No self._step = 0 def _on_actor_send_data(self, actor_data: "ActorData"): - print("learner receive data from actor! \n", flush=True) + print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) with self._lock: cfg = self.cfg for _ in range(cfg.policy.learn.update_per_collect): @@ -50,7 +50,7 @@ def _on_actor_send_data(self, actor_data: "ActorData"): # print("save checkpoint") checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None - print('learner send player meta\n', flush=True) + print('learner {} send player meta {}\n'.format(task.router.node_id, self.player_id), flush=True) task.emit( EventEnum.LEARNER_SEND_META, PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) @@ -60,7 +60,7 @@ def _on_actor_send_data(self, actor_data: "ActorData"): learner_model = LearnerModel( player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter ) - print('learner send model\n', flush=True) + print('learner {} send model\n'.format(task.router.node_id), flush=True) task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) def _get_learner(self) -> BaseLearner: @@ -84,7 +84,7 @@ def _save_checkpoint(self) -> Optional[Storage]: return storage def __del__(self): - print('task finished, learner closed', flush=True) + print('task finished, learner {} closed\n'.format(task.router.node_id), flush=True) def __call__(self, _: "Context") -> None: sleep(1) From 17469058760fbd4d4c1a3786470cb5e305bd8efe Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 17 Jun 2022 14:07:19 +0800 Subject: [PATCH 124/229] add walltime data, change ActorData Structure --- ding/framework/middleware/functional/__init__.py | 2 +- ding/framework/middleware/functional/actor_data.py | 11 ++++++++++- ding/framework/middleware/league_actor.py | 11 +++++++++-- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index c17d0e8a63..d357380d62 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -10,4 +10,4 @@ from .explorer import eps_greedy_handler, eps_greedy_masker from .advantage_estimator import gae_estimator from .enhancer import reward_estimator, her_data_enhancer, nstep_reward_enhancer -from .actor_data import ActorData +from .actor_data import ActorData, ActorDataMeta diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 2540e1862c..07563075e9 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -2,7 +2,16 @@ from dataclasses import dataclass +@dataclass +class ActorDataMeta: + palyer_total_env_step: int = 0 + actor_id: int = 0 + env_id: int = 0 + send_wall_time: float = 0.0 + + @dataclass class ActorData: + meta: ActorDataMeta + # TODO make train data a list in which each env_id has a list train_data: Any - env_step: int = 0 diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 66b978f545..1e7f490e69 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -6,7 +6,7 @@ from ding.policy import Policy from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector -from ding.framework.middleware.functional import ActorData +from ding.framework.middleware.functional import ActorData, ActorDataMeta from ding.league.player import PlayerMeta from threading import Lock import queue @@ -276,7 +276,14 @@ def __call__(self, ctx: "BattleContext"): trajectories = ctx.trajectories_list[0] trajectory_end_idx = ctx.trajectory_end_idx_list[0] print('actor {}, len trajectories {}'.format(task.router.node_id, len(trajectories)), flush=True) - actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=trajectories) + meta_data = ActorDataMeta( + player_total_env_step=ctx.total_envstep_count, + actor_id=task.router.node_id, + # TODO transfer env_id to train_data, each env has a trajectory or not + env_id=0, + send_wall_time=time.time() + ) + actor_data = ActorData(meta=meta_data, train_data=trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) print('Actor {} send data\n'.format(task.router.node_id), flush=True) From a30e23b3238061bc27e1b20581f4404e2a62748e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 17 Jun 2022 19:13:16 +0800 Subject: [PATCH 125/229] battle_transition_list, need to change list to deque --- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 68 +++++++++++ .../middleware/tests/test_collector.py | 108 ++++++++++++++++++ 3 files changed, 177 insertions(+), 1 deletion(-) diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index d357380d62..1b73b61a39 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,7 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from .collector import inferencer, rolloutor, TransitionList, BattleTransitionList, battle_inferencer, battle_rolloutor from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 6cc9fc86e2..bfb4681141 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -54,6 +54,74 @@ def length(self, env_id: int) -> int: return len(self._transitions[env_id]) +class BattleTransitionList: + + def __init__(self, env_num: int, unroll_len: int) -> None: + self.env_num = env_num + self._transitions = [[] for _ in range(env_num)] + self._done_episode = [[] for _ in range(env_num)] + self._unroll_len = unroll_len + + def get_trajectories(self, env_id: int): + trajectories = [] + if len(self._transitions[env_id]) == 0: + return None + while len(self._transitions[env_id]) > 0: + if self._done_episode[env_id][0] is False: + break + trajectories += self._cut_trajectory_from_episode(self._transitions[env_id][0]) + self._transitions[env_id][0].clear() + self._transitions[env_id] = self._transitions[env_id][1:] + self._done_episode[env_id] = self._done_episode[env_id][1:] + + if len(self._transitions[env_id]) == 1 and self._done_episode[env_id][0] is False: + tail_idx = max( + 0, ((len(self._transitions[env_id][0]) - self._unroll_len) // self._unroll_len) * self._unroll_len + ) + trajectories += self._cut_trajectory_from_episode(self._transitions[env_id][0][:tail_idx]) + self._transitions[env_id][0] = self._transitions[env_id][0][tail_idx:] + + return trajectories + + def _cut_trajectory_from_episode(self, episode: list): + return_episode = [] + i = 0 + num_complele_trajectory, num_tail_transitions = divmod(len(episode), self._unroll_len) + for i in range(num_complele_trajectory): + trajectory = episode[i * self._unroll_len:(i + 1) * self._unroll_len] + return_episode.append(trajectory) + + if num_tail_transitions > 0: + trajectory = episode[-self._unroll_len:] + if len(trajectory) < self._unroll_len: + initial_elements = [] + for _ in range(self._unroll_len - len(trajectory)): + initial_elements.append(trajectory[0]) + trajectory = initial_elements + trajectory + return_episode.append(trajectory) + + return return_episode # list of trajectories + + def clear_newest_transition(self, env_id: int) -> None: + self._transitions[env_id][-1].clear() + self._transitions[env_id] = self._transitions[env_id][:-1] + self._done_episode[env_id] = self._done_episode[env_id][:-1] + + def append(self, env_id: int, transition: Any) -> None: + if len(self._done_episode[env_id]) == 0 or self._done_episode[env_id][-1] is True: + self._transitions[env_id].append([]) + self._done_episode[env_id].append(False) + self._transitions[env_id][-1].append(transition) + if transition.done: + self._done_episode[env_id][-1] = True + + def clear(self): + for item in self._transitions: + item.clear() + for item in self._done_idx: + item.clear() + + def inferencer(cfg: EasyDict, policy: Policy, env: BaseEnvManager) -> Callable: """ Overview: diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 16c577ae2b..3b0f60ba21 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -84,3 +84,111 @@ def test_episode_collector(): collector = EpisodeCollector(cfg, policy, env, random_collect_size=8) collector(ctx) assert len(ctx.episodes) == 16 + + +from ding.framework.middleware import BattleTransitionList +from easydict import EasyDict + + +@pytest.mark.unittest +def test_battle_transition_list(): + env_num = 2 + unroll_len = 32 + transition_list = BattleTransitionList(env_num, unroll_len) + len_env_0 = 48 + len_env_1 = 72 + + for i in range(len_env_0): + timestep = EasyDict({'obs': i, 'done': False}) + transition_list.append(env_id=0, transition=timestep) + + for i in range(len_env_1): + timestep = EasyDict({'obs': i, 'done': False}) + transition_list.append(env_id=1, transition=timestep) + + transition_list.append(env_id=0, transition=EasyDict({'obs': len_env_0, 'done': True})) + transition_list.append(env_id=1, transition=EasyDict({'obs': len_env_1, 'done': True})) + + len_env_0_2 = 12 + len_env_1_2 = 72 + + for i in range(len_env_0_2): + timestep = EasyDict({'obs': i, 'done': False}) + transition_list.append(env_id=0, transition=timestep) + transition_list.append(env_id=0, transition=EasyDict({'obs': len_env_0_2, 'done': True})) + for i in range(len_env_1_2): + timestep = EasyDict({'obs': i, 'done': False}) + transition_list.append(env_id=1, transition=timestep) + + env_0_result = transition_list.get_trajectories(env_id=0) + env_1_result = transition_list.get_trajectories(env_id=1) + + print(env_0_result) + print(env_1_result) + + # print(env_0_result) + assert len(env_0_result) == 3 + # print(env_1_result) + assert len(env_1_result) == 4 + + for trajectory in env_0_result: + assert len(trajectory) == unroll_len + for trajectory in env_1_result: + assert len(trajectory) == unroll_len + #env_0 + i = 0 + for trajectory in env_0_result[:-2]: + assert len(trajectory) == unroll_len + for transition in trajectory: + assert transition.obs == i + i += 1 + + trajectory = env_0_result[-2] + assert len(trajectory) == unroll_len + + i = len_env_0 - unroll_len + 1 + for transition in trajectory: + assert transition.obs == i + i += 1 + + trajectory = env_0_result[-1] + assert len(trajectory) == unroll_len + test_number = 0 + for i, transition in enumerate(trajectory): + if i < unroll_len - len_env_0_2 - 1: + assert transition.obs == 0 + else: + assert transition.obs == test_number + test_number += 1 + + #env_1 + i = 0 + for trajectory in env_1_result[:2]: + assert len(trajectory) == unroll_len + for transition in trajectory: + assert transition.obs == i + i += 1 + + trajectory = env_1_result[2] + assert len(trajectory) == unroll_len + + i = len_env_1 - unroll_len + 1 + for transition in trajectory: + assert transition.obs == i + i += 1 + + trajectory = env_1_result[3] + assert len(trajectory) == unroll_len + i = 0 + for transition in trajectory: + assert transition.obs == i + i += 1 + + # print(env_0_result) + # print(env_1_result) + print(transition_list._transitions[0]) + print(transition_list._transitions[1]) + + +if __name__ == '__main__': + test_battle_transition_list() \ No newline at end of file From d7a25637a9826b0edff04d2572aec431feebcbf1 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Sun, 19 Jun 2022 22:43:34 +0800 Subject: [PATCH 126/229] test(nyz): add distar policy learn unittest --- ding/policy/base_policy.py | 9 +- ding/torch_utils/network/rnn.py | 2 - ding/utils/data/collate_fn.py | 24 +- dizoo/distar/envs/__init__.py | 1 + dizoo/distar/envs/fake_data.py | 302 +++++++--------------- dizoo/distar/envs/meta.py | 3 +- dizoo/distar/policy/__init__.py | 1 + dizoo/distar/policy/distar_policy.py | 57 +++- dizoo/distar/policy/test_distar_policy.py | 15 ++ dizoo/distar/policy/utils.py | 6 +- 10 files changed, 178 insertions(+), 242 deletions(-) create mode 100644 dizoo/distar/policy/__init__.py create mode 100644 dizoo/distar/policy/test_distar_policy.py diff --git a/ding/policy/base_policy.py b/ding/policy/base_policy.py index a30b080015..52491ed5cb 100644 --- a/ding/policy/base_policy.py +++ b/ding/policy/base_policy.py @@ -69,7 +69,7 @@ def __init__( assert set(self._enable_field).issubset(self.total_field), self._enable_field if len(set(self._enable_field).intersection(set(['learn', 'collect', 'eval']))) > 0: - model = self._create_model(cfg, model) + model = self._create_model(cfg, model, enable_field) self._cuda = cfg.cuda and torch.cuda.is_available() # now only support multi-gpu for only enable learn mode if len(set(self._enable_field).intersection(set(['learn']))) > 0: @@ -117,7 +117,12 @@ def hook(*ignore): grad_acc = p_tmp.grad_fn.next_functions[0][0] grad_acc.register_hook(make_hook(name, p)) - def _create_model(self, cfg: dict, model: Optional[torch.nn.Module] = None) -> torch.nn.Module: + def _create_model( + self, + cfg: dict, + model: Optional[torch.nn.Module] = None, + enable_field: Optional[List[str]] = None + ) -> torch.nn.Module: if model is None: model_cfg = cfg.model if 'type' not in model_cfg: diff --git a/ding/torch_utils/network/rnn.py b/ding/torch_utils/network/rnn.py index 45d3dab5bd..bbe3bb627c 100644 --- a/ding/torch_utils/network/rnn.py +++ b/ding/torch_utils/network/rnn.py @@ -36,8 +36,6 @@ def sequence_mask(lengths: torch.Tensor, max_len: Optional[int] = None) -> torch bz = lengths.numel() if max_len is None: max_len = lengths.max() - else: - max_len = min(max_len, lengths.max()) return torch.arange(0, max_len).type_as(lengths).repeat(bz, 1).lt(lengths).to(lengths.device) diff --git a/ding/utils/data/collate_fn.py b/ding/utils/data/collate_fn.py index 0b7fcda9cb..3b534a1980 100644 --- a/ding/utils/data/collate_fn.py +++ b/ding/utils/data/collate_fn.py @@ -26,7 +26,9 @@ def ttorch_collate(x): def default_collate(batch: Sequence, + dim: int = 0, cat_1dim: bool = True, + allow_key_mismatch: bool = False, ignore_prefix: list = ['collate_ignore']) -> Union[torch.Tensor, Mapping, Sequence]: """ Overview: @@ -71,10 +73,10 @@ def default_collate(batch: Sequence, out = elem.new(storage) if elem.shape == (1, ) and cat_1dim: # reshape (B, 1) -> (B) - return torch.cat(batch, 0, out=out) + return torch.cat(batch, dim, out=out) # return torch.stack(batch, 0, out=out) else: - return torch.stack(batch, 0, out=out) + return torch.stack(batch, dim, out=out) elif isinstance(elem, ttorch.Tensor): ret = ttorch.stack(batch).json() for k in ret: @@ -87,7 +89,7 @@ def default_collate(batch: Sequence, # array of string classes and object if np_str_obj_array_pattern.search(elem.dtype.str) is not None: raise TypeError(default_collate_err_msg_format.format(elem.dtype)) - return default_collate([torch.as_tensor(b) for b in batch], cat_1dim=cat_1dim) + return default_collate([torch.as_tensor(b) for b in batch], dim=dim, cat_1dim=cat_1dim) elif elem.shape == (): # scalars return torch.as_tensor(batch) elif isinstance(elem, float): @@ -100,16 +102,22 @@ def default_collate(batch: Sequence, elif isinstance(elem, container_abcs.Mapping): ret = {} for key in elem: - if any([key.startswith(t) for t in ignore_prefix]): - ret[key] = [d[key] for d in batch] + if allow_key_mismatch: + if any([key.startswith(t) for t in ignore_prefix]): + ret[key] = [d[key] for d in batch if key in d.keys()] + else: + ret[key] = default_collate([d[key] for d in batch if key in d.keys()], dim=dim, cat_1dim=cat_1dim) else: - ret[key] = default_collate([d[key] for d in batch], cat_1dim=cat_1dim) + if any([key.startswith(t) for t in ignore_prefix]): + ret[key] = [d[key] for d in batch] + else: + ret[key] = default_collate([d[key] for d in batch], dim=dim, cat_1dim=cat_1dim) return ret elif isinstance(elem, tuple) and hasattr(elem, '_fields'): # namedtuple - return elem_type(*(default_collate(samples, cat_1dim=cat_1dim) for samples in zip(*batch))) + return elem_type(*(default_collate(samples, dim=dim, cat_1dim=cat_1dim) for samples in zip(*batch))) elif isinstance(elem, container_abcs.Sequence): transposed = zip(*batch) - return [default_collate(samples, cat_1dim=cat_1dim) for samples in transposed] + return [default_collate(samples, dim=dim, cat_1dim=cat_1dim) for samples in transposed] raise TypeError(default_collate_err_msg_format.format(elem_type)) diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 66f1c31e80..1c80372f03 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,2 +1,3 @@ from .meta import * from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK +from .fake_data import get_fake_rl_trajectory diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index 1b98ddbda7..ec910eaa72 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -1,18 +1,13 @@ from typing import Sequence import torch +from ding.utils.data import default_collate from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, ENTITY_TYPE_NUM, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ - NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON -#from distar.ctools.data.collate_fn import default_collate_with_dim + NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, MAX_SELECTED_UNITS_NUM -currTrainCount_MAX = 5 H, W = 152, 160 -def hidden_state(): - return [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)] - - def spatial_info(): return { 'height_map': torch.rand(H, W), @@ -33,42 +28,42 @@ def spatial_info(): def entity_info(): data = { - 'unit_type': torch.randint(0, ENTITY_TYPE_NUM, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'alliance': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'cargo_space_taken': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'build_progress': torch.rand(MAX_ENTITY_NUM), - 'health_ratio': torch.rand(MAX_ENTITY_NUM), - 'shield_ratio': torch.rand(MAX_ENTITY_NUM), - 'energy_ratio': torch.rand(MAX_ENTITY_NUM), - 'display_type': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'x': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'y': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'cloak': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_blip': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_powered': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'mineral_contents': torch.rand(MAX_ENTITY_NUM), - 'vespene_contents': torch.rand(MAX_ENTITY_NUM), - 'cargo_space_max': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'assigned_harvesters': torch.randint(0, 24, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'weapon_cooldown': torch.randint(0, 32, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_length': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_0': torch.randint(0, NUM_ACTIONS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_1': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_hallucination': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'buff_id_0': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'buff_id_1': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'addon_unit_type': torch.randint(0, NUM_ADDON, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_active': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_progress_0': torch.rand(MAX_ENTITY_NUM), - 'order_progress_1': torch.rand(MAX_ENTITY_NUM), - 'order_id_2': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_3': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_in_cargo': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'attack_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'armor_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'shield_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'last_selected_units': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'last_targeted_unit': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'unit_type': torch.randint(0, ENTITY_TYPE_NUM, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'alliance': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'cargo_space_taken': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'build_progress': torch.rand(MAX_ENTITY_NUM), + 'health_ratio': torch.rand(MAX_ENTITY_NUM), + 'shield_ratio': torch.rand(MAX_ENTITY_NUM), + 'energy_ratio': torch.rand(MAX_ENTITY_NUM), + 'display_type': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'x': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'y': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'cloak': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_blip': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_powered': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'mineral_contents': torch.rand(MAX_ENTITY_NUM), + 'vespene_contents': torch.rand(MAX_ENTITY_NUM), + 'cargo_space_max': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'assigned_harvesters': torch.randint(0, 24, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'weapon_cooldown': torch.randint(0, 32, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_length': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_0': torch.randint(0, NUM_ACTIONS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_1': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_hallucination': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'buff_id_0': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'buff_id_1': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'addon_unit_type': torch.randint(0, NUM_ADDON, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_active': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_progress_0': torch.rand(MAX_ENTITY_NUM), + 'order_progress_1': torch.rand(MAX_ENTITY_NUM), + 'order_id_2': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'order_id_3': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'is_in_cargo': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'attack_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'armor_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'shield_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'last_selected_units': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'last_targeted_unit': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), } return data @@ -87,7 +82,7 @@ def scalar_info(): 'last_action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.float), 'upgrades': torch.randint(0, 2, size=(NUM_UPGRADES, ), dtype=torch.float), 'beginning_order': torch.randint(0, NUM_BEGINNING_ORDER_ACTIONS, size=(20, ), dtype=torch.float), - 'bo_location': torch.randint(0, 100*100, size=(20, ), dtype=torch.float), + 'bo_location': torch.randint(0, 100 * 100, size=(20, ), dtype=torch.float), 'unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), 'enemy_unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), 'unit_order_type': torch.randint(0, 2, size=(NUM_UNIT_MIX_ABILITIES, ), dtype=torch.float) @@ -95,95 +90,69 @@ def scalar_info(): return data -def action_info(): - data = { - 'action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.long), - 'delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.long), - 'selected_units': torch.randint(0, 5, size=(MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), - 'target_unit': torch.randint(0, MAX_ENTITY_NUM, size=(), dtype=torch.long), - 'target_location': torch.randint(0, SPATIAL_SIZE, size=(), dtype=torch.long) +def get_mask(action): + mask = { + 'action_type': torch.ones(1, dtype=torch.long).squeeze(), + 'delay': torch.ones(1, dtype=torch.long).squeeze(), + 'queued': torch.ones(1, dtype=torch.long).squeeze(), + 'selected_units': torch.randint(0, 2, size=(), dtype=torch.long), + 'target_unit': torch.randint(0, 2, size=(), dtype=torch.long), + 'target_location': torch.randint(0, 2, size=(), dtype=torch.long) } - return data + selected_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) + target_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) + target_units_logits_mask[action['target_unit']] = 1 - -def action_mask(): - data = { - 'action_type': torch.randint(0, 1, size=(), dtype=torch.long), - 'delay': torch.randint(0, 1, size=(), dtype=torch.long), - 'selected_units': torch.randint(0, 1, size=(), dtype=torch.long), - 'target_unit': torch.randint(0, 1, size=(), dtype=torch.long), - 'target_location': torch.randint(0, 1, size=(), dtype=torch.long) + return { + 'actions_mask': mask, + 'selected_units_logits_mask': selected_units_logits_mask, + 'target_units_logits_mask': target_units_logits_mask, } - return data -def action_logp(): +def action_info(): data = { - 'action_type': torch.rand(size=()) + 2, - 'delay': torch.rand(size=()) + 2, - 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, )) + 2, - 'target_unit': torch.rand(size=()) + 2, - 'target_location': torch.rand(size=()) + 2 + 'action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.long), + 'delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.long), + 'queued': torch.randint(0, 2, size=(), dtype=torch.long), + 'selected_units': torch.randint(0, 5, size=(MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), + 'target_unit': torch.randint(0, MAX_ENTITY_NUM, size=(), dtype=torch.long), + 'target_location': torch.randint(0, H, size=(), dtype=torch.long) } - return data + mask = get_mask(data) + return data, mask -def action_logits(): +def action_logits(logp=False, action=None): data = { - 'action_type': torch.rand(size=(NUM_ACTIONS + 1, )) - 1, - 'delay': torch.rand(size=(MAX_DELAY, )) - 1, - 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1)) - 1, - 'target_unit': torch.rand(size=(MAX_ENTITY_NUM, )) - 1, - 'target_location': torch.rand(size=(16384, )) - 1 + 'action_type': torch.rand(size=(NUM_ACTIONS, )) - 0.5, + 'delay': torch.rand(size=(MAX_DELAY, )) - 0.5, + 'queued': torch.rand(size=(2, )) - 0.5, + 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1)) - 0.5, + 'target_unit': torch.rand(size=(MAX_ENTITY_NUM, )) - 0.5, + 'target_location': torch.rand(size=(H * W, )) - 0.5 } - - mask = dict() - mask['selected_units_logits_mask'] = data['selected_units'].sum(0) - mask['target_units_logits_mask'] = data['target_unit'] - mask['actions_mask'] = {k: val.sum() for k, val in data.items()} - mask['selected_units_mask'] = data['selected_units'].sum(-1) - - return data, mask - - -def fake_step_data(): - data = ( - spatial_info(), - entity_info(), - scalar_info(), - action_info(), - action_mask(), - torch.randint(5, 100, size=(1, ), dtype=torch.long), # entity num - torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), # selected_units_num - torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long) # entity location - ) - return data - - -def fake_inference_data(): - data = ( - spatial_info(), - entity_info(), - scalar_info(), - torch.randint(5, 100, size=(1, ), dtype=torch.long), # entity_num - torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), # entity_location - ) + if logp: + for k in data: + dist = torch.distributions.Categorical(logits=data[k]) + data[k] = dist.log_prob(action[k]) return data -def rl_step_data(): - teacher_action_logits, mask = action_logits() +def rl_step_data(last=False): + action, mask = action_info() + teacher_action_logits = action_logits() data = { 'spatial_info': spatial_info(), 'entity_info': entity_info(), 'scalar_info': scalar_info(), 'entity_num': torch.randint(5, 100, size=(1, ), dtype=torch.long), 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), - 'entity_location': torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), - 'hidden_state': [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)], # hidden state - 'action_info': action_info(), - 'behaviour_logp': action_logp(), - 'teacher_logit': teacher_action_logits, + 'entity_location': torch.randint(0, H, size=(512, 2), dtype=torch.long), + 'hidden_state': [(torch.zeros(size=(384, )), torch.zeros(size=(384, ))) for _ in range(3)], + 'action_info': action, + 'behaviour_logp': action_logits(logp=True, action=action), + 'teacher_logit': action_logits(logp=False), 'reward': { 'winloss': torch.randint(-1, 1, size=(), dtype=torch.float), 'build_order': torch.randint(-1, 1, size=(), dtype=torch.float), @@ -195,112 +164,21 @@ def rl_step_data(): 'step': torch.randint(100, 1000, size=(), dtype=torch.long), 'mask': mask, } + if last: + for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: + data.pop(k) return data -def transfer_data(data, cuda=False, share_memory=False, device=None): - assert cuda or share_memory - new_data = [] - for d in data: - if isinstance(d, torch.Tensor): - if cuda: - d = d.to(device) - if share_memory: - d.share_memory_() - new_data.append(d) - elif isinstance(d, dict): - if cuda: - d = {k: v.to(device) for k, v in d.items()} - if share_memory: - d = {k: v.share_memory_() for k, v in d.items()} - new_data.append(d) - return tuple(new_data) - - -def fake_step_data_share_memory(): - data = fake_step_data() - data = transfer_data(data) - return data - - -def fake_rl_data_batch(batch_size=1): - list_step_data = [] - # list_hidden_state = [] - for i in range(batch_size): - step_data = rl_step_data() - # hidden_state = step_data.pop('hidden_state') - list_step_data.append(step_data) - # list_hidden_state.append(hidden_state) - - step_data_batch = default_collate_with_dim(list_step_data) - # hidden_state_batch = default_collate_with_dim(list_hidden_state,dim=0) - batch = step_data_batch - # batch['hidden_state'] = hidden_state_batch - return batch - - -def fake_rl_data_batch_with_last(unroll_len=3): +def fake_rl_data_batch_with_last(unroll_len=4): list_step_data = [] - # list_hidden_state = [] for i in range(unroll_len): step_data = rl_step_data() - # hidden_state = step_data.pop('hidden_state') list_step_data.append(step_data) - # list_hidden_state.append(hidden_state) - last_step_data = { - 'spatial_info': spatial_info(), - 'entity_info': entity_info(), - 'scalar_info': scalar_info(), - 'entity_num': torch.randint(5, 100, size=(1, ), dtype=torch.long), - # 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), - 'entity_location': torch.randint(0, SPATIAL_SIZE, size=(512, 2), dtype=torch.long), - 'hidden_state': [(torch.zeros(size=(128, )), torch.zeros(size=(128, ))) for _ in range(1)], # hidden state - } - list_step_data.append(last_step_data) - step_data_batch = default_collate_with_dim(list_step_data) - # hidden_state_batch = default_collate_with_dim(list_hidden_state,dim=0) - batch = step_data_batch - # batch['hidden_state'] = hidden_state_batch - return batch + list_step_data.append(rl_step_data(last=True)) # last step + return list_step_data -def fake_rl_learner_data_batch(batch_size=6, unroll_len=4): - data_batch_list = [fake_rl_data_batch_with_last(unroll_len) for _ in range(batch_size)] - data_batch = default_collate_with_dim(data_batch_list, dim=1) +def get_fake_rl_trajectory(batch_size=3, unroll_len=4): + data_batch = [fake_rl_data_batch_with_last(unroll_len) for _ in range(batch_size)] return data_batch - - -def flat(data): - if isinstance(data, torch.Tensor): - return torch.flatten(data, start_dim=0, end_dim=1) # (1, (T+1) * B) - elif isinstance(data, dict): - new_data = {} - for k, val in data.items(): - new_data[k] = flat(val) - return new_data - elif isinstance(data, Sequence): - new_data = [flat(v) for v in data] - return new_data - else: - print(type(data)) - - -def rl_learner_forward_data(batch_size=6, unroll_len=4): - data = fake_rl_learner_data_batch(batch_size, unroll_len) - new_data = {} - for k, val in data.items(): - if k in [ - 'spatial_info', - 'entity_info', - 'scalar_info', - 'entity_num', # 'action_info' - # 'selected_units_num', - 'entity_location', - 'hidden_state', - ]: - new_data[k] = flat(val) - else: - new_data[k] = val - new_data['batch_size'] = batch_size - new_data['unroll_len'] = unroll_len - return new_data diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py index 569fac51c6..7cae00865e 100644 --- a/dizoo/distar/envs/meta.py +++ b/dizoo/distar/envs/meta.py @@ -1,5 +1,6 @@ -MAX_DELAY = 64 +MAX_DELAY = 128 MAX_ENTITY_NUM = 512 +MAX_SELECTED_UNITS_NUM = 64 ENTITY_TYPE_NUM = 260 NUM_ACTIONS = 327 NUM_UPGRADES = 90 diff --git a/dizoo/distar/policy/__init__.py b/dizoo/distar/policy/__init__.py new file mode 100644 index 0000000000..061c38a426 --- /dev/null +++ b/dizoo/distar/policy/__init__.py @@ -0,0 +1 @@ +from .distar_policy import DIStarPolicy diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 7226be1745..dd223d714a 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -1,9 +1,11 @@ -from typing import Dict +from typing import Dict, Optional, List +from easydict import EasyDict import os.path as osp import torch import torch.nn.functional as F from torch.optim import Adam +from ding.model import model_wrap from ding.policy import Policy from ding.torch_utils import to_device from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ @@ -60,7 +62,7 @@ def kl_error( kl = kl * mask['actions_mask'][head_type] if head_type == 'action_type': flag = game_steps < action_type_kl_steps - action_type_kl = kl * flag * mask['cum_action_mask'] + action_type_kl = kl * flag action_type_kl_loss = action_type_kl.mean() kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() kl_loss = kl.mean() @@ -71,10 +73,12 @@ def kl_error( class DIStarPolicy(Policy): config = dict( + type='distar', + on_policy=False, cuda=True, - multi_gpu=False, learning_rate=1e-5, model=dict(), + learn=dict(multi_gpu=False, ), loss_weights=dict( baseline=dict( winloss=10.0, @@ -100,6 +104,7 @@ class DIStarPolicy(Policy): vtrace_head_weights=dict( action_type=1.0, delay=1.0, + queued=1.0, select_unit_num_logits=1.0, selected_units=0.01, target_unit=1.0, @@ -108,6 +113,7 @@ class DIStarPolicy(Policy): upgo_head_weights=dict( action_type=1.0, delay=1.0, + queued=1.0, select_unit_num_logits=1.0, selected_units=0.01, target_unit=1.0, @@ -116,6 +122,7 @@ class DIStarPolicy(Policy): entropy_head_weights=dict( action_type=1.0, delay=1.0, + queued=1.0, select_unit_num_logits=1.0, selected_units=0.01, target_unit=1.0, @@ -124,6 +131,7 @@ class DIStarPolicy(Policy): kl_head_weights=dict( action_type=1.0, delay=1.0, + queued=1.0, select_unit_num_logits=1.0, selected_units=0.01, target_unit=1.0, @@ -151,8 +159,22 @@ class DIStarPolicy(Policy): grad_clip=dict(threshold=1.0, ) ) + def _create_model( + self, + cfg: EasyDict, + model: Optional[torch.nn.Module] = None, + enable_field: Optional[List[str]] = None + ) -> torch.nn.Module: + assert model is None, "not implemented user-defined model" + assert len(enable_field) == 1, "only support distributed enable policy" + field = enable_field[0] + if field == 'learn': + return Model(self._cfg.model, use_value_network=True) + else: + raise KeyError("invalid policy mode: {}".format(field)) + def _init_learn(self): - self.learn_model = Model(self._cfg.model, use_value_network=True) + self.learn_model = model_wrap(self._model, 'base') self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] # policy parameters self.gammas = self._cfg.gammas @@ -179,7 +201,7 @@ def _forward_learn(self, inputs: Dict): # =========== inputs = collate_fn_learn(inputs) if self._cfg.cuda: - inputs = to_device(inputs) + inputs = to_device(inputs, self._device) # ============= # model forward @@ -256,8 +278,8 @@ def _forward_learn(self, inputs: Dict): weight = self.vtrace_head_weights[head_type] if head_type not in ['action_type', 'delay']: weight = weight * masks_dict['actions_mask'][head_type] - if field in ['build_order', 'built_unit', 'effect']: - weight = weight * masks_dict[field + '_mask'] + # if field in ['build_order', 'built_unit', 'effect']: + # weight = weight * masks_dict[field + '_mask'] data_item = vtrace_data_with_rho( target_action_log_probs_dict[head_type], clipped_rhos_dict[head_type], baseline_value, reward, @@ -302,16 +324,17 @@ def _forward_learn(self, inputs: Dict): # Notice: in general, we need to include done when we consider discount factor, but in our implementation # of alphastar, traj_data(with size equal to unroll-len) sent from actor comes from the same episode. # If the game is draw, we don't consider it is actually done - if field in ['build_order', 'built_unit', 'effect']: - weight = masks_dict[[field + '_mask']] - else: - weight = None + # if field in ['build_order', 'built_unit', 'effect']: + # weight = masks_dict[[field + '_mask']] + # else: + # weight = None + weight = None field_data = td_lambda_data(baseline, reward, weight) - critic_loss = td_lambda_error(baseline, reward, masks_dict, gamma=self.gammas.baseline[field]) + critic_loss = td_lambda_error(field_data, gamma=self.gammas.baseline[field]) total_critic_loss += self.loss_weights.baseline[field] * critic_loss - loss_info_dict['td' + field] = critic_loss.item() + loss_info_dict['td/' + field] = critic_loss.item() loss_info_dict['reward/' + field] = reward.float().mean().item() loss_info_dict['value/' + field] = baseline.mean().item() loss_info_dict['reward/battle'] = rewards_dict['battle'].float().mean().item() @@ -346,7 +369,7 @@ def _forward_learn(self, inputs: Dict): with self.timer: self.optimizer.zero_grad() total_loss.backward() - if self._cfg.multi_gpu: + if self._cfg.learn.multi_gpu: self.sync_gradients() gradient = torch.nn.utils.clip_grad_norm_(self.learn_model.parameters(), self._cfg.grad_clip.threshold, 2) self.optimizer.step() @@ -380,5 +403,11 @@ def _init_collect(self): def _forward_collect(self, data): pass + def _process_transition(self): + pass + + def _get_train_sample(self): + pass + _init_eval = _init_collect _forward_eval = _forward_collect diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py new file mode 100644 index 0000000000..c2d9c08272 --- /dev/null +++ b/dizoo/distar/policy/test_distar_policy.py @@ -0,0 +1,15 @@ +import pytest + +from dizoo.distar.policy import DIStarPolicy +from dizoo.distar.envs import get_fake_rl_trajectory + + +@pytest.mark.envtest +class TestDIStarPolicy: + + def test_forward_learn(self): + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) + policy = policy.learn_mode + data = get_fake_rl_trajectory(batch_size=3) + output = policy.forward(data) + print(output) diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py index 48a4c6f0b3..f0581bc210 100644 --- a/dizoo/distar/policy/utils.py +++ b/dizoo/distar/policy/utils.py @@ -1,6 +1,6 @@ import torch from ding.torch_utils import flatten, sequence_mask -from ding.utils import default_collate +from ding.utils.data import default_collate from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM MASK_INF = -1e9 @@ -65,13 +65,13 @@ def collate_fn_learn(traj_batch): [len(traj_data['entity_info']['x']) for traj_data_list in traj_batch for traj_data in traj_data_list] ) - # padding entity_info in observatin, target_unit, selected_units, mask + # padding entity_info in observation, target_unit, selected_units, mask traj_batch = [ [padding_entity_info(traj_data, max_entity_num) for traj_data in traj_data_list] for traj_data_list in traj_batch ] - data = [default_collate(traj_data_list) for traj_data_list in traj_batch] + data = [default_collate(traj_data_list, allow_key_mismatch=True) for traj_data_list in traj_batch] batch_size = len(data) unroll_len = len(data[0]['step']) From b4dcce0f1e70ce5f4d1f480a0737e4aa4797cdd1 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Mon, 20 Jun 2022 10:25:51 +0800 Subject: [PATCH 127/229] merge --- ding/framework/middleware/__init__.py | 2 +- ding/framework/middleware/league_learner.py | 38 ++++++++++++++++++- .../middleware/tests/league_config.py | 2 +- .../middleware/tests/mock_for_test.py | 30 ++++++--------- .../middleware/tests/test_league_pipeline.py | 9 ++--- dizoo/distar/model/model.py | 1 - dizoo/distar/policy/distar_policy.py | 2 +- 7 files changed, 55 insertions(+), 29 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 16427614ca..0530a281c0 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,4 +4,4 @@ from .ckpt_handler import CkptSaver from .league_actor import LeagueActor, StepLeagueActor from .league_coordinator import LeagueCoordinator -from .league_learner import LeagueLearner +from .league_learner import LeagueLearner, OffPolicyLeagueLearner diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index cb02eb25e6..cea9a03897 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,16 +1,18 @@ import os -import logging from dataclasses import dataclass from threading import Lock from time import sleep from typing import TYPE_CHECKING, Callable, Optional +from ding.data.buffer.deque_buffer import DequeBuffer from ding.framework import task, EventEnum +from ding.framework.middleware import OffPolicyLearner, CkptSaver, data_pusher from ding.framework.storage import Storage, FileStorage from ding.league.player import PlayerMeta from ding.worker.learner.base_learner import BaseLearner if TYPE_CHECKING: + from ding.data import Buffer from ding.framework import Context from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer @@ -23,6 +25,40 @@ class LearnerModel: train_iter: int = 0 +class OffPolicyLeagueLearner: + + def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: + self._buffer = DequeBuffer(size=10000) + self._policy = policy_fn().learn_mode + self.player_id = player.player_id + task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) + self._learner = OffPolicyLearner(cfg, self._policy, self._buffer) + # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) + + def _push_data(self, data: "ActorData"): + print("wait for lock") + print("push data into the buffer!") + self._buffer.push(data.train_data) + + def __call__(self, ctx: "OnlineRLContext"): + print("num of objects in buffer:", self._buffer.count()) + self._learner(ctx) + checkpoint = None + + sleep(2) + print('learner send player meta\n', flush=True) + task.emit( + EventEnum.LEARNER_SEND_META, + PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=0) + ) + + learner_model = LearnerModel( + player_id=self.player_id, state_dict=self._policy.state_dict(), train_iter=0 + ) + print('learner send model\n', flush=True) + task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) + + class LeagueLearner: def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 3d1e6b5b1d..19f3173acc 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -80,7 +80,7 @@ 'n_episode': 1, 'n_rollout_samples': 32, 'n_sample': 64, - 'unroll_len': 2 + 'unroll_len': 1 }, 'eval': { 'evaluator': { diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 789bd28460..7aa73dcf35 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -10,8 +10,8 @@ from ding.league.player import PlayerMeta from ding.league.v2 import BaseLeague, Job from ding.framework.storage import FileStorage -from ding.policy import PPOPolicy from dizoo.distar.envs.distar_env import DIStarEnv +from dizoo.distar.policy.distar_policy import DIStarPolicy from ding.envs import BaseEnvManager import treetensor.torch as ttorch from ding.envs import BaseEnvTimestep @@ -176,29 +176,21 @@ def flush(*args): pass -class DIStarMockPolicy(PPOPolicy): - - def _mock_data(self, data_list): - for data in data_list: - assert isinstance(data, dict) - assert 'obs' in data - assert 'next_obs' in data - assert 'action' in data - assert 'reward' in data - data['obs'] = torch.rand(16) - data['next_obs'] = torch.rand(16) - data['action'] = torch.rand(4) - return data_list +class DIStarMockPolicy(DIStarPolicy): def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: print("Call forward_learn:") - data = self._mock_data(data) - # return super()._forward_learn(data) + return super()._forward_learn(data) + + def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: + return DIStarEnv.random_action(data) + + def _get_train_sample(self, data: list) -> Union[None, List[Any]]: return + + def _process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: + return dict() - # def _forward_eval(self, data: Dict[int, Any]) -> Dict[int, Any]: - # data = {i: torch.rand(self.policy.model.obs_shape) for i in range(self.cfg.env.collector_env_num)} - # return super()._forward_eval(data) class DIstarCollectMode: diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index ad5b927d9c..48e42b1241 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -3,7 +3,7 @@ import pytest from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner, OffPolicyLeagueLearner from ding.model import VAC from ding.framework.task import task, Parallel @@ -13,8 +13,8 @@ from distar.ctools.utils import read_config from unittest.mock import patch -N_ACTORS = 2 -N_LEARNERS = 2 +N_ACTORS = 1 +N_LEARNERS = 1 def prepare_test(): @@ -57,8 +57,7 @@ def _main(): else: n_players = len(league.active_players_ids) player = league.active_players[task.router.node_id % n_players] - learner = LeagueLearner(cfg, policy_fn, player) - learner._learner._tb_logger = MockLogger() + learner = OffPolicyLeagueLearner(cfg, policy_fn, player) task.use(learner) task.run() diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py index d47e3cab83..0e0a874483 100644 --- a/dizoo/distar/model/model.py +++ b/dizoo/distar/model/model.py @@ -7,7 +7,6 @@ import torch.nn as nn from ding.utils import read_yaml_config, deep_merge_dicts -from ding.utils.data import default_collate from ding.torch_utils import detach_grad, script_lstm from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM from .encoder import Encoder diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index dd223d714a..e09029059f 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -11,7 +11,7 @@ from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ upgo_data, upgo_error from ding.utils import EasyTimer -from dizoo.distar.model import Model +from dizoo.distar.model.model import Model from .utils import collate_fn_learn EPS = 1e-9 From ca0987ba38a496027c173021a71d2f2a70da4f5e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 20 Jun 2022 13:54:47 +0800 Subject: [PATCH 128/229] change a bit --- .../middleware/tests/test_collector.py | 6 +-- .../test_league_actor_distar_one_process.py | 52 +------------------ .../middleware/tests/test_league_pipeline.py | 3 +- .../tests/test_league_pipeline_one_process.py | 3 +- 4 files changed, 8 insertions(+), 56 deletions(-) diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 3b0f60ba21..1c0f43e3f4 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -6,6 +6,8 @@ from ding.framework.middleware import TransitionList, inferencer, rolloutor from ding.framework.middleware import StepCollector, EpisodeCollector from ding.framework.middleware.tests import MockPolicy, MockEnv, CONFIG +from ding.framework.middleware import BattleTransitionList +from easydict import EasyDict @pytest.mark.unittest @@ -86,10 +88,6 @@ def test_episode_collector(): assert len(ctx.episodes) == 16 -from ding.framework.middleware import BattleTransitionList -from easydict import EasyDict - - @pytest.mark.unittest def test_battle_transition_list(): env_num = 2 diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 6977630eb8..21c8ea154a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -22,56 +22,8 @@ from distar.ctools.utils import read_config from ding.model import VAC -from ding.framework.middleware.tests import DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar, DIStarMockPolicy - - -class LearnMode: - - def __init__(self) -> None: - pass - - def state_dict(self): - return {} - - -class CollectMode: - - def __init__(self) -> None: - self._cfg = EasyDict(dict(collect=dict(n_episode=64))) - - def load_state_dict(self, state_dict): - return - - def forward(self, data: Dict): - return_data = {} - return_data['action'] = DIStarEnv.random_action(data) - return_data['logit'] = [1] - return_data['value'] = [0] - - return return_data - - def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: - transition = { - 'obs': obs, - 'next_obs': timestep.obs, - 'action': model_output['action'], - 'logit': model_output['logit'], - 'value': model_output['value'], - 'reward': timestep.reward, - 'done': timestep.done, - } - return transition - - def reset(self, data_id: Optional[List[int]] = None) -> None: - pass - - def get_attribute(self, name: str) -> Any: - if hasattr(self, '_get_' + name): - return getattr(self, '_get_' + name)() - elif hasattr(self, '_' + name): - return getattr(self, '_' + name) - else: - raise NotImplementedError +from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, \ + battle_inferencer_for_distar, battle_rolloutor_for_distar def prepare_test(): diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index ad5b927d9c..78a8f895a3 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -9,7 +9,8 @@ from ding.framework.task import task, Parallel from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, \ + battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py index 8c217b0578..f92530b0fc 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -8,7 +8,8 @@ from ding.framework.task import task from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, \ + battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch import os From 006132fcede8bb54757ed66134d20f5946045922 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 20 Jun 2022 15:31:29 +0800 Subject: [PATCH 129/229] change a bit --- .../middleware/functional/actor_data.py | 2 +- .../middleware/functional/collector.py | 2 +- .../middleware/tests/test_collector.py | 21 +++++++++---------- .../test_league_actor_distar_one_process.py | 13 ++++++------ .../middleware/tests/test_league_pipeline.py | 5 ++++- 5 files changed, 23 insertions(+), 20 deletions(-) diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 07563075e9..6e22d9a3b3 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -4,7 +4,7 @@ @dataclass class ActorDataMeta: - palyer_total_env_step: int = 0 + player_total_env_step: int = 0 actor_id: int = 0 env_id: int = 0 send_wall_time: float = 0.0 diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index bfb4681141..4488935d8c 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -118,7 +118,7 @@ def append(self, env_id: int, transition: Any) -> None: def clear(self): for item in self._transitions: item.clear() - for item in self._done_idx: + for item in self._done_episode: item.clear() diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 1c0f43e3f4..9b2f75c6ee 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -100,11 +100,12 @@ def test_battle_transition_list(): timestep = EasyDict({'obs': i, 'done': False}) transition_list.append(env_id=0, transition=timestep) + transition_list.append(env_id=0, transition=EasyDict({'obs': len_env_0, 'done': True})) + for i in range(len_env_1): timestep = EasyDict({'obs': i, 'done': False}) transition_list.append(env_id=1, transition=timestep) - transition_list.append(env_id=0, transition=EasyDict({'obs': len_env_0, 'done': True})) transition_list.append(env_id=1, transition=EasyDict({'obs': len_env_1, 'done': True})) len_env_0_2 = 12 @@ -113,7 +114,9 @@ def test_battle_transition_list(): for i in range(len_env_0_2): timestep = EasyDict({'obs': i, 'done': False}) transition_list.append(env_id=0, transition=timestep) + transition_list.append(env_id=0, transition=EasyDict({'obs': len_env_0_2, 'done': True})) + for i in range(len_env_1_2): timestep = EasyDict({'obs': i, 'done': False}) transition_list.append(env_id=1, transition=timestep) @@ -135,22 +138,18 @@ def test_battle_transition_list(): assert len(trajectory) == unroll_len #env_0 i = 0 - for trajectory in env_0_result[:-2]: - assert len(trajectory) == unroll_len - for transition in trajectory: - assert transition.obs == i - i += 1 - - trajectory = env_0_result[-2] - assert len(trajectory) == unroll_len + trajectory = env_0_result[0] + for transition in trajectory: + assert transition.obs == i + i += 1 + trajectory = env_0_result[1] i = len_env_0 - unroll_len + 1 for transition in trajectory: assert transition.obs == i i += 1 - trajectory = env_0_result[-1] - assert len(trajectory) == unroll_len + trajectory = env_0_result[2] test_number = 0 for i, transition in enumerate(trajectory): if i < unroll_len - len_env_0_2 - 1: diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 21c8ea154a..9d8828aa3c 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -1,24 +1,22 @@ from time import sleep import pytest from copy import deepcopy -from ding.envs import BaseEnvManager +from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.tests.league_config import cfg -from ding.framework.middleware import LeagueActor, StepLeagueActor +from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage -from easydict import EasyDict from ding.framework.task import task from ding.league.v2.base_league import Job from dizoo.distar.envs.distar_env import DIStarEnv -from unittest.mock import Mock, patch +from unittest.mock import patch +from ding.framework.supervisor import ChildType from ding.framework import EventEnum -from typing import Dict, Any, List, Optional -from collections import namedtuple from distar.ctools.utils import read_config from ding.model import VAC @@ -36,6 +34,9 @@ def env_fn(): env = BaseEnvManager( env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) + # env = EnvSupervisor( + # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], **cfg.env.manager + # ) env.seed(cfg.seed) return env diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 78a8f895a3..bc0f8b99db 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -1,7 +1,7 @@ from copy import deepcopy from time import sleep import pytest -from ding.envs import BaseEnvManager +from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner @@ -28,6 +28,9 @@ def env_fn(): env = BaseEnvManager( env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) + # env = EnvSupervisor( + # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], **cfg.env.manager + # ) env.seed(cfg.seed) return env From c664f60a1279f2edd2e47e295be3a78bd53b0f4d Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 20 Jun 2022 17:46:05 +0800 Subject: [PATCH 130/229] add comment to BattleTransitionList --- .../middleware/functional/collector.py | 40 ++++++++++++++----- .../middleware/tests/test_collector.py | 17 ++++++-- 2 files changed, 42 insertions(+), 15 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 4488935d8c..08d10b822a 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -10,6 +10,7 @@ # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext +from collections import deque class TransitionList: @@ -57,24 +58,32 @@ def length(self, env_id: int) -> int: class BattleTransitionList: def __init__(self, env_num: int, unroll_len: int) -> None: + # for each env, we have a deque to buffer episodes, + # and a deque to tell each episode is finished or not self.env_num = env_num - self._transitions = [[] for _ in range(env_num)] - self._done_episode = [[] for _ in range(env_num)] + self._transitions = [deque() for _ in range(env_num)] + self._done_episode = [deque() for _ in range(env_num)] self._unroll_len = unroll_len def get_trajectories(self, env_id: int): trajectories = [] if len(self._transitions[env_id]) == 0: - return None + # if we have no episode for this env, we return an empty list + return trajectories while len(self._transitions[env_id]) > 0: + # Every time we check if oldest episode is done, + # if is done, we cut the episode to trajectories + # and finally drop this episode if self._done_episode[env_id][0] is False: break - trajectories += self._cut_trajectory_from_episode(self._transitions[env_id][0]) - self._transitions[env_id][0].clear() - self._transitions[env_id] = self._transitions[env_id][1:] - self._done_episode[env_id] = self._done_episode[env_id][1:] + oldest_episode = self._transitions[env_id].popleft() + self._done_episode[env_id].popleft() + trajectories += self._cut_trajectory_from_episode(oldest_episode) + oldest_episode.clear() if len(self._transitions[env_id]) == 1 and self._done_episode[env_id][0] is False: + # If last episode is not done, we only cut the trajectories till the Trajectory(t-1) (not including) + # This is because we need Trajectory(t-1) to fill up Trajectory(t) if in Trajectory(t) this episode is done tail_idx = max( 0, ((len(self._transitions[env_id][0]) - self._unroll_len) // self._unroll_len) * self._unroll_len ) @@ -84,6 +93,10 @@ def get_trajectories(self, env_id: int): return trajectories def _cut_trajectory_from_episode(self, episode: list): + # first we cut complete trajectories (list of transitions whose length equal to unroll_len) + # then we gather the transitions in the tail of episode, and fill up the trajectory with the tail transitions in Trajectory(t-1) + # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, we fill up the trajectory + # with the first element of episode. return_episode = [] i = 0 num_complele_trajectory, num_tail_transitions = divmod(len(episode), self._unroll_len) @@ -102,12 +115,17 @@ def _cut_trajectory_from_episode(self, episode: list): return return_episode # list of trajectories - def clear_newest_transition(self, env_id: int) -> None: - self._transitions[env_id][-1].clear() - self._transitions[env_id] = self._transitions[env_id][:-1] - self._done_episode[env_id] = self._done_episode[env_id][:-1] + def clear_newest_episode(self, env_id: int) -> None: + # Use it when env.step raise some error + if self._done_episode[env_id][-1] is False: + newest_episode = self._transitions[env_id].pop() + newest_episode.clear() + self._done_episode[env_id].pop() + else: + return def append(self, env_id: int, transition: Any) -> None: + # If previous episode is done, we create a new episode if len(self._done_episode[env_id]) == 0 or self._done_episode[env_id][-1] is True: self._transitions[env_id].append([]) self._done_episode[env_id].append(False) diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 9b2f75c6ee..341576ced2 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -8,6 +8,7 @@ from ding.framework.middleware.tests import MockPolicy, MockEnv, CONFIG from ding.framework.middleware import BattleTransitionList from easydict import EasyDict +import copy @pytest.mark.unittest @@ -121,11 +122,13 @@ def test_battle_transition_list(): timestep = EasyDict({'obs': i, 'done': False}) transition_list.append(env_id=1, transition=timestep) + transition_list_2 = copy.deepcopy(transition_list) + env_0_result = transition_list.get_trajectories(env_id=0) env_1_result = transition_list.get_trajectories(env_id=1) - print(env_0_result) - print(env_1_result) + # print(env_0_result) + # print(env_1_result) # print(env_0_result) assert len(env_0_result) == 3 @@ -183,8 +186,14 @@ def test_battle_transition_list(): # print(env_0_result) # print(env_1_result) - print(transition_list._transitions[0]) - print(transition_list._transitions[1]) + # print(transition_list._transitions[0]) + # print(transition_list._transitions[1]) + + transition_list_2.clear_newest_episode(env_id=0) + transition_list_2.clear_newest_episode(env_id=1) + + assert len(transition_list_2._transitions[0]) == 2 + assert len(transition_list_2._transitions[1]) == 1 if __name__ == '__main__': From 78bfd975f9fe8e68ffad507cf5172e56e089c778 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 00:22:17 +0800 Subject: [PATCH 131/229] change a bit --- ding/framework/context.py | 1 - ding/framework/middleware/functional/__init__.py | 2 +- ding/framework/middleware/functional/actor_data.py | 14 +++++++++----- ding/framework/middleware/functional/collector.py | 11 ++--------- ding/framework/middleware/tests/league_config.py | 2 +- ding/framework/middleware/tests/test_collector.py | 6 ++---- 6 files changed, 15 insertions(+), 21 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index f5f830f784..46d58c20c4 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -107,5 +107,4 @@ def __init__(self, *args, **kwargs) -> None: self.episodes = [] self.episode_info = [] self.trajectories_list = [] - self.trajectory_end_idx_list = [] self.train_data = None diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index 1b73b61a39..01d87b71ca 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -10,4 +10,4 @@ from .explorer import eps_greedy_handler, eps_greedy_masker from .advantage_estimator import gae_estimator from .enhancer import reward_estimator, her_data_enhancer, nstep_reward_enhancer -from .actor_data import ActorData, ActorDataMeta +from .actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 6e22d9a3b3..9cf7051e5f 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -1,17 +1,21 @@ -from typing import Any -from dataclasses import dataclass +from typing import Any, List +from dataclasses import dataclass, field @dataclass class ActorDataMeta: player_total_env_step: int = 0 actor_id: int = 0 - env_id: int = 0 send_wall_time: float = 0.0 +@dataclass +class ActorEnvTrajectories: + env_id: int = 0 + trajectories: List = field(default_factory=[]) + + @dataclass class ActorData: meta: ActorDataMeta - # TODO make train data a list in which each env_id has a list - train_data: Any + train_data: List = field(default_factory=[]) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 08d10b822a..def1e0ea0e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -47,13 +47,6 @@ def clear(self): for item in self._done_idx: item.clear() - def clear_env_transitions(self, env_id: int) -> None: - self._transitions[env_id].clear() - self._done_idx[env_id].clear() - - def length(self, env_id: int) -> int: - return len(self._transitions[env_id]) - class BattleTransitionList: @@ -65,7 +58,7 @@ def __init__(self, env_num: int, unroll_len: int) -> None: self._done_episode = [deque() for _ in range(env_num)] self._unroll_len = unroll_len - def get_trajectories(self, env_id: int): + def get_env_trajectories(self, env_id: int, only_finished: bool = False): trajectories = [] if len(self._transitions[env_id]) == 0: # if we have no episode for this env, we return an empty list @@ -81,7 +74,7 @@ def get_trajectories(self, env_id: int): trajectories += self._cut_trajectory_from_episode(oldest_episode) oldest_episode.clear() - if len(self._transitions[env_id]) == 1 and self._done_episode[env_id][0] is False: + if not only_finished and len(self._transitions[env_id]) == 1 and self._done_episode[env_id][0] is False: # If last episode is not done, we only cut the trajectories till the Trajectory(t-1) (not including) # This is because we need Trajectory(t-1) to fill up Trajectory(t) if in Trajectory(t) this episode is done tail_idx = max( diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 3d1e6b5b1d..bcb4ae8821 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -80,7 +80,7 @@ 'n_episode': 1, 'n_rollout_samples': 32, 'n_sample': 64, - 'unroll_len': 2 + 'unroll_len': 64 }, 'eval': { 'evaluator': { diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 341576ced2..6d231afa09 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -124,15 +124,13 @@ def test_battle_transition_list(): transition_list_2 = copy.deepcopy(transition_list) - env_0_result = transition_list.get_trajectories(env_id=0) - env_1_result = transition_list.get_trajectories(env_id=1) + env_0_result = transition_list.get_env_trajectories(env_id=0) + env_1_result = transition_list.get_env_trajectories(env_id=1) # print(env_0_result) # print(env_1_result) - # print(env_0_result) assert len(env_0_result) == 3 - # print(env_1_result) assert len(env_1_result) == 4 for trajectory in env_0_result: From b64a3ec269b49319018a9f4ed737918655a2af16 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 03:12:29 +0800 Subject: [PATCH 132/229] add BattleTransitionList into league_actors, but have some unexpected actions --- ding/framework/middleware/collector.py | 21 ++++++++------- .../middleware/functional/actor_data.py | 2 +- .../middleware/functional/collector.py | 10 +++++++ ding/framework/middleware/league_actor.py | 27 ++++++++++++------- .../test_league_actor_distar_one_process.py | 12 ++++----- 5 files changed, 45 insertions(+), 27 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 49d560a4d5..08f5435c9c 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -2,7 +2,7 @@ from ding.policy import get_random_policy from ding.envs import BaseEnvManager from ding.framework import task -from .functional import inferencer, rolloutor, TransitionList, battle_inferencer, battle_rolloutor +from .functional import inferencer, rolloutor, TransitionList, BattleTransitionList, battle_inferencer, battle_rolloutor from typing import Dict, TYPE_CHECKING if TYPE_CHECKING: @@ -88,8 +88,7 @@ def __call__(self, ctx: "BattleContext") -> None: class BattleStepCollector: def __init__( - self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, - agent_num: int + self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, all_policies: Dict, agent_num: int ): self.cfg = cfg self.end_flag = False @@ -98,13 +97,15 @@ def __init__( self.env_num = self.env.env_num self.total_envstep_count = 0 - self.n_rollout_samples = n_rollout_samples + self.unroll_len = unroll_len self.model_dict = model_dict self.all_policies = all_policies self.agent_num = agent_num self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) - self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] + self._transitions_list = [ + BattleTransitionList(self.env.env_num, self.unroll_len) for _ in range(self.agent_num) + ] self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) def __del__(self) -> None: @@ -151,16 +152,16 @@ def __call__(self, ctx: "BattleContext") -> None: self.total_envstep_count = ctx.total_envstep_count - if (self.n_rollout_samples > 0 - and ctx.env_step - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: + only_finished = True if ctx.env_episode >= ctx.n_episode else False + if (self.unroll_len > 0 and ctx.env_step - old >= self.unroll_len) or ctx.env_episode >= ctx.n_episode: for transitions in self._transitions_list: - trajectories, trajectory_end_idx = transitions.to_trajectories() + trajectories = transitions.to_trajectories(only_finished=only_finished) ctx.trajectories_list.append(trajectories) - ctx.trajectory_end_idx_list.append(trajectory_end_idx) - transitions.clear() if ctx.env_episode >= ctx.n_episode: self.env.close() ctx.job_finish = True + for transitions in self._transitions_list: + transitions.clear() break diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 9cf7051e5f..dc62b2081f 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -18,4 +18,4 @@ class ActorEnvTrajectories: @dataclass class ActorData: meta: ActorDataMeta - train_data: List = field(default_factory=[]) + train_data: List[ActorEnvTrajectories] = field(default_factory=[]) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index def1e0ea0e..8b4ca0e310 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Optional, Callable, List, Tuple, Any from easydict import EasyDict from functools import reduce +from more_itertools import only import treetensor.torch as ttorch from ding.envs import BaseEnvManager from ding.policy import Policy @@ -11,6 +12,7 @@ # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext from collections import deque +from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories class TransitionList: @@ -85,6 +87,14 @@ def get_env_trajectories(self, env_id: int, only_finished: bool = False): return trajectories + def to_trajectories(self, only_finished: bool = False): + all_env_data = [] + for env_id in range(self.env_num): + trajectories = self.get_env_trajectories(env_id, only_finished=only_finished) + if len(trajectories) > 0: + all_env_data.append(ActorEnvTrajectories(env_id=env_id, trajectories=trajectories)) + return all_env_data + def _cut_trajectory_from_episode(self, episode: list): # first we cut complete trajectories (list of transitions whose length equal to unroll_len) # then we gather the transitions in the tail of episode, and fill up the trajectory with the tail transitions in Trajectory(t-1) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 1e7f490e69..ec67c5c9b8 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -134,7 +134,7 @@ def __call__(self, ctx: "BattleContext"): if not job.is_eval and len(ctx.episodes[0]) > 0: actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.episodes[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - ctx.episodes = [] + ctx.episodes = [] time_end = time.time() self.collect_time[job.launch_player] += time_end - time_begin total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ @@ -162,7 +162,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn - self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.unroll_len = self.cfg.policy.collect.get("unroll_len") or 0 self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -198,8 +198,7 @@ def _get_collector(self, player_id: str): env = self.env_fn() collector = task.wrap( BattleStepCollector( - cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, - self.agent_num + cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.all_policies, self.agent_num ) ) self._collectors[player_id] = collector @@ -272,23 +271,31 @@ def __call__(self, ctx: "BattleContext"): old_envstep = ctx.total_envstep_count collector(ctx) + # print(ctx.trajectories_list) + # ctx.trajectories_list[0] for policy_id 0 + # ctx.trajectories_list[0][0] for first env + print(len(ctx.trajectories_list[0])) + if len(ctx.trajectories_list[0]) > 0: + print(len(ctx.trajectories_list[0][0].trajectories)) + for traj in ctx.trajectories_list[0][0].trajectories: + assert len(traj) == self.unroll_len + if ctx.job_finish is True: + print('we finish the job !') + assert len(ctx.trajectories_list[0][0].trajectories) > 0 + if not job.is_eval and len(ctx.trajectories_list[0]) > 0: trajectories = ctx.trajectories_list[0] - trajectory_end_idx = ctx.trajectory_end_idx_list[0] - print('actor {}, len trajectories {}'.format(task.router.node_id, len(trajectories)), flush=True) + print('actor {}, {} envs send traj '.format(task.router.node_id, len(trajectories)), flush=True) meta_data = ActorDataMeta( player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, - # TODO transfer env_id to train_data, each env has a trajectory or not - env_id=0, send_wall_time=time.time() ) actor_data = ActorData(meta=meta_data, train_data=trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) print('Actor {} send data\n'.format(task.router.node_id), flush=True) - ctx.trajectories_list = [] - ctx.trajectory_end_idx_list = [] + ctx.trajectories_list = [] time_end = time.time() self.collect_time[job.launch_player] += time_end - time_begin total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 9d8828aa3c..a1b5cb578a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -104,12 +104,12 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(100) - try: - print(testcases) - assert all(testcases.values()) - finally: - task.finish = True + # sleep(100) + # try: + # print(testcases) + # assert all(testcases.values()) + # finally: + # task.finish = True return _test_actor From 8d30256d4deecc2d9f573549acc32a29e926a1c9 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Tue, 21 Jun 2022 11:08:07 +0800 Subject: [PATCH 133/229] add league learner exchanger --- ding/framework/context.py | 3 + ding/framework/middleware/__init__.py | 2 +- .../middleware/league_coordinator.py | 2 - ding/framework/middleware/league_learner.py | 44 ++++++++++++++- .../middleware/tests/league_config.py | 4 +- .../middleware/tests/mock_for_test.py | 6 -- .../middleware/tests/test_league_learner.py | 55 +++++++++---------- .../middleware/tests/test_league_pipeline.py | 6 +- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/policy/distar_policy.py | 12 ++-- 10 files changed, 82 insertions(+), 54 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index f5f830f784..c1fbfb593a 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -102,6 +102,7 @@ def __init__(self, *args, **kwargs) -> None: #data self.obs = None self.actions = None + self.trajectories = None #Return data paras self.episodes = [] @@ -109,3 +110,5 @@ def __init__(self, *args, **kwargs) -> None: self.trajectories_list = [] self.trajectory_end_idx_list = [] self.train_data = None + + self.keep('env_step', 'env_episode', 'train_iter', 'last_eval_iter') diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 0530a281c0..62001ea92e 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,4 +4,4 @@ from .ckpt_handler import CkptSaver from .league_actor import LeagueActor, StepLeagueActor from .league_coordinator import LeagueCoordinator -from .league_learner import LeagueLearner, OffPolicyLeagueLearner +from .league_learner import * diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index ec85766a8d..d9e735b272 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -56,5 +56,3 @@ def __del__(self): def __call__(self, ctx: "Context") -> None: sleep(1) - # logging.info("{} Step: {}".format(self.__class__, self._step)) - # self._step += 1 diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index cea9a03897..2c0de6d5cc 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,5 +1,6 @@ import os from dataclasses import dataclass +from collections import deque from threading import Lock from time import sleep from typing import TYPE_CHECKING, Callable, Optional @@ -25,6 +26,44 @@ class LearnerModel: train_iter: int = 0 +class LeagueLearnerExchanger: + + def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: + self.cfg = cfg + self._cache = deque(maxlen=1000) + self.player = player + self.player_id = player.player_id + self.policy = policy + self.prefix = '{}/ckpt'.format(cfg.exp_name) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) + + def _push_data(self, data: "ActorData"): + print("push data into the cache!") + self._cache.append(data.train_data) + + def __call__(self, ctx: "Context"): + ctx.trajectories = list(self._cache) + self._cache.clear() + sleep(1) + yield + print("Learner: save model, ctx.train_iter:", ctx.train_iter) + self.player.total_agent_step = ctx.train_iter + if self.player.is_trained_enough(): + storage = FileStorage( + path=os.path.join(self.prefix, "{}_{}_ckpt.pth".format(self.player_id, ctx.train_iter)) + ) + storage.save(self.policy.state_dict()) + task.emit( + EventEnum.LEARNER_SEND_META, + PlayerMeta(player_id=self.player_id, checkpoint=storage, total_agent_step=ctx.train_iter) + ) + + learner_model = LearnerModel( + player_id=self.player_id, state_dict=self.policy.state_dict(), train_iter=ctx.train_iter + ) + task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) + + class OffPolicyLeagueLearner: def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: @@ -36,11 +75,10 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) def _push_data(self, data: "ActorData"): - print("wait for lock") print("push data into the buffer!") self._buffer.push(data.train_data) - def __call__(self, ctx: "OnlineRLContext"): + def __call__(self, ctx: "Context"): print("num of objects in buffer:", self._buffer.count()) self._learner(ctx) checkpoint = None @@ -53,7 +91,7 @@ def __call__(self, ctx: "OnlineRLContext"): ) learner_model = LearnerModel( - player_id=self.player_id, state_dict=self._policy.state_dict(), train_iter=0 + player_id=self.player_id, state_dict=self._policy.state_dict(), train_iter=ctx.train_iter # self._policy.state_dict() ) print('learner send model\n', flush=True) task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 19f3173acc..af8758364d 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -46,7 +46,7 @@ }, 'multi_gpu': False, 'epoch_per_collect': 10, - 'batch_size': 16, + 'batch_size': 4, 'learning_rate': 1e-05, 'value_weight': 0.5, 'entropy_weight': 0.0, @@ -106,7 +106,7 @@ 'main_player': 2 }, 'main_player': { - 'one_phase_step': 200, + 'one_phase_step': 10, # 20 'branch_probs': { 'pfsp': 0.0, 'sp': 1.0 diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 7aa73dcf35..b9cb8e32a3 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -184,12 +184,6 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: return DIStarEnv.random_action(data) - - def _get_train_sample(self, data: list) -> Union[None, List[Any]]: - return - - def _process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: - return dict() diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 81dfa12075..89c9d2a56d 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -5,14 +5,18 @@ import logging from ding.envs import BaseEnvManager -from ding.model import VAC -from ding.policy import PPOPolicy +from ding.data import DequeBuffer +from ding.framework.context import BattleContext from ding.framework import EventEnum from ding.framework.task import task, Parallel -from ding.framework.middleware import LeagueLearner +from ding.framework.middleware import OffPolicyLeagueLearner, data_pusher,\ + OffPolicyLearner, LeagueLearnerExchanger from ding.framework.middleware.functional.actor_data import ActorData from ding.framework.middleware.tests import cfg, MockLeague, MockLogger -from dizoo.league_demo.game_env import GameEnv +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy +from dizoo.distar.envs.distar_env import DIStarEnv +from distar.ctools.utils import read_config +from dizoo.distar.envs import fake_rl_data_batch_with_last logging.getLogger().setLevel(logging.INFO) @@ -20,17 +24,18 @@ def prepare_test(): global cfg cfg = deepcopy(cfg) + env_cfg = read_config('./test_distar_config.yaml') def env_fn(): + # subprocess env manager env = BaseEnvManager( - env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager ) env.seed(cfg.seed) return env def policy_fn(): - model = VAC(**cfg.policy.model) - policy = PPOPolicy(cfg.policy, model=model) + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) return policy return cfg, env_fn, policy_fn @@ -41,7 +46,7 @@ def coordinator_mocker(): task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: print("test: send model success")) def _coordinator_mocker(ctx): - sleep(1) + sleep(10) return _coordinator_mocker @@ -49,25 +54,14 @@ def _coordinator_mocker(ctx): def actor_mocker(league): def _actor_mocker(ctx): - sleep(1) - obs_size = cfg.policy.model.obs_shape - if isinstance(obs_size, int): - obs_size = [obs_size] - data = [ - { - 'obs': torch.rand(*obs_size), - 'next_obs': torch.rand(*obs_size), - 'done': False, - 'reward': torch.rand(1), - 'logit': torch.rand(1), - 'action': torch.randint(low=0, high=2, size=(1, )), - } for _ in range(32) - ] - actor_data = ActorData(env_step=0, train_data=data) n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] print("actor player:", player.player_id) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + for _ in range(3): + data = fake_rl_data_batch_with_last() + actor_data = ActorData(env_step=0, train_data=data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + sleep(9) return _actor_mocker @@ -76,18 +70,21 @@ def _main(): cfg, env_fn, policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) - with task.start(): + with task.start(async_mode=True, ctx=BattleContext()): if task.router.node_id == 0: task.use(coordinator_mocker()) elif task.router.node_id <= 2: task.use(actor_mocker(league)) else: + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) n_players = len(league.active_players_ids) + print("League: n_players: ", n_players) player = league.active_players[task.router.node_id % n_players] - learner = LeagueLearner(cfg, policy_fn, player) - learner._learner._tb_logger = MockLogger() - task.use(learner) - task.run(max_step=3) + policy = policy_fn() + task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + task.use(data_pusher(cfg, buffer_)) + task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + task.run(max_step=200) @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 48e42b1241..db1024c809 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -31,8 +31,7 @@ def env_fn(): return env def policy_fn(): - model = VAC(**cfg.policy.model) - policy = DIStarMockPolicy(cfg.policy, model=model) + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) return policy def collect_policy_fn(): @@ -57,8 +56,7 @@ def _main(): else: n_players = len(league.active_players_ids) player = league.active_players[task.router.node_id % n_players] - learner = OffPolicyLeagueLearner(cfg, policy_fn, player) - task.use(learner) + task.use(OffPolicyLeagueLearner(cfg, policy_fn, player)) task.run() diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 8061a4940d..ff6a693dce 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,4 +1,4 @@ from .distar_env import DIStarEnv from .meta import * from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK -from .fake_data import get_fake_rl_trajectory +from .fake_data import get_fake_rl_trajectory, fake_rl_data_batch_with_last diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index e09029059f..5abbdd0902 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -174,7 +174,7 @@ def _create_model( raise KeyError("invalid policy mode: {}".format(field)) def _init_learn(self): - self.learn_model = model_wrap(self._model, 'base') + self._learn_model = model_wrap(self._model, 'base') self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] # policy parameters self.gammas = self._cfg.gammas @@ -187,7 +187,7 @@ def _init_learn(self): # optimizer self.optimizer = Adam( - self.learn_model.parameters(), + self._learn_model.parameters(), lr=self._cfg.learning_rate, betas=(0, 0.99), eps=1e-5, @@ -209,7 +209,7 @@ def _forward_learn(self, inputs: Dict): # create loss show dict loss_info_dict = {} with self.timer: - model_output = self.learn_model.rl_learn_forward(**inputs) + model_output = self._learn_model.rl_learn_forward(**inputs) loss_info_dict['model_forward_time'] = self.timer.value # =========== @@ -371,7 +371,7 @@ def _forward_learn(self, inputs: Dict): total_loss.backward() if self._cfg.learn.multi_gpu: self.sync_gradients() - gradient = torch.nn.utils.clip_grad_norm_(self.learn_model.parameters(), self._cfg.grad_clip.threshold, 2) + gradient = torch.nn.utils.clip_grad_norm_(self._learn_model.parameters(), self._cfg.grad_clip.threshold, 2) self.optimizer.step() loss_info_dict['backward_time'] = self.timer.value @@ -389,12 +389,12 @@ def _monitor_var_learn(self): def _state_dict(self) -> Dict: return { - 'model': self.learn_model.state_dict(), + 'model': self._learn_model.state_dict(), 'optimizer': self.optimizer.state_dict(), } def _load_state_dict_learn(self, _state_dict: Dict) -> None: - self.learn_model.load_state_dict(_state_dict['model']) + self._learn_model.load_state_dict(_state_dict['model']) self.optimizer.load_state_dict(_state_dict['optimizer']) def _init_collect(self): From 0bd6e4ac2cfe25ead1a9dcc898574718830c7ab6 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 16:43:15 +0800 Subject: [PATCH 134/229] deal with step error --- ding/framework/context.py | 1 + .../middleware/functional/collector.py | 5 +- .../middleware/tests/mock_for_test.py | 87 ++++--------------- .../test_league_actor_distar_one_process.py | 41 +++++---- dizoo/distar/envs/distar_env.py | 15 ++-- 5 files changed, 52 insertions(+), 97 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 46d58c20c4..ad5134625b 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -102,6 +102,7 @@ def __init__(self, *args, **kwargs) -> None: #data self.obs = None self.actions = None + self.inference_output = {} #Return data paras self.episodes = [] diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 8b4ca0e310..af64f68dc7 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -120,12 +120,13 @@ def _cut_trajectory_from_episode(self, episode: list): def clear_newest_episode(self, env_id: int) -> None: # Use it when env.step raise some error + len_newest_episode = 0 if self._done_episode[env_id][-1] is False: newest_episode = self._transitions[env_id].pop() + len_newest_episode = len(newest_episode) newest_episode.clear() self._done_episode[env_id].pop() - else: - return + return len_newest_episode def append(self, env_id: int, transition: Any) -> None: # If previous episode is done, we create a new episode diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 789bd28460..16b9ef23a5 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -15,7 +15,7 @@ from ding.envs import BaseEnvManager import treetensor.torch as ttorch from ding.envs import BaseEnvTimestep -from distar.agent.default.lib.features import Features +from dizoo.distar.envs.fake_data import rl_step_data if TYPE_CHECKING: from ding.framework import BattleContext @@ -205,7 +205,6 @@ class DIstarCollectMode: def __init__(self) -> None: self._cfg = EasyDict(dict(collect=dict(n_episode=1))) - self._feature = None self._race = 'zerg' def load_state_dict(self, state_dict): @@ -222,22 +221,8 @@ def get_attribute(self, name: str) -> Any: def reset(self, data_id: Optional[List[int]] = None) -> None: pass - def _pre_process(self, obs): - agent_obs = self._feature.transform_obs(obs['raw_obs'], padding_spatial=True) - self._game_info = agent_obs.pop('game_info') - self._game_step = self._game_info['game_loop'] - - last_selected_units = torch.zeros(agent_obs['entity_num'], dtype=torch.int8) - last_targeted_unit = torch.zeros(agent_obs['entity_num'], dtype=torch.int8) - - agent_obs['entity_info']['last_selected_units'] = last_selected_units - agent_obs['entity_info']['last_targeted_unit'] = last_targeted_unit - - self._observation = agent_obs - def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: # print("Call forward_collect:") - self._pre_process(policy_obs) return_data = {} return_data['action'] = DIStarEnv.random_action(policy_obs) return_data['logit'] = [1] @@ -245,29 +230,9 @@ def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: return return_data - def process_transition(self, obs: Any, model_output: dict, timestep: namedtuple) -> dict: - next_obs = timestep.obs - reward = timestep.reward - done = timestep.done - agent_obs = self._observation - step_data = { - 'obs': { - 'map_name': 'KingsCove', - 'spatial_info': agent_obs['spatial_info'], - # 'spatial_info_ref': spatial_info_ref, - 'entity_info': agent_obs['entity_info'], - 'scalar_info': agent_obs['scalar_info'], - 'entity_num': agent_obs['entity_num'], - 'step': torch.tensor(self._game_step, dtype=torch.float) - }, - 'next_obs': {}, - 'logit': model_output['logit'], - 'action': model_output['action'], - 'value': model_output['value'], - # 'successive_logit': deepcopy(teacher_output['logit']), - 'reward': reward, - 'done': done - } + def process_transition(self, timestep) -> dict: + step_data = rl_step_data() + step_data['done'] = timestep.done return step_data @@ -285,13 +250,6 @@ def _battle_inferencer(ctx: "BattleContext"): if env.closed: env.launch() - # TODO: Just for distar - races = ['zerg', 'zerg'] - for policy_index, p in enumerate(ctx.current_policies): - if p._feature is None: - p._feature = Features(env._envs[0].game_info[policy_index], env.ready_obs[0][policy_index]['raw_obs']) - p._race = races[policy_index] - # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data @@ -323,31 +281,24 @@ def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) - # TODO: change this part to only modify the part of current episode, not influence previous episode - error_env_id_list = [] - for env_id, timestep in timesteps.items(): - if timestep.info.get('step_error'): - error_env_id_list.append(env_id) - ctx.total_envstep_count -= transitions_list[0].length(env_id) - ctx.env_step -= transitions_list[0].length(env_id) - for transitions in transitions_list: - transitions.clear_env_transitions(env_id) - for error_env_id in error_env_id_list: - del timesteps[error_env_id] + # for env_id, timestep in timesteps.items(): ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) - for env_id, timestep in timesteps.items(): - for policy_id in ctx.obs[env_id].keys(): - policy_timestep = BaseEnvTimestep( - obs=timestep.obs.get(policy_id) if timestep.obs.get(policy_id) is not None else None, - reward=timestep.reward[policy_id], - done=timestep.done, - info={} - ) - transition = ctx.current_policies[policy_id].process_transition( - ctx.obs[env_id][policy_id], ctx.inference_output[env_id][policy_id], policy_timestep - ) + # for env_id, timestep in timesteps.items(): + # TODO(zms): make sure a standard + for env_id, timestep in enumerate(timesteps): + if timestep.info.get('abnormal'): + # TODO(zms): cannot get exact env_step of a episode because for each observation, + # in most cases only one of two policies has a obs. + # ctx.total_envstep_count -= transitions_list[0].length(env_id) + # ctx.env_step -= transitions_list[0].length(env_id) + for transitions in transitions_list: + transitions.clear_newest_episode(env_id) + continue + + for policy_id, _ in enumerate(ctx.current_policies): + transition = ctx.current_policies[policy_id].process_transition(timestep) transition = EasyDict(transition) transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) transitions_list[policy_id].append(env_id, transition) diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index a1b5cb578a..3f20b6a776 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -23,40 +23,45 @@ from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, \ battle_inferencer_for_distar, battle_rolloutor_for_distar +cfg = deepcopy(cfg) +env_cfg = read_config('./test_distar_config.yaml') -def prepare_test(): - global cfg - cfg = deepcopy(cfg) - env_cfg = read_config('./test_distar_config.yaml') +class PrepareTest(): - def env_fn(): - env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - ) - # env = EnvSupervisor( - # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], **cfg.env.manager + @classmethod + def get_env_fn(cls): + return DIStarEnv(env_cfg) + + @classmethod + def get_env_supervisor(cls): + # env = BaseEnvManager( + # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager # ) + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager + ) env.seed(cfg.seed) return env - def policy_fn(): + @classmethod + def policy_fn(cls): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy - def collect_policy_fn(): + @classmethod + def collect_policy_fn(cls): policy = DIStarMockPolicyCollect() return policy - return cfg, env_fn, policy_fn, collect_policy_fn - @pytest.mark.unittest def test_league_actor(): - cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() - policy = policy_fn() with task.start(async_mode=True, ctx=BattleContext()): + policy = PrepareTest.policy_fn() def test_actor(): job = Job( @@ -115,7 +120,9 @@ def _test_actor(ctx): with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=collect_policy_fn) + league_actor = StepLeagueActor( + cfg=cfg, env_fn=PrepareTest.get_env_supervisor, policy_fn=PrepareTest.collect_policy_fn + ) task.use(test_actor()) task.use(league_actor) task.run() diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 88512666f9..f34ee527b1 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -15,16 +15,11 @@ def __init__(self, cfg): self._map_name = None def reset(self): - while True: - try: - observations, game_info, map_name = super(DIStarEnv, self).reset() - # print(game_info) - self.game_info = game_info - self.map_name = map_name - return observations - except Exception as e: - print("during reset SC2 env, an error happend: ", e, flush=True) - self.close() + observations, game_info, map_name = super(DIStarEnv, self).reset() + # print(game_info) + self.game_info = game_info + self.map_name = map_name + return observations def close(self): super(DIStarEnv, self).close() From 338a2a2c3f82d1da966122db8efe625361cd8850 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 17:07:59 +0800 Subject: [PATCH 135/229] change a bit env_supervisor so it could run DI-star env --- ding/envs/env_manager/base_env_manager.py | 2 -- ding/envs/env_manager/env_supervisor.py | 28 ++++++++++++------- .../middleware/tests/league_config.py | 7 +++-- 3 files changed, 22 insertions(+), 15 deletions(-) diff --git a/ding/envs/env_manager/base_env_manager.py b/ding/envs/env_manager/base_env_manager.py index 991f4b588b..b335db8dd2 100644 --- a/ding/envs/env_manager/base_env_manager.py +++ b/ding/envs/env_manager/base_env_manager.py @@ -77,9 +77,7 @@ def default_config(cls: type) -> EasyDict: config = dict( episode_num=float("inf"), max_retry=1, - # inf retry_type='reset', - # renew auto_reset=True, step_timeout=None, reset_timeout=None, diff --git a/ding/envs/env_manager/env_supervisor.py b/ding/envs/env_manager/env_supervisor.py index b3e1c17fcf..919e7e6ca2 100644 --- a/ding/envs/env_manager/env_supervisor.py +++ b/ding/envs/env_manager/env_supervisor.py @@ -61,6 +61,7 @@ def __init__( episode_num: int = float("inf"), shared_memory: bool = True, copy_on_get: bool = True, + return_original_data: bool = False, **kwargs ) -> None: """ @@ -78,6 +79,7 @@ def __init__( - retry_waiting_time (:obj:`Optional[float]`): Wait time on each retry. - shared_memory (:obj:`bool`): Use shared memory in multiprocessing. - copy_on_get (:obj:`bool`): Use copy on get in multiprocessing. + - return_original_data (:obj:`bool`): Return original observation or processed observation. """ if kwargs: logging.warning("Unknown parameters on env supervisor: {}".format(kwargs)) @@ -122,6 +124,7 @@ def __init__( self._retry_waiting_time = retry_waiting_time self._env_replay_path = None self._episode_num = episode_num + self._return_original_data = return_original_data self._init_states() def _init_states(self): @@ -255,6 +258,9 @@ def ready_obs(self) -> tnp.array: >>> timesteps = env_manager.step(action) """ active_env = [i for i, s in self._env_states.items() if s == EnvState.RUN] + # TODO(zms): change it here or in env? + if self._return_original_data: + return {i: self._ready_obs[i] for i in active_env} active_env.sort() obs = [self._ready_obs.get(i) for i in active_env] if len(obs) == 0: @@ -409,16 +415,18 @@ def _recv_step_callback( remain_payloads[p.req_id] = p # make the type and content of key as similar as identifier, # in order to call them as attribute (e.g. timestep.xxx), such as ``TimeLimit.truncated`` in cartpole info - info = make_key_as_identifier(info) - payload.data = tnp.array( - { - 'obs': obs, - 'reward': reward, - 'done': done, - 'info': info, - 'env_id': payload.proc_id - } - ) + # TODO(zms): change it here or in DI-star env? + if not self._return_original_data: + info = make_key_as_identifier(info) + payload.data = tnp.array( + { + 'obs': obs, + 'reward': reward, + 'done': done, + 'info': info, + 'env_id': payload.proc_id + } + ) self._ready_obs[payload.proc_id] = obs return payload diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index bcb4ae8821..dab2606a08 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -4,14 +4,15 @@ 'env': { 'manager': { 'episode_num': 100000, - 'max_retry': 1, - 'retry_type': 'reset', + 'max_retry': 1000, + 'retry_type': 'renew', 'auto_reset': True, 'step_timeout': None, 'reset_timeout': None, 'retry_waiting_time': 0.1, 'cfg_type': 'BaseEnvManagerDict', - 'shared_memory': False + 'shared_memory': False, + 'return_original_data': True }, 'collector_env_num': 1, 'evaluator_env_num': 1, From 65e3fb1d203fb6eeabe17926a33c64de87eb1b3d Mon Sep 17 00:00:00 2001 From: lixuelin Date: Tue, 21 Jun 2022 19:04:05 +0800 Subject: [PATCH 136/229] polish pipeline & add distar example --- ding/example/distar.py | 87 ++++++++++ .../middleware/league_coordinator.py | 6 +- ding/framework/middleware/league_learner.py | 15 +- .../middleware/tests/league_config.py | 2 +- .../middleware/tests/mock_for_test.py | 1 - .../test_league_actor_distar_one_process.py | 2 +- .../tests/test_league_actor_one_process.py | 2 +- .../middleware/tests/test_league_learner.py | 11 +- .../middleware/tests/test_league_pipeline.py | 90 ++++++---- ding/league/player.py | 40 +++-- ding/utils/data/collate_fn.py | 12 +- dizoo/distar/config/__init__.py | 1 + dizoo/distar/config/distar_config.py | 164 ++++++++++++++++++ 13 files changed, 364 insertions(+), 69 deletions(-) create mode 100644 ding/example/distar.py create mode 100644 dizoo/distar/config/__init__.py create mode 100644 dizoo/distar/config/distar_config.py diff --git a/ding/example/distar.py b/ding/example/distar.py new file mode 100644 index 0000000000..b7bae5fc36 --- /dev/null +++ b/ding/example/distar.py @@ -0,0 +1,87 @@ +import logging +import pytest +from easydict import EasyDict +from copy import deepcopy +from ding.data import DequeBuffer +from ding.envs import BaseEnvManager +from ding.framework.context import BattleContext +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerExchanger, data_pusher, OffPolicyLearner +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.task import task, Parallel +from ding.league.v2 import BaseLeague +from dizoo.distar.config import distar_cfg +from dizoo.distar.envs.distar_env import DIStarEnv +from unittest.mock import patch + +env_cfg = dict( + actor=dict(job_type='train', ), + env=dict( + map_name='KingsCove', + player_ids=['agent1', 'agent2'], + races=['zerg', 'zerg'], + map_size_resolutions=[True, True], # if True, ignore minimap_resolutions + minimap_resolutions=[[160, 152], [160, 152]], + realtime=False, + replay_dir='.', + random_seed='none', + game_steps_per_episode=100000, + update_bot_obs=False, + save_replay_episodes=1, + update_both_obs=False, + version='4.10.0', + ), +) + + +def prepare_test(): + global distar_cfg, env_cfg + env_cfg = EasyDict(env_cfg) + cfg = deepcopy(distar_cfg) + + def env_fn(): + # subprocess env manager + env = BaseEnvManager( + env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager + ) + env.seed(cfg.seed) + return env + + def policy_fn(): + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) + return policy + + def collect_policy_fn(): + policy = DIStarMockPolicyCollect() + return policy + + return cfg, env_fn, policy_fn, collect_policy_fn + + +def main(): + logging.getLogger().setLevel(logging.INFO) + cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() + league = BaseLeague(cfg.policy.other.league) + N_PLAYERS = len(league.active_players_ids) + print("League: n_players =", N_PLAYERS) + + with task.start(async_mode=True, ctx=BattleContext()),\ + patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ + patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + print("node id:", task.router.node_id) + if task.router.node_id == 0: + task.use(LeagueCoordinator(cfg, league)) + elif task.router.node_id <= N_PLAYERS: + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + player = league.active_players[task.router.node_id % N_PLAYERS] + policy = policy_fn() + task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + task.use(data_pusher(cfg, buffer_)) + task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + else: + task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) + + task.run() + + +if __name__ == "__main__": + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index d9e735b272..6b9243cb99 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -7,6 +7,7 @@ import logging if TYPE_CHECKING: + from easydict import EasyDict from ding.framework import Task, Context from ding.league.v2 import BaseLeague from ding.league.player import PlayerMeta @@ -15,12 +16,11 @@ class LeagueCoordinator: - def __init__(self, league: "BaseLeague") -> None: + def __init__(self, cfg: "EasyDict", league: "BaseLeague") -> None: self.league = league self._lock = Lock() self._total_send_jobs = 0 self._eval_frequency = 10 - self._step = 0 task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) @@ -42,13 +42,11 @@ def _on_actor_greeting(self, actor_id): def _on_learner_meta(self, player_meta: "PlayerMeta"): print('coordinator recieve learner meta for player{}\n'.format(player_meta.player_id), flush=True) - # print("on_learner_meta {}".format(player_meta)) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): print('coordinator recieve actor finished job, palyer {}\n'.format(job.launch_player), flush=True) - print("on_actor_job {}".format(job.launch_player)) # right self.league.update_payoff(job) def __del__(self): diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 2c0de6d5cc..679c3992d9 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -13,7 +13,7 @@ from ding.worker.learner.base_learner import BaseLearner if TYPE_CHECKING: - from ding.data import Buffer + from ding.policy import Policy from ding.framework import Context from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer @@ -36,12 +36,13 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: self.policy = policy self.prefix = '{}/ckpt'.format(cfg.exp_name) task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) - + def _push_data(self, data: "ActorData"): - print("push data into the cache!") + print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) self._cache.append(data.train_data) def __call__(self, ctx: "Context"): + print("push data into the ctx") ctx.trajectories = list(self._cache) self._cache.clear() sleep(1) @@ -73,7 +74,7 @@ def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> No task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) self._learner = OffPolicyLearner(cfg, self._policy, self._buffer) # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) - + def _push_data(self, data: "ActorData"): print("push data into the buffer!") self._buffer.push(data.train_data) @@ -91,7 +92,9 @@ def __call__(self, ctx: "Context"): ) learner_model = LearnerModel( - player_id=self.player_id, state_dict=self._policy.state_dict(), train_iter=ctx.train_iter # self._policy.state_dict() + player_id=self.player_id, + state_dict=self._policy.state_dict(), + train_iter=ctx.train_iter # self._policy.state_dict() ) print('learner send model\n', flush=True) task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) @@ -162,5 +165,3 @@ def __del__(self): def __call__(self, _: "Context") -> None: sleep(1) - # logging.info("{} Step: {}".format(self.__class__, self._step)) - # self._step += 1 diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index af8758364d..07a9afd5cc 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -46,7 +46,7 @@ }, 'multi_gpu': False, 'epoch_per_collect': 10, - 'batch_size': 4, + 'batch_size': 16, 'learning_rate': 1e-05, 'value_weight': 0.5, 'entropy_weight': 0.0, diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index b9cb8e32a3..37f6c9cde2 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -186,7 +186,6 @@ def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: return DIStarEnv.random_action(data) - class DIstarCollectMode: def __init__(self) -> None: diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 6977630eb8..823bed0d30 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -169,4 +169,4 @@ def _test_actor(ctx): if __name__ == '__main__': - test_league_actor() \ No newline at end of file + test_league_actor() diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 3d4cf7125f..90ff5b3420 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -42,7 +42,7 @@ def policy_fn(): def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() - with task.start(async_mode=True, ctx = BattleContext()): + with task.start(async_mode=True, ctx=BattleContext()): league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 89c9d2a56d..07b7414800 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -9,14 +9,15 @@ from ding.framework.context import BattleContext from ding.framework import EventEnum from ding.framework.task import task, Parallel -from ding.framework.middleware import OffPolicyLeagueLearner, data_pusher,\ +from ding.framework.middleware import data_pusher,\ OffPolicyLearner, LeagueLearnerExchanger from ding.framework.middleware.functional.actor_data import ActorData from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy +from ding.league.v2 import BaseLeague from dizoo.distar.envs.distar_env import DIStarEnv -from distar.ctools.utils import read_config from dizoo.distar.envs import fake_rl_data_batch_with_last +from distar.ctools.utils import read_config logging.getLogger().setLevel(logging.INFO) @@ -57,7 +58,7 @@ def _actor_mocker(ctx): n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] print("actor player:", player.player_id) - for _ in range(3): + for _ in range(24): data = fake_rl_data_batch_with_last() actor_data = ActorData(env_step=0, train_data=data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) @@ -68,7 +69,7 @@ def _actor_mocker(ctx): def _main(): cfg, env_fn, policy_fn = prepare_test() - league = MockLeague(cfg.policy.other.league) + league = BaseLeague(cfg.policy.other.league) with task.start(async_mode=True, ctx=BattleContext()): if task.router.node_id == 0: @@ -84,7 +85,7 @@ def _main(): task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) task.use(data_pusher(cfg, buffer_)) task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) - task.run(max_step=200) + task.run(max_step=30) @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index db1024c809..bf8e5db502 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -1,26 +1,42 @@ -from copy import deepcopy -from time import sleep +import logging import pytest +from easydict import EasyDict +from copy import deepcopy +from ding.data import DequeBuffer from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner, OffPolicyLeagueLearner - -from ding.model import VAC +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerExchanger, data_pusher, OffPolicyLearner +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from ding.framework.task import task, Parallel -from ding.framework.middleware.tests import cfg, MockLeague, MockLogger +from ding.league.v2 import BaseLeague +from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar -from distar.ctools.utils import read_config from unittest.mock import patch -N_ACTORS = 1 -N_LEARNERS = 1 +env_cfg = dict( + actor=dict(job_type='train', ), + env=dict( + map_name='KingsCove', + player_ids=['agent1', 'agent2'], + races=['zerg', 'zerg'], + map_size_resolutions=[True, True], # if True, ignore minimap_resolutions + minimap_resolutions=[[160, 152], [160, 152]], + realtime=False, + replay_dir='.', + random_seed='none', + game_steps_per_episode=100000, + update_bot_obs=False, + save_replay_episodes=1, + update_both_obs=False, + version='4.10.0', + ), +) def prepare_test(): - global cfg - cfg = deepcopy(cfg) - env_cfg = read_config('./test_distar_config.yaml') + global distar_cfg, env_cfg + env_cfg = EasyDict(env_cfg) + cfg = deepcopy(distar_cfg) def env_fn(): # subprocess env manager @@ -41,30 +57,36 @@ def collect_policy_fn(): return cfg, env_fn, policy_fn, collect_policy_fn -def _main(): +def main(): + logging.getLogger().setLevel(logging.INFO) cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() - league = MockLeague(cfg.policy.other.league) - - with task.start(async_mode=True, ctx=BattleContext()): - with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): - with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - print("node id:", task.router.node_id) - if task.router.node_id == 0: - task.use(LeagueCoordinator(league)) - elif task.router.node_id <= N_ACTORS: - task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) - else: - n_players = len(league.active_players_ids) - player = league.active_players[task.router.node_id % n_players] - task.use(OffPolicyLeagueLearner(cfg, policy_fn, player)) - - task.run() + league = BaseLeague(cfg.policy.other.league) + N_PLAYERS = len(league.active_players_ids) + print("League: n_players =", N_PLAYERS) + + with task.start(async_mode=True, ctx=BattleContext()),\ + patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ + patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + print("node id:", task.router.node_id) + if task.router.node_id == 0: + task.use(LeagueCoordinator(cfg, league)) + elif task.router.node_id <= N_PLAYERS: + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + player = league.active_players[task.router.node_id % N_PLAYERS] + policy = policy_fn() + task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + task.use(data_pusher(cfg, buffer_)) + task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + else: + task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) + + task.run() @pytest.mark.unittest -def test_league_actor(): - Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) +def test_league_pipeline(): + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) -if __name__ == '__main__': - Parallel.runner(n_parallel_workers=N_ACTORS + N_LEARNERS + 1, protocol="tcp", topology="mesh")(_main) +if __name__ == "__main__": + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) diff --git a/ding/league/player.py b/ding/league/player.py index c9f2b28402..61b1916a9a 100644 --- a/ding/league/player.py +++ b/ding/league/player.py @@ -1,4 +1,5 @@ from dataclasses import dataclass +import traceback from typing import Callable, Optional, List from collections import namedtuple import numpy as np @@ -6,7 +7,13 @@ from ding.utils import import_module, PLAYER_REGISTRY from .algorithm import pfsp -from ding.framework.storage import Storage +from ding.framework.storage import FileStorage +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from ding.league.shared_payoff import BattleSharedPayoff + from ding.league.metric import LeagueMetricEnv + from ding.league.metric import PlayerRating + from ding.framework.storage import Storage @dataclass @@ -31,11 +38,11 @@ def __init__( self, cfg: EasyDict, category: str, - init_payoff: 'BattleSharedPayoff', # noqa + init_payoff: 'BattleSharedPayoff', checkpoint_path: str, player_id: str, total_agent_step: int, - rating: 'PlayerRating', # noqa + rating: 'PlayerRating', ) -> None: """ Overview: @@ -55,6 +62,7 @@ def __init__( self._category = category self._payoff = init_payoff self._checkpoint_path = checkpoint_path + self.checkpoint = FileStorage(path=checkpoint_path) assert isinstance(player_id, str) self._player_id = player_id assert isinstance(total_agent_step, int), (total_agent_step, type(total_agent_step)) @@ -66,7 +74,7 @@ def category(self) -> str: return self._category @property - def payoff(self) -> 'BattleSharedPayoff': # noqa + def payoff(self) -> 'BattleSharedPayoff': return self._payoff @property @@ -86,13 +94,17 @@ def total_agent_step(self, step: int) -> None: self._total_agent_step = step @property - def rating(self) -> 'PlayerRating': # noqa + def rating(self) -> 'PlayerRating': return self._rating @rating.setter - def rating(self, _rating: 'PlayerRating') -> None: # noqa + def rating(self, _rating: 'PlayerRating') -> None: self._rating = _rating + @property + def meta(self) -> PlayerMeta: + return PlayerMeta(player_id=self.player_id, checkpoint=self.checkpoint, total_agent_step=self.total_agent_step) + @PLAYER_REGISTRY.register('historical_player') class HistoricalPlayer(Player): @@ -188,7 +200,9 @@ def is_trained_enough(self, select_fn: Optional[Callable] = None) -> bool: else: return False - def snapshot(self, metric_env: 'LeagueMetricEnv') -> HistoricalPlayer: # noqa + def snapshot( + self, metric_env: 'LeagueMetricEnv', checkpoint: Optional["Storage"] = None + ) -> HistoricalPlayer: # noqa """ Overview: Generate a snapshot historical player from the current player, called in league's ``_snapshot``. @@ -201,8 +215,11 @@ def snapshot(self, metric_env: 'LeagueMetricEnv') -> HistoricalPlayer: # noqa This method only generates a historical player object, but without saving the checkpoint, which should be done by league. """ - path = self.checkpoint_path.split('.pth')[0] + '_{}'.format(self._total_agent_step) + '.pth' - return HistoricalPlayer( + if checkpoint: + path = checkpoint.path + else: + path = self.checkpoint_path.split('.pth')[0] + '_{}'.format(self._total_agent_step) + '.pth' + hp = HistoricalPlayer( self._cfg, self.category, self.payoff, @@ -212,6 +229,9 @@ def snapshot(self, metric_env: 'LeagueMetricEnv') -> HistoricalPlayer: # noqa metric_env.create_rating(mu=self.rating.mu), parent_id=self.player_id ) + if checkpoint: + hp.checkpoint = checkpoint + return hp def mutate(self, info: dict) -> Optional[str]: """ @@ -349,4 +369,4 @@ def create_player(cfg: EasyDict, player_type: str, *args, **kwargs) -> Player: player_mapping's values """ import_module(cfg.get('import_names', [])) - return PLAYER_REGISTRY.build(player_type, *args, **kwargs) + return PLAYER_REGISTRY.build(player_type, *args, **kwargs) \ No newline at end of file diff --git a/ding/utils/data/collate_fn.py b/ding/utils/data/collate_fn.py index 3b534a1980..a70c40e1d5 100644 --- a/ding/utils/data/collate_fn.py +++ b/ding/utils/data/collate_fn.py @@ -25,11 +25,13 @@ def ttorch_collate(x): return x -def default_collate(batch: Sequence, - dim: int = 0, - cat_1dim: bool = True, - allow_key_mismatch: bool = False, - ignore_prefix: list = ['collate_ignore']) -> Union[torch.Tensor, Mapping, Sequence]: +def default_collate( + batch: Sequence, + dim: int = 0, + cat_1dim: bool = True, + allow_key_mismatch: bool = False, + ignore_prefix: list = ['collate_ignore'] +) -> Union[torch.Tensor, Mapping, Sequence]: """ Overview: Put each data field into a tensor with outer dimension batch size. diff --git a/dizoo/distar/config/__init__.py b/dizoo/distar/config/__init__.py new file mode 100644 index 0000000000..a05f2cbff3 --- /dev/null +++ b/dizoo/distar/config/__init__.py @@ -0,0 +1 @@ +from .distar_config import distar_cfg \ No newline at end of file diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py new file mode 100644 index 0000000000..575efd3260 --- /dev/null +++ b/dizoo/distar/config/distar_config.py @@ -0,0 +1,164 @@ +from easydict import EasyDict + +distar_cfg = EasyDict( + { + 'env': { + 'manager': { + 'episode_num': 100000, + 'max_retry': 1, + 'retry_type': 'reset', + 'auto_reset': True, + 'step_timeout': None, + 'reset_timeout': None, + 'retry_waiting_time': 0.1, + 'cfg_type': 'BaseEnvManagerDict', + 'shared_memory': False + }, + 'collector_env_num': 1, + 'evaluator_env_num': 1, + 'n_evaluator_episode': 100, + 'env_type': 'prisoner_dilemma', + 'stop_value': [-10.1, -5.05] + }, + 'policy': { + 'model': { + 'obs_shape': 2, + 'action_shape': 2, + 'action_space': 'discrete', + 'encoder_hidden_size_list': [32, 32], + 'critic_head_hidden_size': 32, + 'actor_head_hidden_size': 32, + 'share_encoder': False + }, + 'learn': { + 'learner': { + 'train_iterations': 1000000000, + 'dataloader': { + 'num_workers': 0 + }, + 'log_policy': False, + 'hook': { + 'load_ckpt_before_run': '', + 'log_show_after_iter': 100, + 'save_ckpt_after_iter': 10000, + 'save_ckpt_after_run': True + }, + 'cfg_type': 'BaseLearnerDict' + }, + 'multi_gpu': False, + 'epoch_per_collect': 10, + 'batch_size': 16, + 'learning_rate': 1e-05, + 'value_weight': 0.5, + 'entropy_weight': 0.0, + 'clip_ratio': 0.2, + 'adv_norm': True, + 'value_norm': True, + 'ppo_param_init': True, + 'grad_clip_type': 'clip_norm', + 'grad_clip_value': 0.5, + 'ignore_done': False, + 'update_per_collect': 3, + 'scheduler': { + 'schedule_flag': False, + 'schedule_mode': 'reduce', + 'factor': 0.005, + 'change_range': [0, 1], + 'threshold': 0.5, + 'patience': 50 + } + }, + 'collect': { + 'collector': { + 'deepcopy_obs': False, + 'transform_obs': False, + 'collect_print_freq': 100, + 'get_train_sample': True, + 'cfg_type': 'BattleEpisodeSerialCollectorDict' + }, + 'discount_factor': 1.0, + 'gae_lambda': 1.0, + 'n_episode': 1, + 'n_rollout_samples': 32, + 'n_sample': 64, + 'unroll_len': 1 + }, + 'eval': { + 'evaluator': { + 'eval_freq': 50, + 'cfg_type': 'BattleInteractionSerialEvaluatorDict', + 'stop_value': [-10.1, -5.05], + 'n_episode': 100 + } + }, + 'other': { + 'replay_buffer': { + 'type': 'naive', + 'replay_buffer_size': 10000, + 'deepcopy': False, + 'enable_track_used_data': False, + 'periodic_thruput_seconds': 60, + 'cfg_type': 'NaiveReplayBufferDict' + }, + 'league': { + 'player_category': ['default'], + 'path_policy': 'league_demo/ckpt', + 'active_players': { + 'main_player': 2 + }, + 'main_player': { + 'one_phase_step': 10, # 20 + 'branch_probs': { + 'pfsp': 0.0, + 'sp': 1.0 + }, + 'strong_win_rate': 0.7 + }, + 'main_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'main_players': 1.0 + }, + 'strong_win_rate': 0.7, + 'min_valid_win_rate': 0.3 + }, + 'league_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'pfsp': 1.0 + }, + 'strong_win_rate': 0.7, + 'mutate_prob': 0.5 + }, + 'use_pretrain': False, + 'use_pretrain_init_historical': False, + 'payoff': { + 'type': 'battle', + 'decay': 0.99, + 'min_win_rate_games': 8 + }, + 'metric': { + 'mu': 0, + 'sigma': 8.333333333333334, + 'beta': 4.166666666666667, + 'tau': 0.0, + 'draw_probability': 0.02 + } + } + }, + 'type': 'ppo', + 'cuda': False, + 'on_policy': True, + 'priority': False, + 'priority_IS_weight': False, + 'recompute_adv': True, + 'action_space': 'discrete', + 'nstep_return': False, + 'multi_agent': False, + 'transition_with_policy_data': True, + 'cfg_type': 'PPOPolicyDict' + }, + 'exp_name': 'league_demo', + 'seed': 0 + } +) \ No newline at end of file From 805d2191b5aa0f4de3287d9a680f13d80cb49574 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 19:15:32 +0800 Subject: [PATCH 137/229] make pipelines run in supervisor --- .../middleware/league_coordinator.py | 2 +- .../test_league_actor_distar_one_process.py | 3 -- .../middleware/tests/test_league_pipeline.py | 41 ++++++++++--------- .../tests/test_league_pipeline_one_process.py | 39 ++++++++++-------- dizoo/distar/envs/distar_env.py | 13 ------ 5 files changed, 46 insertions(+), 52 deletions(-) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index ec85766a8d..927be65ac7 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -48,7 +48,7 @@ def _on_learner_meta(self, player_meta: "PlayerMeta"): def _on_actor_job(self, job: "Job"): print('coordinator recieve actor finished job, palyer {}\n'.format(job.launch_player), flush=True) - print("on_actor_job {}".format(job.launch_player)) # right + print("on_actor_job {}\n".format(job.launch_player)) # right self.league.update_payoff(job) def __del__(self): diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 3f20b6a776..ae1eff9c9a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -35,9 +35,6 @@ def get_env_fn(cls): @classmethod def get_env_supervisor(cls): - # env = BaseEnvManager( - # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - # ) env = EnvSupervisor( type_=ChildType.THREAD, env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index bc0f8b99db..65e39efdf1 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -4,6 +4,7 @@ from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner +from ding.framework.supervisor import ChildType from ding.model import VAC from ding.framework.task import task, Parallel @@ -14,40 +15,42 @@ from distar.ctools.utils import read_config from unittest.mock import patch -N_ACTORS = 2 +N_ACTORS = 1 N_LEARNERS = 2 +cfg = deepcopy(cfg) +env_cfg = read_config('./test_distar_config.yaml') -def prepare_test(): - global cfg - cfg = deepcopy(cfg) - env_cfg = read_config('./test_distar_config.yaml') - def env_fn(): - # subprocess env manager - env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager +class PrepareTest(): + + @classmethod + def get_env_fn(cls): + return DIStarEnv(env_cfg) + + @classmethod + def get_env_supervisor(cls): + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager ) - # env = EnvSupervisor( - # env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], **cfg.env.manager - # ) env.seed(cfg.seed) return env - def policy_fn(): + @classmethod + def policy_fn(cls): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy - def collect_policy_fn(): + @classmethod + def collect_policy_fn(cls): policy = DIStarMockPolicyCollect() return policy - return cfg, env_fn, policy_fn, collect_policy_fn - def _main(): - cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) with task.start(async_mode=True, ctx=BattleContext()): @@ -57,11 +60,11 @@ def _main(): if task.router.node_id == 0: task.use(LeagueCoordinator(league)) elif task.router.node_id <= N_ACTORS: - task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) + task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) else: n_players = len(league.active_players_ids) player = league.active_players[task.router.node_id % n_players] - learner = LeagueLearner(cfg, policy_fn, player) + learner = LeagueLearner(cfg, PrepareTest.policy_fn, player) learner._learner._tb_logger = MockLogger() task.use(learner) diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py index f92530b0fc..825a86b2cb 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -1,8 +1,9 @@ from copy import deepcopy import pytest -from ding.envs import BaseEnvManager +from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner +from ding.framework.supervisor import ChildType from ding.model import VAC from ding.framework.task import task @@ -14,33 +15,39 @@ from unittest.mock import patch import os +cfg = deepcopy(cfg) +env_cfg = read_config('./test_distar_config.yaml') -def prepare_test(): - global cfg - cfg = deepcopy(cfg) - env_cfg = read_config('./test_distar_config.yaml') - def env_fn(): - env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager +class PrepareTest(): + + @classmethod + def get_env_fn(cls): + return DIStarEnv(env_cfg) + + @classmethod + def get_env_supervisor(cls): + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager ) env.seed(cfg.seed) return env - def policy_fn(): + @classmethod + def policy_fn(cls): model = VAC(**cfg.policy.model) policy = DIStarMockPolicy(cfg.policy, model=model) return policy - def collect_policy_fn(): + @classmethod + def collect_policy_fn(cls): policy = DIStarMockPolicyCollect() return policy - return cfg, env_fn, policy_fn, collect_policy_fn - def _main(): - cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = MockLeague(cfg.policy.other.league) n_players = len(league.active_players_ids) print(n_players) @@ -49,15 +56,15 @@ def _main(): with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): player_0 = league.active_players[0] - learner_0 = LeagueLearner(cfg, policy_fn, player_0) + learner_0 = LeagueLearner(cfg, PrepareTest.policy_fn, player_0) learner_0._learner._tb_logger = MockLogger() player_1 = league.active_players[1] - learner_1 = LeagueLearner(cfg, policy_fn, player_1) + learner_1 = LeagueLearner(cfg, PrepareTest.policy_fn, player_1) learner_1._learner._tb_logger = MockLogger() task.use(LeagueCoordinator(league)) - task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) + task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) task.use(learner_0) task.use(learner_1) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index f34ee527b1..1dbb7b50c7 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -11,14 +11,9 @@ class DIStarEnv(SC2Env, BaseEnv): def __init__(self, cfg): super(DIStarEnv, self).__init__(cfg) - self._game_info = None - self._map_name = None def reset(self): observations, game_info, map_name = super(DIStarEnv, self).reset() - # print(game_info) - self.game_info = game_info - self.map_name = map_name return observations def close(self): @@ -41,18 +36,10 @@ def seed(self, seed, dynamic_seed=False): def game_info(self): return self._game_info - @game_info.setter - def game_info(self, new_game_info): - self._game_info = new_game_info - @property def map_name(self): return self._map_name - @map_name.setter - def map_name(self, new_map_name): - self._map_name = new_map_name - @property def observation_space(self): #TODO From 87ac3ce85824cf177f35b34b25571facb3628e07 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 19:36:23 +0800 Subject: [PATCH 138/229] reformat --- ding/framework/middleware/tests/test_league_pipeline.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index d8b08f0396..ff772e29f9 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -6,8 +6,8 @@ from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.supervisor import ChildType from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerExchanger, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, \ + LeagueLearnerExchanger, data_pusher, OffPolicyLearner from ding.framework.task import task, Parallel from ding.league.v2 import BaseLeague from dizoo.distar.config import distar_cfg From 53bfdf596fbe63ca87319a959699992ad6a2ade6 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Tue, 21 Jun 2022 23:00:52 +0800 Subject: [PATCH 139/229] feature(nyz): add basic distar policy collect(ci skip) --- dizoo/distar/envs/__init__.py | 3 +- dizoo/distar/envs/fake_data.py | 10 +- dizoo/distar/envs/meta.py | 3 +- dizoo/distar/envs/stat.py | 789 +++++++++++++++++++++++++++ dizoo/distar/policy/distar_policy.py | 203 ++++--- dizoo/distar/policy/utils.py | 56 ++ 6 files changed, 993 insertions(+), 71 deletions(-) create mode 100644 dizoo/distar/envs/stat.py diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 1c80372f03..be5986556a 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,3 +1,4 @@ from .meta import * -from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK +from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS +from .stat import Stat from .fake_data import get_fake_rl_trajectory diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index ec910eaa72..9dfdf2c56a 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -2,7 +2,7 @@ import torch from ding.utils.data import default_collate -from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, ENTITY_TYPE_NUM, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ +from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, NUM_UNIT_TYPES, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, MAX_SELECTED_UNITS_NUM H, W = 152, 160 @@ -28,7 +28,7 @@ def spatial_info(): def entity_info(): data = { - 'unit_type': torch.randint(0, ENTITY_TYPE_NUM, size=(MAX_ENTITY_NUM, ), dtype=torch.float), + 'unit_type': torch.randint(0, NUM_UNIT_TYPES, size=(MAX_ENTITY_NUM, ), dtype=torch.float), 'alliance': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), 'cargo_space_taken': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), 'build_progress': torch.rand(MAX_ENTITY_NUM), @@ -74,7 +74,7 @@ def scalar_info(): 'away_race': torch.randint(0, 4, size=(), dtype=torch.float), 'agent_statistics': torch.rand(10), 'time': torch.randint(0, 100, size=(), dtype=torch.float), - 'unit_counts_bow': torch.randint(0, 10, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), + 'unit_counts_bow': torch.randint(0, 10, size=(NUM_UNIT_TYPES, ), dtype=torch.float), 'beginning_build_order': torch.randint(0, 20, size=(20, ), dtype=torch.float), 'cumulative_stat': torch.randint(0, 2, size=(NUM_CUMULATIVE_STAT_ACTIONS, ), dtype=torch.float), 'last_delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.float), @@ -83,8 +83,8 @@ def scalar_info(): 'upgrades': torch.randint(0, 2, size=(NUM_UPGRADES, ), dtype=torch.float), 'beginning_order': torch.randint(0, NUM_BEGINNING_ORDER_ACTIONS, size=(20, ), dtype=torch.float), 'bo_location': torch.randint(0, 100 * 100, size=(20, ), dtype=torch.float), - 'unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), - 'enemy_unit_type_bool': torch.randint(0, 2, size=(ENTITY_TYPE_NUM, ), dtype=torch.float), + 'unit_type_bool': torch.randint(0, 2, size=(NUM_UNIT_TYPES, ), dtype=torch.float), + 'enemy_unit_type_bool': torch.randint(0, 2, size=(NUM_UNIT_TYPES, ), dtype=torch.float), 'unit_order_type': torch.randint(0, 2, size=(NUM_UNIT_MIX_ABILITIES, ), dtype=torch.float) } return data diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py index 7cae00865e..bb11787f79 100644 --- a/dizoo/distar/envs/meta.py +++ b/dizoo/distar/envs/meta.py @@ -1,7 +1,7 @@ MAX_DELAY = 128 MAX_ENTITY_NUM = 512 MAX_SELECTED_UNITS_NUM = 64 -ENTITY_TYPE_NUM = 260 +NUM_UNIT_TYPES = 260 NUM_ACTIONS = 327 NUM_UPGRADES = 90 NUM_CUMULATIVE_STAT_ACTIONS = 167 @@ -10,4 +10,3 @@ NUM_QUEUE_ACTION = 49 NUM_BUFFS = 50 NUM_ADDON = 9 -MAX_SELECTED_UNITS_NUM = 64 diff --git a/dizoo/distar/envs/stat.py b/dizoo/distar/envs/stat.py new file mode 100644 index 0000000000..cebc3a028c --- /dev/null +++ b/dizoo/distar/envs/stat.py @@ -0,0 +1,789 @@ +from collections import defaultdict +import torch +from .static_data import ACTIONS + + +class Stat(object): + + def __init__(self, race_id): + self._unit_num = defaultdict(int) + self._unit_num['max_unit_num'] = 0 + self._race_id = race_id + for k, v in unit_dict[race_id].items(): + self._unit_num[v] = 0 + self._action_success_count = defaultdict(int) + + def update(self, last_action_type, action_result, observation, game_step): + if action_result < 1: + return + if action_result == 1: + self.count_unit_num(last_action_type) + entity_info, entity_num = observation['entity_info'], observation['entity_num'] + try: + if (entity_info['alliance'][:entity_num] == 1).sum() > 10: + self.success_rate_calc(last_action_type, action_result) + except Exception as e: + print('ERROR_ stat.py', e, entity_info['alliance'], entity_num) + + def success_rate_calc(self, last_action_type, action_result): + action_name = ACTIONS[last_action_type]['name'] + error_msg = action_result_dict[action_result] + self._action_success_count['rate/{}/{}'.format(action_name, error_msg)] += 1 + self._action_success_count['rate/{}/{}'.format(action_name, 'count')] += 1 + + def get_stat_data(self): + data = {} + for k, v in self._unit_num.items(): + if k != 'max_unit_num': + data['units/' + k] = v / self._unit_num['max_unit_num'] + for k, v in self._action_success_count.items(): + action_type = k.split('rate/')[1].split('/')[0] + if 'count' in k: + data[k] = v + else: + data[k] = v / (self._action_success_count['rate/{}/{}'.format(action_type, 'count')] + 1e-6) + return data + + def count_unit_num(self, last_action_type): + unit_name = self.get_build_unit_name(last_action_type, self._race_id) + if not unit_name: + return + self._unit_num[unit_name] += 1 + self._unit_num['max_unit_num'] = max(self._unit_num[unit_name], self._unit_num['max_unit_num']) + + @staticmethod + def get_build_unit_name(action_type, race_id): + action_type = ACTIONS[action_type]['func_id'] + unit_name = unit_dict[race_id].get(action_type, False) + return unit_name + + def set_race_id(self, race_id: int): + self._race_id = race_id + + @property + def unit_num(self): + return self._unit_num + + +unit_dict = { + 'zerg': { + 383: 'BroodLord', + 391: 'Lurker', + 395: 'OverlordTransport', + 396: 'Overseer', + 400: 'Ravager', + 498: 'Baneling', + 501: 'Corruptor', + 503: 'Drone', + 507: 'Hydralisk', + 508: 'Infestor', + 514: 'Mutalisk', + 515: 'Overlord', + 516: 'Queen', + 519: 'Roach', + 522: 'SwarmHost', + 524: 'Ultralisk', + 526: 'Viper', + 528: 'Zergling' + }, + 'terran': { + 499: 'Banshee', + 500: 'Battlecruiser', + 502: 'Cyclone', + 504: 'Ghost', + 505: 'Hellbat', + 506: 'Hellion', + 509: 'Liberator', + 510: 'Marauder', + 511: 'Marine', + 512: 'Medivac', + 517: 'Raven', + 518: 'Reaper', + 520: 'SCV', + 521: 'SiegeTank', + 523: 'Thor', + 525: 'VikingFighter', + 527: 'WidowMine' + }, + 'protoss': { + 86: 'Archon', + 393: 'Mothership', + 54: 'Adept', + 56: 'Carrier', + 62: 'Colossus', + 52: 'DarkTemplar', + 166: 'Disruptor', + 51: 'HighTemplar', + 63: 'Immortal', + 513: 'MothershipCore', + 21: 'Mothership', + 61: 'Observer', + 58: 'Oracle', + 55: 'Phoenix', + 64: 'Probe', + 53: 'Sentry', + 50: 'Stalker', + 59: 'Tempest', + 57: 'VoidRay', + 76: 'Adept', + 74: 'DarkTemplar', + 73: 'HighTemplar', + 60: 'WarpPrism', + 75: 'Sentry', + 72: 'Stalker', + 71: 'Zealot', + 49: 'Zealot' + } +} + +cum_dict = [ + { + 'race': ['zerg', 'terran', 'protoss'], + 'name': 'no_op' + }, { + 'race': ['terran'], + 'name': 'Armory' + }, { + 'race': ['protoss'], + 'name': 'Assimilator' + }, { + 'race': ['zerg'], + 'name': 'BanelingNest' + }, { + 'race': ['terran'], + 'name': 'Barracks' + }, { + 'race': ['terran'], + 'name': 'CommandCenter' + }, { + 'race': ['protoss'], + 'name': 'CyberneticsCore' + }, { + 'race': ['protoss'], + 'name': 'DarkShrine' + }, { + 'race': ['terran'], + 'name': 'EngineeringBay' + }, { + 'race': ['zerg'], + 'name': 'EvolutionChamber' + }, { + 'race': ['zerg'], + 'name': 'Extractor' + }, { + 'race': ['terran'], + 'name': 'Factory' + }, { + 'race': ['protoss'], + 'name': 'FleetBeacon' + }, { + 'race': ['protoss'], + 'name': 'Forge' + }, { + 'race': ['terran'], + 'name': 'FusionCore' + }, { + 'race': ['protoss'], + 'name': 'Gateway' + }, { + 'race': ['terran'], + 'name': 'GhostAcademy' + }, { + 'race': ['zerg'], + 'name': 'Hatchery' + }, { + 'race': ['zerg'], + 'name': 'HydraliskDen' + }, { + 'race': ['zerg'], + 'name': 'InfestationPit' + }, { + 'race': ['protoss'], + 'name': 'Interceptors' + }, { + 'race': ['protoss'], + 'name': 'Interceptors' + }, { + 'race': ['zerg'], + 'name': 'LurkerDen' + }, { + 'race': ['protoss'], + 'name': 'Nexus' + }, { + 'race': ['terran'], + 'name': 'Nuke' + }, { + 'race': ['zerg'], + 'name': 'NydusNetwork' + }, { + 'race': ['zerg'], + 'name': 'NydusWorm' + }, { + 'race': ['terran'], + 'name': 'Reactor' + }, { + 'race': ['terran'], + 'name': 'Reactor' + }, { + 'race': ['terran'], + 'name': 'Refinery' + }, { + 'race': ['zerg'], + 'name': 'RoachWarren' + }, { + 'race': ['protoss'], + 'name': 'RoboticsBay' + }, { + 'race': ['protoss'], + 'name': 'RoboticsFacility' + }, { + 'race': ['terran'], + 'name': 'SensorTower' + }, { + 'race': ['zerg'], + 'name': 'SpawningPool' + }, { + 'race': ['zerg'], + 'name': 'Spire' + }, { + 'race': ['protoss'], + 'name': 'Stargate' + }, { + 'race': ['terran'], + 'name': 'Starport' + }, { + 'race': ['protoss'], + 'name': 'StasisTrap' + }, { + 'race': ['terran'], + 'name': 'TechLab' + }, { + 'race': ['terran'], + 'name': 'TechLab' + }, { + 'race': ['protoss'], + 'name': 'TemplarArchive' + }, { + 'race': ['protoss'], + 'name': 'TwilightCouncil' + }, { + 'race': ['zerg'], + 'name': 'UltraliskCavern' + }, { + 'race': ['protoss'], + 'name': 'Archon' + }, { + 'race': ['zerg'], + 'name': 'BroodLord' + }, { + 'race': ['zerg'], + 'name': 'GreaterSpire' + }, { + 'race': ['zerg'], + 'name': 'Hive' + }, { + 'race': ['zerg'], + 'name': 'Lair' + }, { + 'race': ['zerg'], + 'name': 'LurkerDen' + }, { + 'race': ['zerg'], + 'name': 'Lurker' + }, { + 'race': ['protoss'], + 'name': 'Mothership' + }, { + 'race': ['terran'], + 'name': 'OrbitalCommand' + }, { + 'race': ['zerg'], + 'name': 'OverlordTransport' + }, { + 'race': ['terran'], + 'name': 'PlanetaryFortress' + }, { + 'race': ['zerg'], + 'name': 'Ravager' + }, { + 'race': ['zerg'], + 'name': 'Research_AdaptiveTalons' + }, { + 'race': ['protoss'], + 'name': 'Research_AdeptResonatingGlaives' + }, { + 'race': ['terran'], + 'name': 'Research_AdvancedBallistics' + }, { + 'race': ['zerg'], + 'name': 'Research_AnabolicSynthesis' + }, { + 'race': ['terran'], + 'name': 'Research_BansheeCloakingField' + }, { + 'race': ['terran'], + 'name': 'Research_BansheeHyperflightRotors' + }, { + 'race': ['terran'], + 'name': 'Research_BattlecruiserWeaponRefit' + }, { + 'race': ['protoss'], + 'name': 'Research_Blink' + }, { + 'race': ['zerg'], + 'name': 'Research_Burrow' + }, { + 'race': ['zerg'], + 'name': 'Research_CentrifugalHooks' + }, { + 'race': ['protoss'], + 'name': 'Research_Charge' + }, { + 'race': ['zerg'], + 'name': 'Research_ChitinousPlating' + }, { + 'race': ['terran'], + 'name': 'Research_CombatShield' + }, { + 'race': ['terran'], + 'name': 'Research_ConcussiveShells' + }, { + 'race': ['terran'], + 'name': 'Research_CycloneLockOnDamage' + }, { + 'race': ['terran'], + 'name': 'Research_CycloneRapidFireLaunchers' + }, { + 'race': ['terran'], + 'name': 'Research_DrillingClaws' + }, { + 'race': ['terran'], + 'name': 'Research_EnhancedShockwaves' + }, { + 'race': ['protoss'], + 'name': 'Research_ExtendedThermalLance' + }, { + 'race': ['zerg'], + 'name': 'Research_GlialRegeneration' + }, { + 'race': ['protoss'], + 'name': 'Research_GraviticBooster' + }, { + 'race': ['protoss'], + 'name': 'Research_GraviticDrive' + }, { + 'race': ['zerg'], + 'name': 'Research_GroovedSpines' + }, { + 'race': ['terran'], + 'name': 'Research_HighCapacityFuelTanks' + }, { + 'race': ['terran'], + 'name': 'Research_HiSecAutoTracking' + }, { + 'race': ['terran'], + 'name': 'Research_InfernalPreigniter' + }, { + 'race': ['protoss'], + 'name': 'Research_InterceptorGravitonCatapult' + }, { + 'race': ['zerg'], + 'name': 'Research_MuscularAugments' + }, { + 'race': ['terran'], + 'name': 'Research_NeosteelFrame' + }, { + 'race': ['zerg'], + 'name': 'Research_NeuralParasite' + }, { + 'race': ['zerg'], + 'name': 'Research_PathogenGlands' + }, { + 'race': ['terran'], + 'name': 'Research_PersonalCloaking' + }, { + 'race': ['protoss'], + 'name': 'Research_PhoenixAnionPulseCrystals' + }, { + 'race': ['zerg'], + 'name': 'Research_PneumatizedCarapace' + }, { + 'race': ['protoss'], + 'name': 'Research_ProtossAirArmor' + }, { + 'race': ['protoss'], + 'name': 'Research_ProtossAirWeapons' + }, { + 'race': ['protoss'], + 'name': 'Research_ProtossGroundArmor' + }, { + 'race': ['protoss'], + 'name': 'Research_ProtossGroundWeapons' + }, { + 'race': ['protoss'], + 'name': 'Research_ProtossShields' + }, { + 'race': ['protoss'], + 'name': 'Research_PsiStorm' + }, { + 'race': ['terran'], + 'name': 'Research_RavenCorvidReactor' + }, { + 'race': ['terran'], + 'name': 'Research_RavenRecalibratedExplosives' + }, { + 'race': ['protoss'], + 'name': 'Research_ShadowStrike' + }, { + 'race': ['terran'], + 'name': 'Research_SmartServos' + }, { + 'race': ['terran'], + 'name': 'Research_Stimpack' + }, { + 'race': ['terran'], + 'name': 'Research_TerranInfantryArmor' + }, { + 'race': ['terran'], + 'name': 'Research_TerranInfantryWeapons' + }, { + 'race': ['terran'], + 'name': 'Research_TerranShipWeapons' + }, { + 'race': ['terran'], + 'name': 'Research_TerranStructureArmorUpgrade' + }, { + 'race': ['terran'], + 'name': 'Research_TerranVehicleAndShipPlating' + }, { + 'race': ['terran'], + 'name': 'Research_TerranVehicleWeapons' + }, { + 'race': ['zerg'], + 'name': 'Research_TunnelingClaws' + }, { + 'race': ['protoss'], + 'name': 'Research_WarpGate' + }, { + 'race': ['zerg'], + 'name': 'Research_ZergFlyerArmor' + }, { + 'race': ['zerg'], + 'name': 'Research_ZergFlyerAttack' + }, { + 'race': ['zerg'], + 'name': 'Research_ZergGroundArmor' + }, { + 'race': ['zerg'], + 'name': 'Research_ZerglingAdrenalGlands' + }, { + 'race': ['zerg'], + 'name': 'Research_ZerglingMetabolicBoost' + }, { + 'race': ['zerg'], + 'name': 'Research_ZergMeleeWeapons' + }, { + 'race': ['zerg'], + 'name': 'Research_ZergMissileWeapons' + }, { + 'race': ['protoss'], + 'name': 'Adept' + }, { + 'race': ['zerg'], + 'name': 'Baneling' + }, { + 'race': ['terran'], + 'name': 'Banshee' + }, { + 'race': ['terran'], + 'name': 'Battlecruiser' + }, { + 'race': ['protoss'], + 'name': 'Carrier' + }, { + 'race': ['protoss'], + 'name': 'Colossus' + }, { + 'race': ['zerg'], + 'name': 'Corruptor' + }, { + 'race': ['terran'], + 'name': 'Cyclone' + }, { + 'race': ['protoss'], + 'name': 'DarkTemplar' + }, { + 'race': ['protoss'], + 'name': 'Disruptor' + }, { + 'race': ['terran'], + 'name': 'Ghost' + }, { + 'race': ['terran'], + 'name': 'Hellbat' + }, { + 'race': ['terran'], + 'name': 'Hellion' + }, { + 'race': ['protoss'], + 'name': 'HighTemplar' + }, { + 'race': ['zerg'], + 'name': 'Hydralisk' + }, { + 'race': ['protoss'], + 'name': 'Immortal' + }, { + 'race': ['zerg'], + 'name': 'Infestor' + }, { + 'race': ['terran'], + 'name': 'Liberator' + }, { + 'race': ['terran'], + 'name': 'Marauder' + }, { + 'race': ['terran'], + 'name': 'Marine' + }, { + 'race': ['terran'], + 'name': 'Medivac' + }, { + 'race': ['protoss'], + 'name': 'MothershipCore' + }, { + 'race': ['protoss'], + 'name': 'Mothership' + }, { + 'race': ['zerg'], + 'name': 'Mutalisk' + }, { + 'race': ['protoss'], + 'name': 'Observer' + }, { + 'race': ['protoss'], + 'name': 'Oracle' + }, { + 'race': ['protoss'], + 'name': 'Phoenix' + }, { + 'race': ['zerg'], + 'name': 'Queen' + }, { + 'race': ['terran'], + 'name': 'Raven' + }, { + 'race': ['terran'], + 'name': 'Reaper' + }, { + 'race': ['zerg'], + 'name': 'Roach' + }, { + 'race': ['protoss'], + 'name': 'Sentry' + }, { + 'race': ['terran'], + 'name': 'SiegeTank' + }, { + 'race': ['protoss'], + 'name': 'Stalker' + }, { + 'race': ['zerg'], + 'name': 'SwarmHost' + }, { + 'race': ['protoss'], + 'name': 'Tempest' + }, { + 'race': ['terran'], + 'name': 'Thor' + }, { + 'race': ['zerg'], + 'name': 'Ultralisk' + }, { + 'race': ['terran'], + 'name': 'VikingFighter' + }, { + 'race': ['zerg'], + 'name': 'Viper' + }, { + 'race': ['protoss'], + 'name': 'VoidRay' + }, { + 'race': ['protoss'], + 'name': 'Adept' + }, { + 'race': ['protoss'], + 'name': 'DarkTemplar' + }, { + 'race': ['protoss'], + 'name': 'HighTemplar' + }, { + 'race': ['protoss'], + 'name': 'WarpPrism' + }, { + 'race': ['protoss'], + 'name': 'Sentry' + }, { + 'race': ['protoss'], + 'name': 'Stalker' + }, { + 'race': ['protoss'], + 'name': 'Zealot' + }, { + 'race': ['terran'], + 'name': 'WidowMine' + }, { + 'race': ['protoss'], + 'name': 'Zealot' + }, { + 'race': ['zerg'], + 'name': 'Zergling' + } +] + +action_result_dict = [ + '', 'Success', 'ERROR_NotSupported', 'ERROR_Error', 'ERROR_CantQueueThatOrder', 'ERROR_Retry', 'ERROR_Cooldown', + 'ERROR_QueueIsFull', 'ERROR_RallyQueueIsFull', 'ERROR_NotEnoughMinerals', 'ERROR_NotEnoughVespene', + 'ERROR_NotEnoughTerrazine', 'ERROR_NotEnoughCustom', 'ERROR_NotEnoughFood', 'ERROR_FoodUsageImpossible', + 'ERROR_NotEnoughLife', 'ERROR_NotEnoughShields', 'ERROR_NotEnoughEnergy', 'ERROR_LifeSuppressed', + 'ERROR_ShieldsSuppressed', 'ERROR_EnergySuppressed', 'ERROR_NotEnoughCharges', 'ERROR_CantAddMoreCharges', + 'ERROR_TooMuchMinerals', 'ERROR_TooMuchVespene', 'ERROR_TooMuchTerrazine', 'ERROR_TooMuchCustom', + 'ERROR_TooMuchFood', 'ERROR_TooMuchLife', 'ERROR_TooMuchShields', 'ERROR_TooMuchEnergy', + 'ERROR_MustTargetUnitWithLife', 'ERROR_MustTargetUnitWithShields', 'ERROR_MustTargetUnitWithEnergy', + 'ERROR_CantTrade', 'ERROR_CantSpend', 'ERROR_CantTargetThatUnit', 'ERROR_CouldntAllocateUnit', 'ERROR_UnitCantMove', + 'ERROR_TransportIsHoldingPosition', 'ERROR_BuildTechRequirementsNotMet', 'ERROR_CantFindPlacementLocation', + 'ERROR_CantBuildOnThat', 'ERROR_CantBuildTooCloseToDropOff', 'ERROR_CantBuildLocationInvalid', + 'ERROR_CantSeeBuildLocation', 'ERROR_CantBuildTooCloseToCreepSource', 'ERROR_CantBuildTooCloseToResources', + 'ERROR_CantBuildTooFarFromWater', 'ERROR_CantBuildTooFarFromCreepSource', + 'ERROR_CantBuildTooFarFromBuildPowerSource', 'ERROR_CantBuildOnDenseTerrain', + 'ERROR_CantTrainTooFarFromTrainPowerSource', 'ERROR_CantLandLocationInvalid', 'ERROR_CantSeeLandLocation', + 'ERROR_CantLandTooCloseToCreepSource', 'ERROR_CantLandTooCloseToResources', 'ERROR_CantLandTooFarFromWater', + 'ERROR_CantLandTooFarFromCreepSource', 'ERROR_CantLandTooFarFromBuildPowerSource', + 'ERROR_CantLandTooFarFromTrainPowerSource', 'ERROR_CantLandOnDenseTerrain', 'ERROR_AddOnTooFarFromBuilding', + 'ERROR_MustBuildRefineryFirst', 'ERROR_BuildingIsUnderConstruction', 'ERROR_CantFindDropOff', + 'ERROR_CantLoadOtherPlayersUnits', 'ERROR_NotEnoughRoomToLoadUnit', 'ERROR_CantUnloadUnitsThere', + 'ERROR_CantWarpInUnitsThere', 'ERROR_CantLoadImmobileUnits', 'ERROR_CantRechargeImmobileUnits', + 'ERROR_CantRechargeUnderConstructionUnits', 'ERROR_CantLoadThatUnit', 'ERROR_NoCargoToUnload', + 'ERROR_LoadAllNoTargetsFound', 'ERROR_NotWhileOccupied', 'ERROR_CantAttackWithoutAmmo', 'ERROR_CantHoldAnyMoreAmmo', + 'ERROR_TechRequirementsNotMet', 'ERROR_MustLockdownUnitFirst', 'ERROR_MustTargetUnit', 'ERROR_MustTargetInventory', + 'ERROR_MustTargetVisibleUnit', 'ERROR_MustTargetVisibleLocation', 'ERROR_MustTargetWalkableLocation', + 'ERROR_MustTargetPawnableUnit', 'ERROR_YouCantControlThatUnit', 'ERROR_YouCantIssueCommandsToThatUnit', + 'ERROR_MustTargetResources', 'ERROR_RequiresHealTarget', 'ERROR_RequiresRepairTarget', 'ERROR_NoItemsToDrop', + 'ERROR_CantHoldAnyMoreItems', 'ERROR_CantHoldThat', 'ERROR_TargetHasNoInventory', 'ERROR_CantDropThisItem', + 'ERROR_CantMoveThisItem', 'ERROR_CantPawnThisUnit', 'ERROR_MustTargetCaster', 'ERROR_CantTargetCaster', + 'ERROR_MustTargetOuter', 'ERROR_CantTargetOuter', 'ERROR_MustTargetYourOwnUnits', 'ERROR_CantTargetYourOwnUnits', + 'ERROR_MustTargetFriendlyUnits', 'ERROR_CantTargetFriendlyUnits', 'ERROR_MustTargetNeutralUnits', + 'ERROR_CantTargetNeutralUnits', 'ERROR_MustTargetEnemyUnits', 'ERROR_CantTargetEnemyUnits', + 'ERROR_MustTargetAirUnits', 'ERROR_CantTargetAirUnits', 'ERROR_MustTargetGroundUnits', + 'ERROR_CantTargetGroundUnits', 'ERROR_MustTargetStructures', 'ERROR_CantTargetStructures', + 'ERROR_MustTargetLightUnits', 'ERROR_CantTargetLightUnits', 'ERROR_MustTargetArmoredUnits', + 'ERROR_CantTargetArmoredUnits', 'ERROR_MustTargetBiologicalUnits', 'ERROR_CantTargetBiologicalUnits', + 'ERROR_MustTargetHeroicUnits', 'ERROR_CantTargetHeroicUnits', 'ERROR_MustTargetRoboticUnits', + 'ERROR_CantTargetRoboticUnits', 'ERROR_MustTargetMechanicalUnits', 'ERROR_CantTargetMechanicalUnits', + 'ERROR_MustTargetPsionicUnits', 'ERROR_CantTargetPsionicUnits', 'ERROR_MustTargetMassiveUnits', + 'ERROR_CantTargetMassiveUnits', 'ERROR_MustTargetMissile', 'ERROR_CantTargetMissile', 'ERROR_MustTargetWorkerUnits', + 'ERROR_CantTargetWorkerUnits', 'ERROR_MustTargetEnergyCapableUnits', 'ERROR_CantTargetEnergyCapableUnits', + 'ERROR_MustTargetShieldCapableUnits', 'ERROR_CantTargetShieldCapableUnits', 'ERROR_MustTargetFlyers', + 'ERROR_CantTargetFlyers', 'ERROR_MustTargetBuriedUnits', 'ERROR_CantTargetBuriedUnits', + 'ERROR_MustTargetCloakedUnits', 'ERROR_CantTargetCloakedUnits', 'ERROR_MustTargetUnitsInAStasisField', + 'ERROR_CantTargetUnitsInAStasisField', 'ERROR_MustTargetUnderConstructionUnits', + 'ERROR_CantTargetUnderConstructionUnits', 'ERROR_MustTargetDeadUnits', 'ERROR_CantTargetDeadUnits', + 'ERROR_MustTargetRevivableUnits', 'ERROR_CantTargetRevivableUnits', 'ERROR_MustTargetHiddenUnits', + 'ERROR_CantTargetHiddenUnits', 'ERROR_CantRechargeOtherPlayersUnits', 'ERROR_MustTargetHallucinations', + 'ERROR_CantTargetHallucinations', 'ERROR_MustTargetInvulnerableUnits', 'ERROR_CantTargetInvulnerableUnits', + 'ERROR_MustTargetDetectedUnits', 'ERROR_CantTargetDetectedUnits', 'ERROR_CantTargetUnitWithEnergy', + 'ERROR_CantTargetUnitWithShields', 'ERROR_MustTargetUncommandableUnits', 'ERROR_CantTargetUncommandableUnits', + 'ERROR_MustTargetPreventDefeatUnits', 'ERROR_CantTargetPreventDefeatUnits', 'ERROR_MustTargetPreventRevealUnits', + 'ERROR_CantTargetPreventRevealUnits', 'ERROR_MustTargetPassiveUnits', 'ERROR_CantTargetPassiveUnits', + 'ERROR_MustTargetStunnedUnits', 'ERROR_CantTargetStunnedUnits', 'ERROR_MustTargetSummonedUnits', + 'ERROR_CantTargetSummonedUnits', 'ERROR_MustTargetUser1', 'ERROR_CantTargetUser1', + 'ERROR_MustTargetUnstoppableUnits', 'ERROR_CantTargetUnstoppableUnits', 'ERROR_MustTargetResistantUnits', + 'ERROR_CantTargetResistantUnits', 'ERROR_MustTargetDazedUnits', 'ERROR_CantTargetDazedUnits', 'ERROR_CantLockdown', + 'ERROR_CantMindControl', 'ERROR_MustTargetDestructibles', 'ERROR_CantTargetDestructibles', 'ERROR_MustTargetItems', + 'ERROR_CantTargetItems', 'ERROR_NoCalldownAvailable', 'ERROR_WaypointListFull', 'ERROR_MustTargetRace', + 'ERROR_CantTargetRace', 'ERROR_MustTargetSimilarUnits', 'ERROR_CantTargetSimilarUnits', + 'ERROR_CantFindEnoughTargets', 'ERROR_AlreadySpawningLarva', 'ERROR_CantTargetExhaustedResources', + 'ERROR_CantUseMinimap', 'ERROR_CantUseInfoPanel', 'ERROR_OrderQueueIsFull', 'ERROR_CantHarvestThatResource', + 'ERROR_HarvestersNotRequired', 'ERROR_AlreadyTargeted', 'ERROR_CantAttackWeaponsDisabled', + 'ERROR_CouldntReachTarget', 'ERROR_TargetIsOutOfRange', 'ERROR_TargetIsTooClose', 'ERROR_TargetIsOutOfArc', + 'ERROR_CantFindTeleportLocation', 'ERROR_InvalidItemClass', 'ERROR_CantFindCancelOrder' +] +NUM_ACTION_RESULT = 214 + +ACTION_RACE_MASK = { + 'zerg': torch.tensor( + [ + False, False, True, True, True, True, False, False, True, True, True, True, False, False, False, False, + True, False, False, False, True, False, False, False, True, True, False, False, False, False, False, False, + True, True, True, False, False, True, False, False, False, True, True, False, False, False, False, False, + True, False, False, False, False, True, True, True, True, False, False, False, False, False, False, False, + False, True, True, True, True, True, True, True, False, False, False, True, False, False, False, False, + True, False, False, False, False, False, True, True, False, False, True, False, False, True, True, False, + False, False, False, False, False, False, True, True, False, False, False, False, False, True, False, False, + True, False, False, True, False, False, False, False, False, False, False, False, False, True, True, True, + True, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, + False, False, False, False, False, False, False, False, False, False, True, True, True, False, False, False, + True, False, True, False, True, False, False, True, True, False, False, True, True, False, False, False, + True, True, True, True, False, True, True, False, False, False, False, False, False, False, True, False, + False, False, False, False, False, True, True, True, True, True, True, True, True, True, False, False, True, + False, False, False, False, True, True, False, True, False, False, False, False, False, False, False, True, + False, False, True, False, False, False, False, True, False, True, True, False, False, True, False, False, + False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, + True, False, True, True, True, True, True, True, True, True, True, True, False, True, False, False, False, + False, True, False, False, False, True, False, False, False, False, True, False, True, False, False, False, + False, False, False, True, False, False, True, False, False, True, False, False, True, False, False, False, + False, True, False, False, True, False, True, False, False, False, False, False, False, False, False, False, + False, True, True, True, True, True + ] + ), + 'terran': torch.tensor( + [ + False, False, True, True, False, False, True, True, False, False, True, True, False, False, True, False, + False, True, True, True, False, False, False, True, False, False, True, False, False, True, False, True, + False, False, False, False, False, False, True, False, True, False, False, False, False, True, True, True, + False, False, False, True, False, False, False, False, False, False, True, False, True, True, True, False, + False, False, True, True, True, True, True, False, False, True, True, False, False, False, True, True, + False, False, False, False, False, False, False, False, True, True, False, False, False, False, False, True, + False, False, True, True, False, False, False, False, True, True, True, True, True, False, False, True, + False, True, False, False, False, False, True, True, True, False, False, True, True, False, False, False, + True, True, True, True, False, False, False, False, True, True, True, True, False, False, False, False, + False, False, False, False, False, False, False, False, False, True, True, True, True, True, True, True, + True, False, False, False, False, True, True, False, False, True, True, False, False, False, False, True, + False, False, False, False, True, False, False, True, True, True, False, True, True, True, False, True, + True, False, False, False, False, True, True, True, True, True, True, True, True, False, False, True, False, + True, True, True, False, False, False, False, False, True, True, True, True, True, True, False, False, + False, False, False, True, True, True, False, False, True, False, False, True, False, False, False, False, + False, False, False, False, True, True, False, True, True, True, True, True, True, True, True, False, False, + False, False, False, False, False, False, False, True, True, True, False, False, True, True, False, False, + False, True, False, False, False, True, True, True, False, False, False, False, True, True, True, True, + False, False, False, False, False, False, False, False, False, True, True, False, True, False, True, False, + False, False, True, False, True, False, False, False, False, False, False, False, False, False, True, False, + False, True, True, True, True + ] + ), + 'protoss': torch.tensor( + [ + False, False, True, True, False, False, False, False, False, False, False, False, True, True, False, True, + False, False, False, False, False, True, True, False, False, False, False, True, True, False, True, False, + False, False, False, True, True, False, False, True, False, False, False, True, True, False, False, False, + False, True, True, False, True, False, False, False, False, True, False, True, False, False, False, True, + True, False, False, False, False, True, True, False, True, False, False, False, True, True, False, False, + False, True, True, True, True, True, False, False, False, False, False, True, True, False, False, False, + True, True, False, False, True, True, False, False, False, False, False, False, False, False, True, False, + False, False, True, False, True, True, False, False, False, True, True, False, False, False, False, False, + True, False, False, False, True, False, False, True, False, False, False, False, True, True, True, True, + True, True, True, True, True, True, True, True, True, False, True, True, True, False, False, False, True, + True, False, True, False, False, False, False, False, False, False, False, False, True, True, False, False, + False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, + False, True, True, True, True, True, True, True, True, True, True, True, True, False, True, False, False, + False, False, False, True, False, False, True, False, False, False, False, False, False, False, True, False, + True, True, False, False, False, False, True, False, False, False, False, False, True, False, True, True, + True, True, True, True, False, False, True, False, False, False, False, False, False, False, False, False, + True, False, False, False, False, False, False, False, True, True, True, True, False, False, False, True, + True, False, False, True, True, False, False, False, False, True, False, True, False, False, False, False, + False, True, True, False, True, True, False, True, True, False, False, False, False, False, True, False, + True, False, True, False, False, False, False, True, True, True, True, True, True, True, True, False, True, + False, True, True, False, True + ] + ) +} diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index dd223d714a..7a0dba799a 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -2,7 +2,6 @@ from easydict import EasyDict import os.path as osp import torch -import torch.nn.functional as F from torch.optim import Adam from ding.model import model_wrap @@ -11,64 +10,10 @@ from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ upgo_data, upgo_error from ding.utils import EasyTimer +from ding.utils.data import default_collate, default_decollate from dizoo.distar.model import Model -from .utils import collate_fn_learn - -EPS = 1e-9 - - -def entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, mask, head_weights_dict): - total_entropy_loss = 0. - entropy_dict = {} - for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: - ent = -target_policy_probs_dict[head_type] * target_policy_log_probs_dict[head_type] - if head_type == 'selected_units': - ent = ent.sum(dim=-1) / ( - EPS + torch.log(mask['selected_units_logits_mask'].float().sum(dim=-1) + 1).unsqueeze(-1) - ) # normalize - ent = (ent * mask['selected_units_mask']).sum(-1) - ent = ent.div(mask['selected_units_mask'].sum(-1) + EPS) - elif head_type == 'target_unit': - # normalize by unit - ent = ent.sum(dim=-1) / (EPS + torch.log(mask['target_units_logits_mask'].float().sum(dim=-1) + 1)) - else: - ent = ent.sum(dim=-1) / torch.log(torch.FloatTensor([ent.shape[-1]]).to(ent.device)) - if head_type not in ['action_type', 'delay']: - ent = ent * mask['actions_mask'][head_type] - entropy = ent.mean() - entropy_dict['entropy/' + head_type] = entropy.item() - total_entropy_loss += (-entropy * head_weights_dict[head_type]) - return total_entropy_loss, entropy_dict - - -def kl_error( - target_policy_log_probs_dict, teacher_policy_logits_dict, mask, game_steps, action_type_kl_steps, head_weights_dict -): - total_kl_loss = 0. - kl_loss_dict = {} - - for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: - target_policy_log_probs = target_policy_log_probs_dict[head_type] - teacher_policy_logits = teacher_policy_logits_dict[head_type] - - teacher_policy_log_probs = F.log_softmax(teacher_policy_logits, dim=-1) - teacher_policy_probs = torch.exp(teacher_policy_log_probs) - kl = teacher_policy_probs * (teacher_policy_log_probs - target_policy_log_probs) - - kl = kl.sum(dim=-1) - if head_type == 'selected_units': - kl = (kl * mask['selected_units_mask']).sum(-1) - if head_type not in ['action_type', 'delay']: - kl = kl * mask['actions_mask'][head_type] - if head_type == 'action_type': - flag = game_steps < action_type_kl_steps - action_type_kl = kl * flag - action_type_kl_loss = action_type_kl.mean() - kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() - kl_loss = kl.mean() - total_kl_loss += (kl_loss * head_weights_dict[head_type]) - kl_loss_dict['kl/' + head_type] = kl_loss.item() - return total_kl_loss, action_type_kl_loss, kl_loss_dict +from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, Stat +from .utils import collate_fn_learn, kl_error, entropy_error class DIStarPolicy(Policy): @@ -78,6 +23,7 @@ class DIStarPolicy(Policy): cuda=True, learning_rate=1e-5, model=dict(), + # learn learn=dict(multi_gpu=False, ), loss_weights=dict( baseline=dict( @@ -156,7 +102,12 @@ class DIStarPolicy(Policy): battle=0.997, ), ), - grad_clip=dict(threshold=1.0, ) + grad_clip=dict(threshold=1.0, ), + # collect + use_value_feature=True, # whether to use value feature, this must be False when play against bot + zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z + zero_z_value=1, + extra_units=True, # selcet extra units if selected units exceed 64 ) def _create_model( @@ -170,6 +121,8 @@ def _create_model( field = enable_field[0] if field == 'learn': return Model(self._cfg.model, use_value_network=True) + elif field == 'collect': # disable value network + return Model(self._cfg.model) else: raise KeyError("invalid policy mode: {}".format(field)) @@ -398,13 +351,137 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: self.optimizer.load_state_dict(_state_dict['optimizer']) def _init_collect(self): - pass + self.collect_model = model_wrap(self._model, 'base') + self._reset_collect() + + def _reset_collect(self, env_id=0): + self.stat = Stat('zerg') # TODO + self.target_z_loop = 43200 # TODO + self.exceed_loop_flag = False + self.hidden_state = None + self.last_action_type = torch.tensor(0, dtype=torch.long) + self.last_delay = torch.tensor(0, dtype=torch.long) + self.last_queued = torch.tensor(0, dtype=torch.long) + self.last_selected_unit_tags = None + self.last_targeted_unit_tag = None + self.last_location = None # [x, y] + self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) + + self.target_building_order = None # TODO + self.target_bo_location = None + self.target_cumulative_stat = None + + self.map_size = None # TODO def _forward_collect(self, data): - pass + game_info = data.pop('game_info') + obs = self._data_preprocess_collect(data, game_info) + obs = default_collate([obs]) + if self._cfg.cuda: + obs = to_device(obs, self._device) - def _process_transition(self): - pass + with torch.no_grad(): + policy_output = self.collect_model.compute_logp_action(**obs) + + if self._cfg.cuda: + policy_output = to_device(policy_output, self._device) + policy_output = default_decollate(policy_output)[0] + policy_output = self._data_postprocess_collect(policy_output, game_info) + return policy_output + + def _data_preprocess_collect(self, data, game_info): + transform_obs = None + if self._cfg.use_value_feature: + obs = transform_obs(data['raw_obs'], opponent_obs=data['opponent_obs']) + else: + raise NotImplementedError + + game_step = game_info['game_loop'] + if self._cfg.zero_z_exceed_loop and game_step > self._target_z_loop: + self._exceed_loop_flag = True + + last_selected_units = torch.zeros(obs['entity_num'], dtype=torch.int8) + last_targeted_unit = torch.zeros(obs['entity_num'], dtype=torch.int8) + tags = game_info['tags'] + if self.last_selected_unit_tags is not None: + for t in self.last_selected_unit_tags: + if t in tags: + last_selected_units[tags.index(t)] = 1 + if self.last_targeted_unit_tag is None: + if self.last_targeted_unit_tag in tags: + last_targeted_unit[tags.index(self.last_targeted_unit_tag)] = 1 + obs['entity_info']['last_selected_units'] = last_selected_units + obs['entity_info']['last_targeted_unit'] = last_targeted_unit + + obs['hidden_state'] = self.hidden_state + + obs['scalar_info']['last_action_type'] = self.last_action_type + obs['scalar_info']['last_delay'] = self.last_delay + obs['scalar_info']['last_queued'] = self.last_queued + obs['scalar_info']['enemy_unit_type_bool'] = ( + self.enemy_unit_type_bool | obs['scalar_info']['enemy_unit_type_bool'] + ).to(torch.uint8) + obs['scalar_info']['beginning_order'] = self.target_building_order * (~self.exceed_loop_flag) + obs['scalar_info']['bo_location'] = self.target_bo_location * (~self.exceed_loop_flag) + if self.exceed_loop_flag: + obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value + else: + obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat + + # update stat + self.stat.update(self.last_action_type, data['action_result'][0], obs, game_step) + return obs + + def _data_postprocess_collect(self, data, game_info): + self.hidden_state = data['hidden_state'] + + self.last_action_type = data['action_info']['action_type'] + self.last_delay = data['action_info']['delay'] + self.last_queued = data['action_info']['queued'] + action_type = self.last_action_type.item() + action_attr = ACTIONS[action_type] + + # transform into env format action + tags = game_info['tags'] + raw_action = {} + raw_action['func_id'] = action_attr['func_id'] + raw_action['skip_steps'] = self.last_delay.item() + raw_action['queued'] = self.queued.item() + + unit_tags = [] + for i in range(data['selected_units_num'] - 1): # remove end flag + unit_tags.append(tags[data['action_info']['selected_units'][i].item()]) + if self._cfg.extra_units: + extra_units = torch.nonzero(data['extra_units']).squeeze(dim=1).tolist() + for unit_index in extra_units: + unit_tags.append(tags[unit_index]) + raw_action['unit_tags'] = unit_tags + if action_attr['selected_units']: + self.last_selected_unit_tags = unit_tags + else: + self.last_selected_unit_tags = None + + raw_action['target_unit_tag'] = tags[data['action_info']['target_unit'].item()] + if action_attr['target_unit']: + self.last_targeted_unit_tag = raw_action['target_unit_tag'] + else: + self.last_targeted_unit_tag = None + + x = data['action_info']['target_location'].item() % self.map_size.x + y = data['action_info']['target_location'].item() // self.map_size.x + inverse_y = max(self.map_size.y - y, 0) + raw_action['location'] = (x, inverse_y) + self.last_location = data['action_info']['target_location'] + + data['action'] = raw_action + + return data + + def _process_transition(self, obs, policy_output, timestep): + return { + 'obs': obs, + 'action': policy_output['action_info'], + } def _get_train_sample(self): pass diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py index f0581bc210..b503323c6a 100644 --- a/dizoo/distar/policy/utils.py +++ b/dizoo/distar/policy/utils.py @@ -1,9 +1,11 @@ import torch +import torch.nn.functional as F from ding.torch_utils import flatten, sequence_mask from ding.utils.data import default_collate from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM MASK_INF = -1e9 +EPS = 1e-9 def padding_entity_info(traj_data, max_entity_num): @@ -88,3 +90,57 @@ def collate_fn_learn(traj_batch): new_data['batch_size'] = batch_size new_data['unroll_len'] = unroll_len return new_data + + +def entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, mask, head_weights_dict): + total_entropy_loss = 0. + entropy_dict = {} + for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: + ent = -target_policy_probs_dict[head_type] * target_policy_log_probs_dict[head_type] + if head_type == 'selected_units': + ent = ent.sum(dim=-1) / ( + EPS + torch.log(mask['selected_units_logits_mask'].float().sum(dim=-1) + 1).unsqueeze(-1) + ) # normalize + ent = (ent * mask['selected_units_mask']).sum(-1) + ent = ent.div(mask['selected_units_mask'].sum(-1) + EPS) + elif head_type == 'target_unit': + # normalize by unit + ent = ent.sum(dim=-1) / (EPS + torch.log(mask['target_units_logits_mask'].float().sum(dim=-1) + 1)) + else: + ent = ent.sum(dim=-1) / torch.log(torch.FloatTensor([ent.shape[-1]]).to(ent.device)) + if head_type not in ['action_type', 'delay']: + ent = ent * mask['actions_mask'][head_type] + entropy = ent.mean() + entropy_dict['entropy/' + head_type] = entropy.item() + total_entropy_loss += (-entropy * head_weights_dict[head_type]) + return total_entropy_loss, entropy_dict + + +def kl_error( + target_policy_log_probs_dict, teacher_policy_logits_dict, mask, game_steps, action_type_kl_steps, head_weights_dict +): + total_kl_loss = 0. + kl_loss_dict = {} + + for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: + target_policy_log_probs = target_policy_log_probs_dict[head_type] + teacher_policy_logits = teacher_policy_logits_dict[head_type] + + teacher_policy_log_probs = F.log_softmax(teacher_policy_logits, dim=-1) + teacher_policy_probs = torch.exp(teacher_policy_log_probs) + kl = teacher_policy_probs * (teacher_policy_log_probs - target_policy_log_probs) + + kl = kl.sum(dim=-1) + if head_type == 'selected_units': + kl = (kl * mask['selected_units_mask']).sum(-1) + if head_type not in ['action_type', 'delay']: + kl = kl * mask['actions_mask'][head_type] + if head_type == 'action_type': + flag = game_steps < action_type_kl_steps + action_type_kl = kl * flag + action_type_kl_loss = action_type_kl.mean() + kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() + kl_loss = kl.mean() + total_kl_loss += (kl_loss * head_weights_dict[head_type]) + kl_loss_dict['kl/' + head_type] = kl_loss.item() + return total_kl_loss, action_type_kl_loss, kl_loss_dict From d467140e58a7319cc3046ac6c9f17ec1e0e542b0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 23:10:34 +0800 Subject: [PATCH 140/229] change init to make test_pipeline runnable --- ding/rl_utils/__init__.py | 2 +- ding/torch_utils/network/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/rl_utils/__init__.py b/ding/rl_utils/__init__.py index a4c96bd566..f0eb990a52 100644 --- a/ding/rl_utils/__init__.py +++ b/ding/rl_utils/__init__.py @@ -13,7 +13,7 @@ q_nstep_sql_td_error, dqfd_nstep_td_error, dqfd_nstep_td_data, q_v_1step_td_error, q_v_1step_td_data,\ dqfd_nstep_td_error_with_rescale, discount_cumsum from .vtrace import vtrace_loss, compute_importance_weights -from .upgo import upgo_loss +from .upgo import upgo_data, upgo_error from .adder import get_gae, get_gae_with_default_last_value, get_nstep_return_data, get_train_sample from .value_rescale import value_transform, value_inv_transform from .vtrace import vtrace_data, vtrace_error, vtrace_loss, vtrace_data_with_rho, vtrace_error_with_rho, \ diff --git a/ding/torch_utils/network/__init__.py b/ding/torch_utils/network/__init__.py index 03197bf0f7..56926e7180 100644 --- a/ding/torch_utils/network/__init__.py +++ b/ding/torch_utils/network/__init__.py @@ -1,7 +1,7 @@ from .activation import build_activation, Swish from .res_block import ResBlock, ResFCBlock, GatedConvResBlock from .nn_module import fc_block, conv2d_block, one_hot, deconv2d_block, BilinearUpsample, NearestUpsample, \ - binary_encode, NoiseLinearLayer, noise_block, MLP, Flatten, normed_linear, normed_conv2d + binary_encode, NoiseLinearLayer, noise_block, MLP, Flatten, normed_linear, normed_conv2d, AttentionPool from .normalization import build_normalization from .rnn import get_lstm, sequence_mask from .soft_argmax import SoftArgmax From 7ea23f67a302d3850c8b222efdb381f4182921d5 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 21 Jun 2022 23:13:05 +0800 Subject: [PATCH 141/229] adjust league_learner but cannot run --- ding/framework/middleware/league_learner.py | 5 +++++ .../middleware/tests/test_league_learner.py | 19 +++++++++++++++++-- .../middleware/tests/test_league_pipeline.py | 2 +- dizoo/distar/config/distar_config.py | 11 ++++++----- 4 files changed, 29 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 679c3992d9..f0c172e776 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -39,6 +39,11 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: def _push_data(self, data: "ActorData"): print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) + + # for env_trajectories in data.train_data: + # for traj in env_trajectories.trajectories: + # print(len(traj)) + # self._cache.append(traj) self._cache.append(data.train_data) def __call__(self, ctx: "Context"): diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 07b7414800..2cea66a445 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -1,4 +1,5 @@ from copy import deepcopy +from dataclasses import dataclass from time import sleep import torch import pytest @@ -11,13 +12,15 @@ from ding.framework.task import task, Parallel from ding.framework.middleware import data_pusher,\ OffPolicyLearner, LeagueLearnerExchanger -from ding.framework.middleware.functional.actor_data import ActorData +from ding.framework.middleware.functional.actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy from ding.league.v2 import BaseLeague from dizoo.distar.envs.distar_env import DIStarEnv from dizoo.distar.envs import fake_rl_data_batch_with_last from distar.ctools.utils import read_config +import time +from typing import Any logging.getLogger().setLevel(logging.INFO) @@ -52,6 +55,12 @@ def _coordinator_mocker(ctx): return _coordinator_mocker +@dataclass +class TestActorData: + env_step: int + train_data: Any + + def actor_mocker(league): def _actor_mocker(ctx): @@ -59,8 +68,14 @@ def _actor_mocker(ctx): player = league.active_players[(task.router.node_id + 2) % n_players] print("actor player:", player.player_id) for _ in range(24): + # meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) + # data = fake_rl_data_batch_with_last() + # actor_data = ActorData(meta=ActorDataMeta, train_data=ActorEnvTrajectories(env_id=0, trajectories=[data])) + data = fake_rl_data_batch_with_last() - actor_data = ActorData(env_step=0, train_data=data) + actor_data = TestActorData(env_step=0, train_data=data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) sleep(9) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index ff772e29f9..3d067bfcef 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -88,7 +88,7 @@ def main(): task.use(data_pusher(cfg, buffer_)) task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) else: - task.use(StepLeagueActor(cfg, PrepareTest.env_fn, PrepareTest.collect_policy_fn)) + task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) task.run() diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index 575efd3260..0eec475ff7 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -5,14 +5,15 @@ 'env': { 'manager': { 'episode_num': 100000, - 'max_retry': 1, - 'retry_type': 'reset', + 'max_retry': 1000, + 'retry_type': 'renew', 'auto_reset': True, 'step_timeout': None, 'reset_timeout': None, 'retry_waiting_time': 0.1, 'cfg_type': 'BaseEnvManagerDict', - 'shared_memory': False + 'shared_memory': False, + 'return_original_data': True }, 'collector_env_num': 1, 'evaluator_env_num': 1, @@ -81,7 +82,7 @@ 'n_episode': 1, 'n_rollout_samples': 32, 'n_sample': 64, - 'unroll_len': 1 + 'unroll_len': 64 }, 'eval': { 'evaluator': { @@ -161,4 +162,4 @@ 'exp_name': 'league_demo', 'seed': 0 } -) \ No newline at end of file +) From 20d4c2b0f63531a7b904958f1551d39670994c1c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 22 Jun 2022 11:56:22 +0800 Subject: [PATCH 142/229] add notes in conference --- ding/framework/middleware/collector.py | 2 ++ .../middleware/functional/collector.py | 3 +++ ding/framework/middleware/league_actor.py | 3 ++- .../middleware/tests/league_config.py | 4 +-- .../middleware/tests/mock_for_test.py | 26 ++++++++++++++++++- dizoo/distar/config/distar_config.py | 4 +-- dizoo/distar/envs/distar_env.py | 4 +++ 7 files changed, 40 insertions(+), 6 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 08f5435c9c..4012ef698a 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -43,6 +43,7 @@ def __del__(self) -> None: self.env.close() def _update_policies(self, player_id_list) -> None: + # TODO(zms): update train_iter for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue @@ -120,6 +121,7 @@ def __del__(self) -> None: self.env.close() def _update_policies(self, player_id_list) -> None: + # TODO: 60 秒 没有更新 就阻塞,更新才返回 for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index af64f68dc7..fadcee92bd 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -59,6 +59,7 @@ def __init__(self, env_num: int, unroll_len: int) -> None: self._transitions = [deque() for _ in range(env_num)] self._done_episode = [deque() for _ in range(env_num)] self._unroll_len = unroll_len + # TODO(zms): last transition + 1 def get_env_trajectories(self, env_id: int, only_finished: bool = False): trajectories = [] @@ -85,6 +86,8 @@ def get_env_trajectories(self, env_id: int, only_finished: bool = False): trajectories += self._cut_trajectory_from_episode(self._transitions[env_id][0][:tail_idx]) self._transitions[env_id][0] = self._transitions[env_id][0][tail_idx:] + # 少于 64 直接删 + return trajectories def to_trajectories(self, only_finished: bool = False): diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index ec67c5c9b8..04dd8338b2 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -162,6 +162,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn + # TODO('self.unroll_len = self.cfg.policy.collect.unroll_len') self.unroll_len = self.cfg.policy.collect.get("unroll_len") or 0 self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} @@ -282,7 +283,7 @@ def __call__(self, ctx: "BattleContext"): if ctx.job_finish is True: print('we finish the job !') assert len(ctx.trajectories_list[0][0].trajectories) > 0 - + # TODO(zms): 判断是不是main_player if not job.is_eval and len(ctx.trajectories_list[0]) > 0: trajectories = ctx.trajectories_list[0] print('actor {}, {} envs send traj '.format(task.router.node_id, len(trajectories)), flush=True) diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py index 491b6215ee..7fea5fa746 100644 --- a/ding/framework/middleware/tests/league_config.py +++ b/ding/framework/middleware/tests/league_config.py @@ -79,9 +79,9 @@ 'discount_factor': 1.0, 'gae_lambda': 1.0, 'n_episode': 1, - 'n_rollout_samples': 32, + 'n_rollout_samples': 64, 'n_sample': 64, - 'unroll_len': 64 + 'unroll_len': 1 }, 'eval': { 'evaluator': { diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 821f444cb6..eb508ea8e8 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -237,7 +237,18 @@ def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs + # { + # env_id: { + # policy_id:{ + # 'raw_obs': + # 'opponent_obs': + # 'action_result': + # } + # } + # } + # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data + # 如果每个 actor 只有一个 env, 下面这部分代码可以全部去掉 new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) @@ -253,9 +264,19 @@ def _battle_inferencer(ctx: "BattleContext"): inference_output[env_id] = {} actions[env_id] = {} for policy_id, policy_obs in observations.items(): + # policy.forward output = ctx.current_policies[policy_id].forward(policy_obs) inference_output[env_id][policy_id] = output actions[env_id][policy_id] = output['action'] + # aciton[env_id][policy_id] = { + # 'func_id': func_id, + # 'skip_steps': random.randint(0, MAX_DELAY - 1), + # # 'skip_steps': 8, + # 'queued': random.randint(0, 1), + # 'unit_tags': unit_tags, + # 'target_unit_tag': target_unit_tag, + # 'location': (random.randint(0, SPATIAL_SIZE[0] - 1), random.randint(0, SPATIAL_SIZE[1] - 1)) + # } ctx.inference_output = inference_output ctx.actions = actions @@ -266,18 +287,21 @@ def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) - # for env_id, timestep in timesteps.items(): + # ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) # for env_id, timestep in timesteps.items(): # TODO(zms): make sure a standard + # 这里 timestep 是 一个 env_num 长的 list,但是每次step真的会返回所有 env 的 timestep 吗?(需要确认)是就用 dict,否就用 list for env_id, timestep in enumerate(timesteps): if timestep.info.get('abnormal'): # TODO(zms): cannot get exact env_step of a episode because for each observation, # in most cases only one of two policies has a obs. # ctx.total_envstep_count -= transitions_list[0].length(env_id) # ctx.env_step -= transitions_list[0].length(env_id) + + # TODO(zms): 如果要有available_env_id 的话,这里也要更新 for transitions in transitions_list: transitions.clear_newest_episode(env_id) continue diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index 0eec475ff7..ff54b36afa 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -80,9 +80,9 @@ 'discount_factor': 1.0, 'gae_lambda': 1.0, 'n_episode': 1, - 'n_rollout_samples': 32, + 'n_rollout_samples': 64, 'n_sample': 64, - 'unroll_len': 64 + 'unroll_len': 1 }, 'eval': { 'evaluator': { diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 1dbb7b50c7..cf78177401 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -23,6 +23,10 @@ def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) next_observations, reward, done = super(DIStarEnv, self).step(actions) + # next_observations 和 observations 格式一样 + # reward 是 list [policy reward 1, policy reard 2] + # done 是 一个 bool 值 + # TODO(zms): final_eval_reward 这局赢没赢 info = {} for policy_id in range(self._num_agents): info[policy_id] = {'result': None} From 2e7fb1a6889a77fde0c2961ad0bc755fb36b6170 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Wed, 22 Jun 2022 13:53:27 +0800 Subject: [PATCH 143/229] merge --- ding/example/distar.py | 4 +-- ding/framework/middleware/league_learner.py | 17 ++++++------- .../middleware/tests/test_league_learner.py | 25 +++++++------------ .../middleware/tests/test_league_pipeline.py | 14 +++++------ 4 files changed, 26 insertions(+), 34 deletions(-) diff --git a/ding/example/distar.py b/ding/example/distar.py index b7bae5fc36..de51043fbc 100644 --- a/ding/example/distar.py +++ b/ding/example/distar.py @@ -5,7 +5,7 @@ from ding.data import DequeBuffer from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerExchanger, data_pusher, OffPolicyLearner +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from ding.framework.task import task, Parallel from ding.league.v2 import BaseLeague @@ -74,7 +74,7 @@ def main(): buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) player = league.active_players[task.router.node_id % N_PLAYERS] policy = policy_fn() - task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) task.use(data_pusher(cfg, buffer_)) task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) else: diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index f0c172e776..53118f40c2 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -26,7 +26,7 @@ class LearnerModel: train_iter: int = 0 -class LeagueLearnerExchanger: +class LeagueLearnerCommunicator: def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: self.cfg = cfg @@ -38,16 +38,15 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) def _push_data(self, data: "ActorData"): - print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) - - # for env_trajectories in data.train_data: - # for traj in env_trajectories.trajectories: - # print(len(traj)) - # self._cache.append(traj) - self._cache.append(data.train_data) + for env_trajectories in data.train_data: + self._cache.extend(env_trajectories.trajectories) + # if isinstance(data.train_data, list): + # self._cache.extend(data.train_data) + # else: + # self._cache.append(data.train_data) def __call__(self, ctx: "Context"): - print("push data into the ctx") + print("Learner: push data into the ctx") ctx.trajectories = list(self._cache) self._cache.clear() sleep(1) diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 2cea66a445..087d31fbef 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -5,19 +5,18 @@ import pytest import logging -from ding.envs import BaseEnvManager from ding.data import DequeBuffer +from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework import EventEnum from ding.framework.task import task, Parallel -from ding.framework.middleware import data_pusher,\ - OffPolicyLearner, LeagueLearnerExchanger -from ding.framework.middleware.functional.actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories -from ding.framework.middleware.tests import cfg, MockLeague, MockLogger +from ding.framework.middleware import data_pusher, OffPolicyLearner, LeagueLearnerCommunicator +from ding.framework.middleware.functional.actor_data import ActorData from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy from ding.league.v2 import BaseLeague +from dizoo.distar.config import distar_cfg +from dizoo.distar.envs import get_fake_rl_trajectory from dizoo.distar.envs.distar_env import DIStarEnv -from dizoo.distar.envs import fake_rl_data_batch_with_last from distar.ctools.utils import read_config import time from typing import Any @@ -27,7 +26,7 @@ def prepare_test(): global cfg - cfg = deepcopy(cfg) + cfg = deepcopy(distar_cfg) env_cfg = read_config('./test_distar_config.yaml') def env_fn(): @@ -66,17 +65,11 @@ def actor_mocker(league): def _actor_mocker(ctx): n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] - print("actor player:", player.player_id) + print("Actor: actor player:", player.player_id) for _ in range(24): - # meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) - # data = fake_rl_data_batch_with_last() - # actor_data = ActorData(meta=ActorDataMeta, train_data=ActorEnvTrajectories(env_id=0, trajectories=[data])) - - data = fake_rl_data_batch_with_last() + data = get_fake_rl_trajectory() actor_data = TestActorData(env_step=0, train_data=data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) - - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) sleep(9) return _actor_mocker @@ -97,7 +90,7 @@ def _main(): print("League: n_players: ", n_players) player = league.active_players[task.router.node_id % n_players] policy = policy_fn() - task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) task.use(data_pusher(cfg, buffer_)) task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) task.run(max_step=30) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 3d067bfcef..5fe6d64817 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -6,15 +6,14 @@ from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.supervisor import ChildType from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, \ - LeagueLearnerExchanger, data_pusher, OffPolicyLearner +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar from ding.framework.task import task, Parallel from ding.league.v2 import BaseLeague from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, \ battle_inferencer_for_distar, battle_rolloutor_for_distar -from distar.ctools.utils import read_config from unittest.mock import patch env_cfg = dict( @@ -36,7 +35,6 @@ ), ) env_cfg = EasyDict(env_cfg) - cfg = deepcopy(distar_cfg) @@ -69,7 +67,6 @@ def collect_policy_fn(cls): def main(): logging.getLogger().setLevel(logging.INFO) - # cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = BaseLeague(cfg.policy.other.league) N_PLAYERS = len(league.active_players_ids) print("League: n_players =", N_PLAYERS) @@ -81,10 +78,13 @@ def main(): if task.router.node_id == 0: task.use(LeagueCoordinator(cfg, league)) elif task.router.node_id <= N_PLAYERS: - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + cfg.policy.collect.unroll_len = 1 player = league.active_players[task.router.node_id % N_PLAYERS] + + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) policy = PrepareTest.policy_fn() - task.use(LeagueLearnerExchanger(cfg, policy.learn_mode, player)) + + task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) task.use(data_pusher(cfg, buffer_)) task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) else: From eafdf9cd94c47aa6f1206331029234aa40befa7c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 22 Jun 2022 14:17:36 +0800 Subject: [PATCH 144/229] change commit position --- ding/framework/middleware/functional/collector.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index fadcee92bd..a4d12eb02e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -86,8 +86,6 @@ def get_env_trajectories(self, env_id: int, only_finished: bool = False): trajectories += self._cut_trajectory_from_episode(self._transitions[env_id][0][:tail_idx]) self._transitions[env_id][0] = self._transitions[env_id][0][tail_idx:] - # 少于 64 直接删 - return trajectories def to_trajectories(self, only_finished: bool = False): @@ -113,6 +111,7 @@ def _cut_trajectory_from_episode(self, episode: list): if num_tail_transitions > 0: trajectory = episode[-self._unroll_len:] if len(trajectory) < self._unroll_len: + # TODO(zms): 少于 64 直接删 initial_elements = [] for _ in range(self._unroll_len - len(trajectory)): initial_elements.append(trajectory[0]) From a0612436b30ae2ce6fdb172eccceaab972c1dfb0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 22 Jun 2022 15:33:27 +0800 Subject: [PATCH 145/229] add z infos --- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/envs/static_data.py | 6 ++ dizoo/distar/policy/distar_policy.py | 68 +++++++++++++++++-- dizoo/distar/policy/z_files/12D.json | 1 + dizoo/distar/policy/z_files/1758k.json | 1 + dizoo/distar/policy/z_files/3map.json | 1 + .../policy/z_files/7map_filter_spine.json | 1 + .../distar/policy/z_files/NewRepugnancy.json | 1 + dizoo/distar/policy/z_files/filter.json | 1 + dizoo/distar/policy/z_files/lurker.json | 1 + dizoo/distar/policy/z_files/mutalisk.json | 1 + dizoo/distar/policy/z_files/nydus.json | 1 + dizoo/distar/policy/z_files/perfect_z.json | 1 + dizoo/distar/policy/z_files/stairs.json | 1 + dizoo/distar/policy/z_files/worker_rush.json | 1 + 15 files changed, 81 insertions(+), 7 deletions(-) create mode 100644 dizoo/distar/policy/z_files/12D.json create mode 100644 dizoo/distar/policy/z_files/1758k.json create mode 100644 dizoo/distar/policy/z_files/3map.json create mode 100644 dizoo/distar/policy/z_files/7map_filter_spine.json create mode 100644 dizoo/distar/policy/z_files/NewRepugnancy.json create mode 100644 dizoo/distar/policy/z_files/filter.json create mode 100644 dizoo/distar/policy/z_files/lurker.json create mode 100644 dizoo/distar/policy/z_files/mutalisk.json create mode 100644 dizoo/distar/policy/z_files/nydus.json create mode 100644 dizoo/distar/policy/z_files/perfect_z.json create mode 100644 dizoo/distar/policy/z_files/stairs.json create mode 100644 dizoo/distar/policy/z_files/worker_rush.json diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index dd1dabfe48..a639510e3c 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,5 +1,5 @@ from .distar_env import DIStarEnv from .meta import * -from .static_data import BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS +from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS from .stat import Stat from .fake_data import get_fake_rl_trajectory, fake_rl_data_batch_with_last diff --git a/dizoo/distar/envs/static_data.py b/dizoo/distar/envs/static_data.py index e4ea003dc3..824497efae 100644 --- a/dizoo/distar/envs/static_data.py +++ b/dizoo/distar/envs/static_data.py @@ -3,6 +3,12 @@ import numpy as np from collections import defaultdict +RACE_DICT = { + 1: 'terran', + 2: 'zerg', + 3: 'protoss', + 4: 'random', +} ACTION_INFO_MASK = \ { diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 3101e69755..e200ab2dca 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -12,8 +12,13 @@ from ding.utils import EasyTimer from ding.utils.data import default_collate, default_decollate from dizoo.distar.model import Model -from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, Stat +from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, RACE_DICT, NUM_CUMULATIVE_STAT_ACTIONS, Stat from .utils import collate_fn_learn, kl_error, entropy_error +import os +import json +import random +from copy import deepcopy +from s2clientprotocol import sc2api_pb2 as sc_pb class DIStarPolicy(Policy): @@ -108,6 +113,7 @@ class DIStarPolicy(Policy): zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z zero_z_value=1, extra_units=True, # selcet extra units if selected units exceed 64 + z_path='7map_filter_spine.json' ) def _create_model( @@ -352,9 +358,12 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: def _init_collect(self): self.collect_model = model_wrap(self._model, 'base') + self.z_path = self._cfg.z_path + # TODO(zms): in _setup_agents, load state_dict to set up z_idx + self.z_idx = None self._reset_collect() - def _reset_collect(self, env_id=0): + def _reset_collect(self, game_info, obs, map_name='KingsCove', env_id=0): self.stat = Stat('zerg') # TODO self.target_z_loop = 43200 # TODO self.exceed_loop_flag = False @@ -366,12 +375,59 @@ def _reset_collect(self, env_id=0): self.last_targeted_unit_tag = None self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) + self.map_name = map_name + self.map_size = None # TODO + self.requested_races = { + info.player_id: info.race_requested + for info in game_info.player_info if info.type != sc_pb.Observer + } - self.target_building_order = None # TODO - self.target_bo_location = None - self.target_cumulative_stat = None + # init Z + raw_ob = obs['raw_obs'] + location = [] + for i in raw_ob.observation.raw_data.units: + if i.unit_type == 59 or i.unit_type == 18 or i.unit_type == 86: + location.append([i.pos.x, i.pos.y]) + assert len(location) == 1, 'no fog of war, check game version!' + self.born_location = deepcopy(location[0]) + born_location = location[0] + born_location[0] = int(born_location[0]) + # TODO(zms): map_size from Features + born_location[1] = int(self.map_size.y - born_location[1]) + born_location_str = str(born_location[0] + born_location[1] * 160) + self.z_path = os.path.join(os.path.dirname(__file__), 'lib', self.z_path) + with open(self.z_path, 'r') as f: + self.z_data = json.load(f) + z_data = self.z_data + + z_type = None + idx = None + raw_ob = obs['raw_obs'] + # TODO(zms): requested_races from Features + race = RACE_DICT[self.requested_races[raw_ob.observation.player_common.player_id]] + opponent_id = 1 if raw_ob.observation.player_common.player_id == 2 else 2 + opponent_race = RACE_DICT[self.requested_races[opponent_id]] + if race == opponent_race: + mix_race = race + else: + mix_race = race + opponent_race + if self.z_idx is not None: + idx, z_type = random.choice(self.z_idx[self.map_name][mix_race][born_location_str]) + z = z_data[self.map_name][mix_race][born_location_str][idx] + else: + z = random.choice(z_data[self.map_name][mix_race][born_location_str]) - self.map_size = None # TODO + if len(z) == 5: + self.target_building_order, target_cumulative_stat, bo_location, self._target_z_loop, z_type = z + else: + self.target_building_order, target_cumulative_stat, bo_location, self._target_z_loop = z + # TODO(zms): other attributes like use_bo_reward + self.target_building_order = torch.tensor(self.target_building_order, dtype=torch.long) + self.target_bo_location = torch.tensor(bo_location, dtype=torch.long) + self.target_cumulative_stat = torch.zeros(NUM_CUMULATIVE_STAT_ACTIONS, dtype=torch.float) + self.target_cumulative_stat.scatter_( + index=torch.tensor(target_cumulative_stat, dtype=torch.long), dim=0, value=1. + ) def _forward_collect(self, data): game_info = data.pop('game_info') diff --git a/dizoo/distar/policy/z_files/12D.json b/dizoo/distar/policy/z_files/12D.json new file mode 100644 index 0000000000..c1af4fc25f --- /dev/null +++ b/dizoo/distar/policy/z_files/12D.json @@ -0,0 +1 @@ +{"NewRepugnancy": {"zerg": {"16176": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 4934, 4934, 0, 4772, 0, 0, 0, 0, 0, 0, 0, 0], 3718], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3585], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124, 0, 0, 0, 0, 0], [3, 10, 34, 117, 143, 166], [15692, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4024], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3952], [[38, 18, 173, 173, 173, 150, 173, 150, 173, 173, 150, 11, 11, 10, 33, 10, 150, 10, 10, 10], [9, 10, 17, 30, 34, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 12347, 0, 12184, 12664, 11704], 5939], [[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[38, 18, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 54, 33, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [15851, 12496, 0, 0, 0, 0, 0, 15087, 12341, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0], 6607], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 11, 11, 10, 33, 11, 122, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12827, 0, 0, 0], 7122], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 33, 11, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 7705], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 150, 173, 10, 33, 173, 120, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16981, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 0], 7701], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750], [[11, 11, 38, 18, 173, 173, 173, 150, 120, 11, 3, 150, 150, 173, 124, 124, 18, 11, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 0, 15852, 12496, 0, 0, 0, 0, 0, 0, 16979, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8350], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 10, 118, 33, 11, 11, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 16011, 0, 0, 0, 0, 8334, 12661, 0, 0, 0, 12661, 0, 13452, 0, 0, 0, 0, 0, 0], 8009], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15377, 0, 0, 0, 0, 0], 9226], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 9629], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284], [[18, 38, 11, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 118, 150], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0], 9365], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 0, 0], 8957], [[18, 38, 11, 150, 150, 11, 11, 11, 150, 33, 18, 120, 11, 10, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16646, 0, 0, 0, 0, 0, 0, 0, 12830, 8334, 0, 0, 11869, 0, 0, 0, 0, 0, 0], 10057], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16967, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 0, 0, 0], 6653], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 38, 11, 18, 150, 173, 173, 150, 11, 150, 33, 33, 11, 120, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 15850, 0, 12496, 0, 0, 0, 0, 0, 0, 12984, 13613, 0, 0, 0, 0, 0, 0, 0, 0], 9988], [[18, 11, 38, 173, 173, 173, 173, 150, 41, 10, 10, 33, 11, 11, 122, 54, 10, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 13296, 11705, 11705, 12346, 0, 0, 0, 0, 12826, 8334, 0, 0], 10450], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 121, 11], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12668, 0, 0], 9425], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 173, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4155], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 15851, 0, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 17771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11024], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 10, 124, 124, 173, 11, 11], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 12505, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0], 8190], [[38, 18, 11, 173, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17773, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0], 10677], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10988], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 12346, 12186, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8423], [[38, 11, 18, 173, 173, 173, 150, 11, 150, 150, 10, 54, 33, 10, 10, 11, 122, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12829, 12506, 12506, 0, 0, 0, 0, 0], 9614], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 16980, 0, 0, 0, 0, 16341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15007], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 10, 82, 60, 18, 118], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12186, 0, 0, 12984, 0, 0, 15087, 0], 11924], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5043], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 33, 3, 153, 153, 153], [3, 10, 17, 19, 30, 34, 48, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 12966, 17775, 0, 0, 0], 14062], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 11, 120, 173, 3, 173, 18, 124, 124, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 8334, 0, 0, 12346], 6799], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 33, 10, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12828, 0, 0, 0, 0], 9349], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 173, 173, 150, 18, 173, 173, 173, 150, 150, 150, 54], [10, 17, 34, 48, 113, 143, 166], [12496, 0, 16010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 7503], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 150, 10, 173, 173, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 12278], [[38, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 121, 153, 18, 18, 173], [9, 10, 17, 30, 34, 48, 55, 111, 113, 114, 115, 143, 146, 166], [16010, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 15536, 8334, 0], 14420], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 15087, 11865, 0, 0, 0, 0, 0, 0, 12506, 0, 0, 0], 8774], [[18, 11, 38, 150, 150, 120, 150, 54, 173, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 19, 25, 26, 30, 34, 48, 64, 75, 107, 111, 113, 115, 132, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14010], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 54, 122, 11, 11, 33, 33, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 12345, 12829, 12506, 12183], 8528], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 41, 10, 54, 33, 11, 11, 122, 18, 150, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 89, 115, 130, 139, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 0, 11852, 11705, 0, 12185, 0, 0, 0, 15087, 0, 0], 14410], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 173, 10, 33, 10, 18, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12508, 12987, 15087, 0], 10194], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 3, 173, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 120, 18], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 7535], [[18, 11, 38, 18, 120, 150, 120, 150, 173, 173, 173, 173, 173, 173, 150, 173, 173, 10, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16807, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 12966], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907], [[18, 11, 38, 150, 150, 173, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16979, 0, 0, 0, 0, 0, 12501, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7122], [[38, 11, 173, 173, 173, 173, 173, 120, 150, 173, 173, 18, 150, 150, 18, 3, 10, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 8334, 16661, 11867, 12828, 0, 0], 8596], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 17776, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 8334, 12021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15766], [[18, 11, 38, 150, 150, 120, 173, 41, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 13136, 8334, 12025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6160], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7400], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 3324, 0, 0, 0, 4613, 4772, 0, 4774, 5097, 0, 0, 0, 0, 0, 0], 3487], [[18, 11, 38, 150, 150, 10, 173, 118, 18, 120, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 18095, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 17903], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[11, 18, 11, 38, 150, 150, 150, 54, 11, 10, 33, 11, 122, 82, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 11705, 12185, 0, 0, 0, 13452, 0, 0, 0, 0, 0], 10364], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 33, 11, 11, 11, 54, 122, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [16981, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11866, 12346, 0, 0, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 33, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 12346, 0], 9061], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 10, 153, 153, 153, 82, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146], [12496, 0, 16981, 0, 0, 0, 0, 0, 11705, 11705, 12986, 0, 0, 0, 12185, 0, 0, 0, 0, 8334], 16660], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 150, 3, 3, 173, 173, 173, 10, 18, 122, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12500, 11705, 0, 0, 0, 11705, 8334, 0, 0], 9159], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 10, 173, 173, 173, 173, 173, 173, 118, 11, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 15693, 0, 0, 0, 0, 0, 12986, 12346, 12506, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8370], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10558], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 173, 150, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12506], 7798], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 121, 18, 173, 173, 173, 173, 173, 173, 3, 3, 11], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 15696, 15536, 0], 7008], [[18, 11, 38, 150, 150, 120, 41, 41, 173, 173, 11, 173, 173, 41, 41, 41, 3, 71, 10, 18], [3, 9, 10, 17, 30, 34, 55, 64, 111, 113, 143, 146, 166], [12496, 0, 17142, 0, 0, 0, 13133, 12813, 0, 0, 0, 0, 0, 13299, 12980, 12501, 16184, 0, 12984, 8335], 9629], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 10, 10, 33, 118, 121, 120, 11, 11, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 111, 113, 114, 130, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 0], 11485], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 3, 3, 173, 173, 173, 150, 120, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 15062, 16501, 0, 0, 0, 0, 0, 0, 0, 12496], 14485], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16807, 16807, 0, 0, 0, 0, 8334, 12507, 0, 0, 0, 0, 0, 0, 0, 12026, 0, 0], 8322], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 173, 124, 124, 10, 10, 10, 11, 122], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 53, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [12496, 0, 17936, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 12668, 12668, 11867, 0, 0], 17375], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11642], [[18, 11, 38, 38, 150, 150, 173, 173, 150, 11, 120, 54, 33, 10, 10, 11, 11, 10, 122, 153], [9, 10, 17, 18, 19, 25, 26, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0, 12663, 0, 0], 25754], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 11705, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11135], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 11, 11, 11, 33, 33, 10, 27, 82, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11869, 11868, 12349, 13617, 0, 0], 19565], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 150, 11, 11, 150, 120, 10, 33, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 11282], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 10, 54, 33, 122, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [16011, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12829, 0, 15087], 19798], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 10, 121, 33, 120, 18, 11, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 12346, 12186, 0, 12828, 0, 8334, 0, 0, 0, 0], 9545], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 10, 150, 173, 173, 33, 118, 173, 173, 173, 173, 173, 173, 11, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16011, 0, 0, 8334, 11705, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16660], [[38, 11, 18, 150, 173, 120, 150, 10, 96, 18, 121, 11, 11, 33, 150, 54, 11, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 15087, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10430], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 150, 173, 173, 150, 33, 33, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 11867, 0, 0, 0], 10290], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 150, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 12506, 0, 0, 0, 0], 21568], [[38, 11, 11, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17611, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5300], [[38, 11, 18, 173, 173, 150, 173, 3, 173, 150, 120, 18, 33, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 139, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 15537, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0], 12475], [[38, 173, 173, 173, 173, 18, 11, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16500, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6048], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 121, 118], [3, 9, 10, 17, 30, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [12496, 0, 16343, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 17084], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 15698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8977], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17775, 0, 0, 0, 0, 0, 0, 17462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7947], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 120, 10, 118, 33, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12348, 0, 0], 13899], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 150, 10, 54, 33, 11, 11, 122, 18, 153, 153], [9, 10, 17, 18, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12507, 0, 0, 0, 8334, 0, 0], 10561], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10790], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865], 10402], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3623], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0, 0, 0], 11221], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 10, 33, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 16967, 0, 0, 0, 0, 0, 0, 0], 4397], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 10, 124, 173, 33, 122, 11, 11], [0, 3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 15376, 0, 0, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 11866, 0, 0, 12984, 0, 0, 0], 12429], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9511], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328], [[18, 11, 38, 38, 150, 150, 173, 173, 120, 150, 54, 10, 33, 10, 11, 11, 10, 10, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12986, 12346, 0, 0, 11866, 11867, 0, 0], 9570], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 173, 118, 11, 11, 33, 54, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0], 14724], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [16826, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 12024, 0, 0, 0], 9663], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 150, 120, 18, 10, 54, 11, 11, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 12346, 0, 0, 0], 11734], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[11, 38, 18, 173, 150, 120, 33, 173, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 17772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 8334, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6337], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 173, 118, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 6969], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6300], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16980, 16012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4495], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 11, 38, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 15534, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12857], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 10, 124, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 12186, 0, 0, 0, 0, 0, 0, 11212], 9832], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4008], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 34, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 16982, 0, 0, 0, 0, 0, 0, 0, 0], 5553], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11970], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 18, 173, 173, 3, 173, 150, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 15852, 0, 0, 0, 0, 0], 11260], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15533, 0, 0, 0, 0, 0, 12341, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9068], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 11864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10377], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3805], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 0, 0, 14735, 0, 0, 0, 0, 0, 0, 0, 0], 13135], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7676], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9650], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 54, 10, 11, 11, 121, 150, 11, 40, 40, 173, 173], [9, 10, 17, 18, 34, 35, 48, 110, 113, 114, 139, 143, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 11052, 11848, 0, 0], 11413], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 41, 120, 18, 173, 173, 10, 54, 11, 33], [9, 10, 17, 19, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 8334, 0, 0, 12828, 0, 0, 12347], 22952], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5747], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 173, 173, 173, 10, 33, 33, 33, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16806, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11868, 12829, 12829, 12829, 0], 7811], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5406], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 18, 173, 173, 173, 150, 39, 173, 150, 150, 39, 150, 11, 11, 33, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 3004, 0, 0, 0, 3004, 0, 0, 0, 11868, 11867, 12830, 0, 0, 0], 8596], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 17939, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 13984], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6923], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15532, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16026, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 12827, 0, 11705], 14875], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497], [[11, 38, 18, 120, 173, 173, 173, 173, 150, 150, 150, 10, 33, 10, 33, 173, 173, 173, 173, 0], [9, 10, 17, 30, 34, 113, 143, 166], [0, 17776, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 12185, 0, 0, 0, 0, 0], 5408], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 64, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 0, 16967, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20391], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 12681], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0], 5277], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 33, 33, 11, 11, 10, 10, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12986, 12986, 0, 0, 12346, 11866, 0, 0, 0, 0, 0], 12097], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10808], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 10, 10, 124, 11, 54, 122, 11, 96], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 12824, 12824, 0, 0, 0, 0, 0, 0], 12527], [[38, 11, 18, 173, 173, 173, 150, 10, 173, 121, 120, 150, 173, 173, 173, 173, 150, 18, 3, 150], [3, 9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 16341, 0], 7462], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705], 9861], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 10, 33, 10, 121, 118, 120, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [17288, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 12985, 12505, 11866, 0, 0, 0, 0, 0], 15366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 173, 173, 173, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 12185], 11773], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647], [[18, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [12496, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4730], [[38, 11, 11, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 39, 39, 39], [3, 9, 10, 17, 18, 22, 25, 26, 34, 35, 48, 50, 89, 110, 113, 117, 130, 139, 143, 166], [15692, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7012, 6692, 6692, 4611, 4774], 24126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4244], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16661, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 5203], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 150, 118, 173, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12984, 0], 8878], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16697], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 54], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 12665, 0, 0, 0], 16760], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12986, 0, 0], 18377], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 33, 10, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11705, 12345, 0, 0, 0, 12022, 11222, 0, 0], 12518], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 33, 10, 10, 11, 11, 54, 122, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 0, 8334, 0, 12984, 11705, 11705, 0, 0, 0, 0, 12185, 0, 12502, 0], 6415], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 150, 54, 10, 33, 11, 18], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12830, 11869, 0, 15087], 15698], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 114, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 12351], [[38, 18, 11, 150, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 33, 54, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 11867, 0, 12347, 12986], 10116], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[18, 18, 11, 38, 38, 150, 150, 120, 173, 173, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 12496, 0, 16166, 16006, 0, 0, 0, 0, 0, 8334, 0, 0, 16486, 0, 0, 0, 0, 0, 0], 5520], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 3, 150, 18, 54, 11, 40, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 139, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0, 12496, 0, 0, 16647, 0, 0], 16343], [[11, 18, 11, 38, 173, 173, 150, 173, 173, 150, 3, 3, 173, 173, 173, 10, 173, 0, 0, 0], [3, 9, 10, 17, 34, 143, 166], [0, 12496, 0, 16967, 0, 0, 0, 0, 0, 0, 15534, 15852, 0, 0, 0, 16978, 0, 0, 0, 0], 4672], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3803], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3795], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 3, 3, 10, 11, 11, 54, 33, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 11705, 11705, 15534, 0, 0, 0, 15698, 0], 13188], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5254], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 173, 173, 18, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 12496, 0, 0, 0, 0, 0, 0], 7077], [[11, 38, 18, 150, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4872], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 13452, 0, 0, 0, 0], 8060], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 18, 150, 150, 120, 10, 11, 118, 173, 173, 33, 173, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 0, 16981, 12028, 0, 0, 0, 12829, 0, 0, 0, 0, 13292, 0, 0, 0, 0, 0, 0, 0], 6386], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 122, 118, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 11867, 12987, 12507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8661], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 16661, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10138], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 150, 10, 10, 10, 10, 10, 10, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 12348, 11865, 11705, 12827, 0], 5180], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4456], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 173, 173, 173, 173, 122, 33, 150, 173, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 9647], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[18, 11, 38, 150, 150, 120, 173, 173, 150, 18, 150, 173, 173, 173, 173, 173, 173, 3, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0], 5194], [[18, 11, 38, 150, 173, 173, 150, 120, 3, 18, 173, 33, 173, 11, 11, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 12341, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0], 11299], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 33, 54, 122, 10, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 11868, 0, 0, 0, 0, 0, 0, 0], 10634], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[18, 38, 11, 18, 150, 150, 10, 33, 11, 118, 11, 120, 18, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 16981, 0, 12027, 0, 0, 12828, 13292, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0], 8691], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 64, 113, 114, 143, 146, 166], [12496, 0, 16981, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 0, 0], 12363], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 124, 124, 173, 173, 173, 173, 150, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7721], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 155, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15694, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4149], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16342, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11847, 0, 0, 0], 10725], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624], [[18, 11, 38, 150, 150, 120, 173, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 122, 71, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 173, 173, 173, 173, 173, 10, 33, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 16646, 0], 7433], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 150, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12419], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7223], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0], 6270], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 71, 10, 33, 10, 11, 11, 122, 10, 153, 153], [0, 9, 10, 17, 30, 34, 35, 48, 64, 75, 110, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12347, 12987, 0, 0, 0, 12664, 0, 0], 10284], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4303], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 54, 11, 33, 153, 153, 153, 27], [10, 17, 25, 26, 30, 34, 48, 55, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16646, 0, 0, 0, 14891], 7421], [[11, 38, 173, 173, 173, 173, 120, 173, 150, 173, 173, 3, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 16807, 0, 0, 0, 0, 0, 0, 0], 6749], [[11, 38, 18, 54, 173, 173, 11, 3, 150, 27, 150, 173, 173, 173, 124, 124, 124, 124, 173, 28], [3, 10, 17, 25, 26, 34, 48, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 16807, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154], 7560], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 124, 124, 122, 150, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16823, 17142, 0, 0, 0, 0, 8334, 12985, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0], 8792], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 150, 124, 124, 122, 173, 173, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12985, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12930], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 121, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 83, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14018], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6820], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 8334, 13449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15673], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 9120], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11783], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 10, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0], 11089], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 124, 10, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 8282], [[18, 11, 38, 38, 3, 150, 173, 173, 173, 173, 120, 54, 11, 173, 173, 173, 173, 120, 18, 27], [3, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [12496, 0, 16982, 16981, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 15050], 7344], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 18, 124, 150, 124, 124, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 8334, 12824, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0], 11986], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18924], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7951], [[38, 11, 18, 173, 173, 173, 150, 33, 71, 153, 153, 153, 153, 153, 54, 10, 10, 10, 10, 122], [9, 10, 17, 30, 34, 48, 64, 107, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 11705, 12986, 12506, 12183, 0], 7669], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 64, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334], 12350], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9634], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 16501, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0], 15872], [[11, 38, 173, 173, 173, 120, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 25, 26, 34, 35, 48, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11940], [[38, 11, 18, 150, 173, 120, 150, 18, 54, 33, 11, 11, 11, 153, 153, 82, 10, 10, 10, 153], [9, 10, 17, 30, 34, 48, 75, 113, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12024, 12504, 12984, 0], 5901], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 12185, 11705, 12826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6900], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 173, 173, 173, 10, 33, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 17772, 0], 8728], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 0, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9781], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17641], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 10, 121, 3, 124, 124, 0, 0], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 11865, 0, 0, 0, 0], 8302], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 120, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 0, 0], 12274], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 18, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16979, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4935], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 10, 150, 150, 33, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 11705, 0, 0, 12666, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8032], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 11, 11, 10, 33, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 12025, 12986, 0], 15776], [[18, 11, 38, 150, 150, 173, 120, 173, 33, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 15532, 0, 0, 0, 0, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9327], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 11, 54, 11, 33, 122, 11, 82, 10, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 8334, 0, 12341, 12985, 0, 0, 0, 11544, 0, 0, 0, 11055, 0, 0], 28933], [[11, 11, 11, 18, 38, 11, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 150, 18, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 0, 12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0], 4858], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 54, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 16981, 12496, 0, 0, 0, 0, 0, 16181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 173, 173, 173, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8209], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 11, 124], [3, 9, 10, 17, 30, 34, 48, 55, 65, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17876], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 18, 33, 10, 11, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 8334, 16806, 16166, 0, 0, 0, 0, 0], 9176], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 54, 11, 11, 11, 122, 40, 82, 153, 153, 153], [9, 10, 17, 18, 22, 25, 30, 34, 35, 48, 50, 55, 75, 83, 111, 115, 130, 139, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0], 18329], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 12496, 0], 11453], [[38, 18, 173, 173, 173, 173, 150, 11, 150, 150, 33, 33, 10, 54, 11, 11, 10, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 12347, 12986, 0, 0, 0, 11867, 0, 0, 0], 9534], [[11, 38, 18, 11, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 16660, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 120, 3, 173, 173, 18, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 17771, 0, 0, 15087, 0, 0, 0, 0], 6598], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15222, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13622], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 10, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 12985, 0, 0, 0, 0, 0, 0, 0], 7594], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3699], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33, 33, 10, 10, 150, 150, 150], [9, 10, 17, 30, 34, 143, 146, 166], [16823, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12829, 12189, 11866, 0, 0, 0], 5752], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 173, 124, 124, 173, 10, 122, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16824, 0, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9339], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 173, 173, 173, 10, 10, 10, 173, 173, 150, 11], [9, 10, 17, 30, 34, 48, 111, 113, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11705, 12186, 12666, 0, 0, 0, 0], 7539], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 18, 11, 11, 10, 54, 33, 33, 122, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 12829, 0, 11869, 11705, 0, 0], 15327], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9854], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5486], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12024, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0], 9837], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 120, 173, 173, 10, 10, 173, 173, 173, 10, 118, 11], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 11865, 0, 0, 0, 12345, 0, 0], 9435], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 12662], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 3, 10, 33, 11, 11, 122, 54, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 130, 143, 146, 166], [12496, 0, 16660, 0, 0, 0, 0, 0, 0, 14580, 8334, 11705, 11705, 12186, 0, 0, 0, 0, 0, 0], 12493], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [12496, 0, 16662, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12345, 0, 0, 0], 10595], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10058], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4347], [[18, 11, 38, 150, 54, 11, 33, 150, 27, 150, 153, 153, 153, 153, 153, 153, 153, 28, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146], [12496, 0, 16980, 0, 0, 0, 16807, 0, 12180, 0, 0, 0, 0, 0, 0, 0, 0, 11471, 0, 0], 6270], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 173, 3, 173, 124, 173, 173, 173, 150, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 13293, 0], 13762], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 16021, 0, 0, 0, 0], 8924], [[11, 38, 38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 15692, 15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3942], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 18, 150, 150, 10, 33, 54, 122], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 12500, 12020, 0, 0], 10234], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590], [[38, 173, 173, 173, 173, 18, 150, 11, 150, 11, 18, 173, 120, 173, 173, 173, 10, 54, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15694, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 13292, 0, 0, 0], 13676], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 150, 150, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0], 5017], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 33, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 17142, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12343, 0], 6730], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17772, 0, 0, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0], 13873], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 10, 153, 153, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 12986, 0, 0, 12340, 0, 0, 0], 8877], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 11, 33, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [15533, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12346, 0, 0, 0], 11699], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 10, 122, 33, 10, 10, 11, 54, 11, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 17449, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 0, 12986, 11865, 12344, 0, 0, 0, 8334, 0], 10754], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[38, 18, 173, 173, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 54, 122, 11, 82, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16501, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12348, 12348, 11705, 0, 0, 0, 0, 13454, 0], 15227], [[11, 38, 18, 150, 173, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4609], [[18, 11, 38, 150, 150, 120, 54, 150, 11, 11, 33, 10, 10, 27, 27, 27, 122, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 75, 78, 113, 115, 130, 143, 146], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12987, 11861, 11054, 11211, 0, 0, 0, 0], 14157], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5429], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 18, 173, 173, 173, 173, 173, 10, 173, 10, 11], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 8334, 0, 0, 12501, 15087, 0, 0, 0, 0, 0, 11705, 0, 12185, 0], 8736], [[18, 11, 38, 150, 150, 173, 120, 150, 173, 173, 173, 173, 10, 33, 173, 173, 173, 10, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 0, 12987, 0, 0], 12265], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16026, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6142], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 54, 11, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16983, 0, 0, 0, 0, 0], 13227], [[11, 38, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 18, 124, 124, 150, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 17933, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 15693], 8593], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16980, 0, 0, 0, 0, 0, 0, 0, 3968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3528], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 13474], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15052, 0, 0, 0, 0, 0, 0, 0], 5258], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 3, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 13292, 0], 10562], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 14417], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5002], [[38, 11, 150, 173, 173, 173, 173, 3, 173, 120, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4911], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10097], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 10, 173, 173, 173, 173, 122, 33, 150, 11], [3, 9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12984, 12984, 0, 0, 0, 0, 0, 12345, 0, 0], 6332], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 120, 173, 173, 173, 3, 173, 173, 18, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 12347, 0, 0, 8334, 0, 0, 0], 7187], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 33, 173, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4738], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 150, 150, 3, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0], 5789], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9002], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16807, 0, 0, 0, 0, 0, 0, 0, 4934, 0, 4131, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3758], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 11, 11, 122, 153, 82, 18, 153, 153, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 0, 12829, 11868, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 12806], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10594], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 18, 120, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0], 11792], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15695, 0, 12496, 0, 0, 0, 0, 0, 0, 15370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8085], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 173, 18, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0], 8517], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 150, 10, 18, 54, 122, 11, 33, 11, 153, 153, 82], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 12501, 0, 13455, 8334, 0, 0, 0, 11866, 0, 0, 0, 0], 14806], [[18, 11, 38, 150, 173, 150, 150, 173, 173, 120, 150, 18, 173, 173, 10, 150, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 0, 0, 0, 0, 0], 10673], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16985, 0, 0, 0, 0, 0, 8334, 12186, 12186, 0, 0, 11705, 0, 0, 0, 0, 0, 0], 18262], [[38, 11, 11, 173, 173, 173, 150, 54, 11, 150, 20, 27, 10, 150, 10, 157, 157, 122, 157, 157], [9, 10, 17, 19, 25, 26, 30, 34, 48, 115, 143, 150, 166], [14577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14900, 13947, 14425, 0, 14425, 0, 0, 0, 0, 0], 17240], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 10, 54, 173, 11, 150, 122, 33, 120, 82, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 12185, 0, 0, 0], 9942], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 33, 173, 173, 173, 173, 173, 173, 18, 54, 11, 11], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 0, 14733, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 10664], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 18, 11, 11, 3, 3, 173, 173, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 13296, 13296, 0, 0, 0], 6647], [[11, 38, 18, 150, 173, 11, 10, 173, 150, 173, 173, 150, 54, 10, 33, 11, 11, 122, 10, 82], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 16332, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 0, 0, 12348, 0], 8738], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 10, 33, 122, 10, 10, 173, 173, 33, 153, 150, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 0, 11867, 12348, 0, 12987, 12505, 0, 0, 11704, 0, 0, 0], 8645], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 18, 10, 10, 54, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11704, 11705, 0, 0, 0, 12986], 14565], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 11, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15696, 0, 0, 0, 0, 0, 0, 0], 12349], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 15214, 0, 0, 0, 0], 13293], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 173, 150, 10, 33, 122, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 12986, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 150, 33, 153, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 150, 173, 124, 124, 10, 173, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 14921], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0], 16365], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106], [[11, 38, 120, 173, 173, 173, 173, 150, 173, 173, 39, 173, 173, 18, 150, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 7332, 0, 0, 12496, 0, 8334, 0, 11704, 12986, 0], 16651]], "3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4017], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[38, 11, 173, 173, 3, 173, 3, 173, 173, 150, 173, 150, 173, 124, 124, 173, 124, 0, 0, 0], [3, 10, 34, 117, 143, 166], [1899, 0, 0, 0, 2691, 0, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3556], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4046], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3169, 3651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4325], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6512], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6850], [[18, 11, 38, 150, 150, 173, 120, 11, 150, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 7010, 7170, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 6658], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[11, 18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3451], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 10, 33, 11, 10, 27, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 7164, 7164, 6685, 0, 7644, 6059, 0, 0, 0, 0, 0, 0], 8042], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 150, 3, 10, 173, 173, 173, 18, 150, 11, 11], [3, 9, 10, 17, 25, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7967, 7806, 0, 0, 0, 11177, 0, 0, 0], 8383], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 173, 11, 150, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 0, 0], 9474], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 18, 10, 11, 11, 150, 33, 122, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6682, 0, 0, 0, 7642, 0, 0], 8976], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 120, 10, 33, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7646, 7004, 0, 0, 0, 11177], 9612], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[18, 11, 38, 18, 150, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3978, 11177, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8967], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7185, 7982, 0, 0, 0], 9261], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 15386, 0, 0, 0, 14740, 15063, 14738, 0, 0, 0, 0, 0, 0, 0, 0], 5097], [[11, 11, 38, 18, 150, 173, 120, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [0, 0, 2223, 7015, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 150, 120, 10, 121, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0], 6645], [[38, 18, 173, 173, 173, 150, 11, 173, 173, 150, 173, 150, 173, 173, 54, 11, 120, 11, 11, 18], [9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [2384, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177], 10451], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4162], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 18, 11, 150, 173, 10, 150, 118, 173, 120, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 34, 111, 113, 143, 166], [3500, 7015, 0, 0, 0, 2223, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3919], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 173, 11, 33], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6059], 8243], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6847], 15032], [[18, 11, 38, 150, 150, 173, 173, 10, 150, 41, 118, 120, 173, 173, 173, 173, 173, 173, 18, 18], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 1578, 0, 3343, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424], 10686], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011], [[18, 11, 38, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 18, 18, 150, 10, 33, 54, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 6683, 7806, 0, 0], 11593], [[18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 150, 10, 173, 173, 173, 173, 121, 11, 18, 33], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 7005], 9624], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7010, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8403], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 10, 173, 33, 173, 10, 150, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 6525, 0, 7645, 0, 7006, 0, 0, 0], 10945], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 173, 173, 11, 54, 33, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 11958], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 18, 18, 10, 122, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424, 7164, 0, 7967, 0], 11792], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4401], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 33, 122, 10, 11, 11, 33, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [3185, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7003, 6682, 0, 7005, 0, 0, 6525, 0, 0], 6252], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 124, 124, 120, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5137], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 150, 18, 11, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 6740], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 0], 13769], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 10, 33, 118, 121, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6525, 0, 0, 11177, 0, 0, 0, 0], 12790], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 10, 150, 33, 122, 11, 173, 173, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7015, 0, 3344, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 7644, 0, 6684, 0, 0, 0, 0, 0], 9376], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 10, 33, 33, 11, 150, 11, 27, 10, 150, 60, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7806, 7166, 7165, 0, 0, 0, 4457, 6525, 0, 0, 0], 13028], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 6225], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 41, 150, 11, 10, 33, 54, 11, 122, 10, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 7499, 0, 0, 6525, 7644, 0, 0, 0, 7005, 0], 14442], [[38, 38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 150, 150, 173, 11, 150, 10, 120], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [3978, 3979, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0], 8537], [[18, 11, 38, 150, 150, 120, 150, 54, 120, 10, 173, 11, 11, 11, 173, 121, 33, 40, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 114, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 0, 0, 7644, 6386, 0, 0], 14047], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 18, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 122, 143, 146, 166], [1578, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 0, 0, 0], 14486], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7558], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6848, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14614], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 121, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [3004, 0, 7015, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 6120], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0], 8632], [[18, 11, 38, 18, 173, 150, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 0, 0, 0], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 11177, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4139], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 0, 6525, 0, 0], 15926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7416], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[18, 38, 11, 150, 150, 120, 150, 10, 173, 173, 173, 173, 18, 173, 122, 122, 33, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 107, 113, 115, 139, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0], 17856], [[18, 11, 38, 150, 150, 120, 18, 10, 33, 11, 122, 11, 153, 153, 153, 153, 153, 153, 150, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4807], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 54, 11, 59], [3, 10, 17, 34, 35, 48, 53, 110, 113, 117, 139, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9547], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 11, 33, 122, 11, 54, 173, 173, 173, 173, 10, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 7806, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 6846, 0], 8410], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7330, 7487, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11060], [[18, 38, 11, 150, 173, 150, 173, 150, 150, 54, 11, 10, 33, 11, 11, 122, 82, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 115, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683, 7163, 0, 0, 0, 0, 0, 0, 0], 12585], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 173, 173, 173, 173, 173, 122, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16650], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6815], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 10, 10, 10, 33, 40, 11, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 139, 143, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6847, 7487, 3978, 3979, 0, 0, 0], 9126], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 11177, 7806, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 17048], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7486, 0, 0, 0, 0, 0, 0, 7005, 7967, 0, 0], 10592], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 11, 18, 10, 33, 33, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7806, 7326, 6525, 0, 0, 0], 10323], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11, 153, 150, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 6525, 7005, 0, 0, 0, 0, 0, 0, 0], 10102], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 33, 10, 54, 122, 11, 11, 153, 153, 153, 82, 11], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [3818, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9615], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 173, 173, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7017], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 124, 124, 10, 10, 122, 33, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7648, 0, 0, 0, 0, 0, 0, 6527, 6527, 0, 7007, 0, 0], 17341], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10601], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 3, 18, 18, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7490, 7646, 11176, 11177, 0, 0], 11250], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 18], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 4584], 11308], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6922], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 120, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0], 8999], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 11, 11, 18, 10, 33, 11, 122, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2544, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7643, 6682, 0, 0, 0], 10762], [[18, 11, 38, 173, 150, 173, 150, 173, 173, 11, 54, 10, 11, 11, 33, 122, 82, 18, 153, 153], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 65, 75, 89, 111, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 6527, 0, 0, 7167, 0, 0, 4424, 0, 0], 19780], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 10, 41, 173, 173, 173, 173, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7010, 7489, 7652, 0, 0, 0, 0, 0, 0], 10328], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5282], [[38, 18, 11, 173, 150, 173, 173, 150, 120, 173, 173, 150, 11, 11, 33, 173, 10, 173, 173, 10], [9, 10, 17, 30, 34, 113, 114, 143, 166], [3004, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6842, 0, 7643, 0, 0, 7165], 6098], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 40, 153, 153, 82, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 109, 110, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 7005, 6380, 0, 0, 0, 4424, 0], 17066], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[38, 11, 18, 173, 173, 173, 18, 11, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 7015, 0, 0, 0, 0, 6851, 0, 0, 0, 0, 0, 0, 0, 0], 12560], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4936, 0, 0, 0, 0, 0, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9003], [[11, 18, 38, 11, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 10, 150, 150, 3, 124], [3, 9, 10, 17, 34, 117, 143, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532, 0, 0, 2531, 0], 7889], [[38, 11, 150, 173, 173, 173, 173, 18, 173, 150, 39, 150, 150, 10, 10, 10, 11, 11, 11, 11], [9, 10, 17, 18, 34, 48, 78, 83, 113, 130, 143, 166], [1573, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 11858, 0, 0, 7644, 7164, 6683, 0, 0, 0, 0], 10444], [[18, 38, 11, 150, 150, 120, 18, 150, 10, 10, 118, 33, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 7806, 7806, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0], 8931], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 10, 121, 150, 173, 173, 18, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 11177, 0, 0, 6685, 0], 8668], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4086], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8760], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 11, 122, 82, 10, 11, 153, 153, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7015, 0, 3975, 0, 0, 0, 0, 7806, 7806, 7325, 0, 0, 0, 0, 6683, 0, 0, 0, 6219, 0], 9543], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 173, 173, 173, 11, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7325, 7005, 7165, 0, 0, 0, 0, 6683, 0, 0, 0], 12449], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 0, 11177, 0], 14732], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493], [[11, 38, 11, 18, 173, 173, 33, 150, 153, 153, 153, 153, 150, 62, 62, 62, 10, 54, 11, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 11682], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 18], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424], 9693], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4141, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9323], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6948], [[18, 38, 11, 150, 150, 173, 173, 54, 150, 10, 33, 10, 122, 10, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 4934, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 7485, 0, 7645, 0, 0, 0, 0, 0, 0], 9006], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[18, 38, 11, 150, 173, 173, 150, 120, 150, 3, 18, 173, 10, 33, 54, 11, 11, 11, 153, 122], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 2704, 0, 0, 0, 0, 0, 0, 0, 7967, 11177, 0, 7967, 7488, 0, 0, 0, 0, 0, 0], 23126], [[38, 173, 173, 150, 173, 173, 173, 18, 11, 150, 150, 11, 11, 11, 18, 18, 10, 33, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 107, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11176, 11177, 7644, 6683, 0, 0], 11754], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 3], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 6217], 6395], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 18, 18, 150, 173, 54, 11, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 0, 0, 0, 0, 7325, 7806, 0], 13208], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7164, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6339], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 41, 173, 173, 173, 173, 150, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7170, 7500, 0, 0, 0, 0, 0, 0, 0], 6435], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157], [[18, 11, 38, 173, 173, 150, 150, 120, 10, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 7664, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8177], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6326], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 18, 11, 150, 173, 150, 120, 150, 3, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 9881], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 3, 173, 173, 173, 124, 124, 124, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7006, 7006, 0, 0, 0, 0, 0, 0, 0, 0], 9034], [[18, 11, 38, 38, 150, 150, 120, 3, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3331, 3330, 0, 0, 0, 7170, 7170, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7007], [[18, 11, 38, 150, 150, 120, 18, 150, 150, 3, 173, 173, 173, 10, 11, 11, 150, 124, 124, 121], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 83, 89, 111, 113, 114, 115, 117, 130, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 11177, 0, 0, 6525, 0, 0, 0, 7005, 0, 0, 0, 0, 0, 0], 25661], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 9948], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163], 11272], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11989], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14580, 14578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4381], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1899, 0, 0, 0, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7728], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 3843], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 6525, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 13147], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 150, 11], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 9714], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 33, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0], 10106], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0], 12880], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1735, 0, 0, 0, 0, 0, 0, 0, 14574, 14893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4027], [[18, 11, 38, 150, 173, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 150, 54, 10, 33, 11, 11, 122, 18, 82, 60], [0, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 11177, 0, 0], 8613], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7171, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12431], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 33, 11, 11, 10, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 0, 7643, 7163, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 5048], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 18, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 117, 139, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 19651], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5446], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 10, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6527, 7007, 7487, 0, 0], 20327], [[38, 18, 11, 173, 150, 150, 150, 54, 10, 33, 10, 11, 122, 118, 11, 82, 153, 153, 150, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10256], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 10, 173, 173, 54, 11, 11, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 6685, 6685, 0, 0, 0, 0, 0, 0], 12354], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685], 14872], [[18, 11, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 38, 38, 11, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 12723], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 33, 122, 11, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3485, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 0], 12114], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5230], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 10, 150, 124, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7646, 7806, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 11797], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0, 0, 0, 0, 0], 7477], [[18, 11, 38, 150, 150, 120, 18, 3, 10, 33, 122, 11, 150, 153, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7168, 7806, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15957], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926], [[18, 38, 11, 173, 173, 173, 173, 150, 150, 173, 120, 10, 11, 54, 11, 122, 33, 18, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0, 0], 15430], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3503], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 173, 3, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0], 4753], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 38, 11, 150, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 3329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5222], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 122, 54, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4620, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0], 15042], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 33, 18, 153], [10, 17, 18, 30, 34, 48, 55, 75, 113, 130, 143, 146, 166], [0, 0, 7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 11177, 0], 24106], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 54, 11, 11, 33, 150, 122, 153, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 7166, 7164, 0, 0, 0, 6525, 0, 0, 0, 0], 8406], [[18, 38, 150, 11, 11, 150, 10, 33, 54, 10, 11, 27, 27, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146], [7015, 1899, 0, 0, 0, 0, 6525, 7806, 0, 7005, 0, 6057, 6056, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 38, 11, 150, 173, 150, 173, 120, 150, 54, 150, 33, 10, 10, 11, 11, 82, 11, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 4133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7806, 7326, 0, 0, 0, 0, 0, 0], 18355], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 6215, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12494], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 150, 11, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6525, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17260], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 10, 10, 150, 121, 150, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 3819, 1900, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 6474], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 4424, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10148], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 10, 121, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 0, 6376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4547], [[38, 18, 150, 173, 173, 173, 150, 11, 11, 33, 54, 54, 11, 10, 10, 153, 153, 153, 18, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 7806, 7325, 0, 0, 0, 11177, 0], 15701], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 11, 11, 10, 10, 173, 173, 173, 173, 150, 10, 173], [9, 10, 17, 30, 34, 48, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 0, 0, 7324, 6843, 0, 0, 0, 0, 0, 6846, 0], 5488], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4698], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 16028, 0, 0, 0, 0, 14418, 15063, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3794], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3756], [[18, 38, 11, 150, 150, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3768], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 132, 143, 146, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 7488, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11728], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6216, 6214, 0, 0, 0, 0, 0, 0, 0, 0], 4884], [[38, 11, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5213], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 10, 33], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7325, 0, 0, 0, 0, 0, 0, 0, 6845, 0, 6844, 7807], 8092], [[38, 18, 173, 150, 11, 150, 150, 54, 10, 33, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2531, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 6524, 0, 0, 0, 0, 0, 0, 0, 0], 13206], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10146], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 124, 173, 173, 173, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 7485, 0, 0, 0, 0, 0, 0, 0, 7967, 0], 12477], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7646, 0, 0, 0, 0, 0, 0, 0], 5432], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9199], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 122, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 7162], 9701], [[18, 11, 38, 3, 173, 173, 173, 173, 150, 150, 173, 120, 173, 124, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4140, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 38, 11, 150, 10, 150, 173, 173, 121, 150, 120, 33, 10, 10, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 111, 113, 114, 143, 146, 166], [7015, 3819, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 6525, 7005, 7806, 0, 0, 0, 0, 0, 0], 9647], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 18, 11, 71, 150, 10, 11], [9, 10, 17, 30, 34, 48, 64, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 7164, 0], 11689], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10624], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 3, 18, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7504, 4424, 0, 0], 10863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 33, 71, 122, 11, 11, 10, 82, 60, 18, 153], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 7164, 6685, 0, 0, 0, 0, 7644, 0, 0, 11177, 0], 8713], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0], 7719], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 10, 54, 173, 11, 11, 10, 33, 122, 18, 60, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 7485, 7004, 0, 11177, 0, 0], 10808], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 115, 117, 143, 166], [0, 3818, 7015, 0, 0, 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9133], [[18, 11, 38, 150, 150, 173, 120, 3, 173, 18, 54, 10, 150, 11, 11, 33, 122, 60, 153, 153], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 7170, 0, 11177, 0, 7485, 0, 0, 0, 6058, 0, 0, 0, 0], 11511], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 0, 3330, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11661], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653], [[18, 11, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 10, 118, 11, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 0, 4142, 0, 0, 0, 11177, 7170, 7010, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 11684], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4584, 4424, 0, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3185, 0, 0, 0, 11177, 7329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7182], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 10, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [7015, 3977, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6218, 7806, 6525, 0], 7416], [[11, 38, 18, 173, 173, 173, 150, 120, 11, 173, 173, 173, 3, 3, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 3010, 0, 0, 0, 0, 0, 0], 6333], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 173, 173, 173, 173, 173, 10, 122, 54, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 0, 7020, 11177, 0, 0, 0, 0, 0, 7486, 0, 0, 6378], 10261], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 10, 122, 54, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 7490, 7490, 0, 0, 0, 0], 12382], [[18, 11, 38, 150, 150, 54, 10, 33, 10, 122, 11, 11, 122, 40, 11, 122, 82, 60, 10, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [7015, 0, 3025, 0, 0, 0, 6525, 7005, 7485, 0, 0, 0, 0, 6060, 0, 0, 0, 0, 7967, 0], 11098], [[38, 173, 173, 173, 39, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2531, 0, 0, 0, 16028, 0, 0, 14579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4331], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7391], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12952], [[38, 18, 11, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6717], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 150, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7646, 7165, 0, 0, 0], 11851], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783], [[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 33, 10, 150, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 4127, 0, 0, 0, 0, 0, 0, 6525, 7806, 0, 0], 14102], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 3, 173, 173, 173, 173, 173, 10, 33], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 7967, 0, 0, 0, 0, 0, 7487, 7006], 17676], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 10, 60, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [2851, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 0, 0, 0, 7165, 7164, 0, 11177], 8655], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 54, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 6685, 0, 0, 7167, 0, 0], 14305], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17561], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11704], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12403], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 10, 173, 124, 124, 173, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 2544, 0, 0, 0, 11177, 0, 6687, 0, 0, 7967, 0, 0, 0, 0, 0, 0, 0, 0], 9094], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 11, 150, 3, 173, 173, 120, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 11177, 0, 0, 0], 7405], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 150, 150, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 6846, 0, 0, 0, 0, 0, 0], 8311], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33, 118], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7644, 0], 15764], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 10469], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [7015, 0, 3329, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 12344], [[18, 11, 38, 150, 173, 173, 173, 173, 120, 150, 18, 173, 173, 173, 173, 10, 118, 150, 150, 150], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 15515], [[18, 11, 38, 10, 173, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 150, 150, 150, 18, 150], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0], 15960], [[18, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 89, 113, 115, 117, 143, 146, 166], [6855, 7015, 0, 3004, 0, 0, 0, 0, 11177, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0], 11810], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4960], [[18, 11, 38, 3, 173, 173, 150, 150, 173, 173, 120, 124, 124, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18914], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0], 9606], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 150, 18, 3, 124, 124], [3, 10, 17, 34, 35, 48, 89, 109, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 2849, 0, 0], 11928], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 33, 33, 54, 11, 11, 122, 150, 10, 10, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 7164, 6525, 6061, 0, 0, 0, 0, 0, 7644, 6685, 0], 6886], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5066], [[18, 11, 38, 150, 150, 173, 120, 150, 150, 120, 10, 10, 173, 173, 173, 173, 173, 33, 173, 173], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [7015, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 6525, 7644, 0, 0, 0, 0, 0, 6682, 0, 0], 5966], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7006, 0, 0, 0, 0, 0, 0, 6524, 7645, 0, 0, 0], 8137], [[11, 38, 18, 11, 150, 10, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 1899, 7015, 0, 0, 4136, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17600], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 2530, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9769], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 120, 18, 3, 173, 173, 33, 124, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 4611, 0, 11177, 7006, 0, 0, 7486, 0, 0, 0, 0, 0], 5491], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 173, 120, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[18, 11, 38, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 30, 34, 48, 53, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3650, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0], 15354], [[18, 38, 11, 150, 150, 150, 120, 173, 173, 18, 3, 173, 124, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12966], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 8081], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 120, 150, 54, 10, 10, 33, 10, 122, 11, 11, 60], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [2690, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 7644, 7164, 6524, 0, 0, 0, 0], 9291], [[18, 38, 11, 150, 150, 54, 150, 33, 10, 11, 11, 150, 10, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 75, 110, 113, 114, 115, 130, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 7806, 7166, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 28797], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 11177, 0, 0, 6686, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 10, 10, 11, 11, 11, 20, 153, 153, 153, 122], [9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6524, 0, 0, 0, 1900, 0, 0, 0, 0], 9766], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7489, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8166], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 10, 150, 33, 33, 33, 11, 11, 122, 54, 173, 173], [9, 10, 17, 25, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 0, 7163, 0, 7643, 6683, 6683, 0, 0, 0, 0, 0, 0], 10034], [[38, 173, 173, 173, 173, 18, 173, 39, 173, 173, 150, 173, 39, 150, 150, 11, 11, 33, 120, 54], [10, 17, 30, 34, 48, 113, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 16028, 0, 0, 0, 0, 17457, 0, 0, 0, 0, 6524, 0, 0], 9239], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 150, 10, 33, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 11177], 12295], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7487, 0, 0, 0], 12065], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17908], [[18, 11, 38, 173, 173, 173, 150, 150, 3, 150, 54, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 19, 34, 35, 47, 48, 53, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38240], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 10, 33, 11, 11, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7644, 6683, 0, 0, 0, 0, 0, 0, 0], 9604], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 7015], 11501], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7788], [[11, 38, 18, 173, 150, 120, 150, 173, 173, 173, 173, 150, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3026, 0, 0, 0, 0], 7619], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6537], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 11, 33, 10, 11, 11, 122, 124, 54, 10], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 7646, 7165, 0, 0, 0, 0, 0, 6686], 6124], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 0, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 12979, 14418, 0, 0, 0, 0, 0, 0, 0, 0], 3732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 15060, 15383, 15060, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3446], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 18, 18, 173, 10, 118, 173, 173, 33, 11, 11], [9, 10, 17, 19, 30, 34, 48, 89, 111, 113, 114, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 4584, 4424, 0, 7004, 0, 0, 0, 7485, 0, 0], 8774], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 11, 11, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9298], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5756], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6299], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6526, 0, 0, 0, 0, 0, 0, 0, 7345, 0, 0, 0], 9811], [[38, 18, 173, 173, 150, 11, 150, 150, 10, 33, 10, 121, 11, 11, 11, 54, 120, 118, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 78, 110, 111, 113, 114, 115, 130, 139, 143, 166], [3979, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15271], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 10, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0], 12690], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 2533, 0, 0], 6553], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 10, 18, 10, 54, 33, 33, 11, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 11177, 6682, 0, 7161, 7162, 0, 0], 10037], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 10, 18, 33, 122, 150, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 11177, 7005, 0, 0, 0], 9506], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 3, 18, 10, 54, 122, 11, 11, 33, 150, 153], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6215, 11177, 6216, 0, 0, 0, 0, 6059, 0, 0], 23350], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 38, 11, 150, 150, 120, 18, 173, 150, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12012], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5466], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 166], [0, 1899, 0, 0, 0, 0, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8947], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 18, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 11177, 0, 0, 0], 20731], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[18, 38, 11, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9900], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 33, 33, 122, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 7006, 7005, 0, 0], 5613], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17073], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 11177, 0], 10654], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5403], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 173, 120, 150, 173, 150, 3, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0], 13893], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 9242], [[38, 11, 18, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 10, 10, 11, 10, 150], [9, 10, 17, 34, 111, 113, 114, 143, 166], [3979, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 3025, 2544, 0, 2544, 0], 8828], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8204], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 173, 3, 173, 173, 18, 124, 10, 11, 11, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 11177, 0, 2704, 0, 0, 0], 15240], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 54, 122, 150, 11, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6525, 0, 0, 7165, 0, 0, 0, 0, 0, 6525, 0, 0], 14119], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 11177, 7007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18394], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 0, 0, 0, 0, 0, 0, 0, 0], [9, 17, 30, 34, 143, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 11, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [1577, 0, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5245], [[38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 124, 150, 150, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 3818, 0, 0, 0, 0, 7015, 0, 0, 0, 11177, 0], 13219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 3, 173, 120, 18, 150, 10, 150, 122, 33, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1900, 0, 0, 11177, 0, 7806, 0, 0, 8616, 6525, 0], 11688], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582], [[38, 11, 11, 173, 173, 173, 3, 173, 173, 173, 124, 124, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 34, 117, 166], [3819, 0, 0, 0, 0, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3104], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 18, 18, 33, 33, 10, 122, 54, 11, 11, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 4127, 0, 0, 0, 0, 0, 0, 11177, 11177, 7345, 7806, 6683, 0, 0, 0, 0, 0, 0], 12202], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 173, 120, 150, 173, 173, 173, 173, 150, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 0, 7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0], 10533], [[38, 11, 18, 173, 173, 173, 173, 173, 150, 173, 150, 120, 150, 10, 173, 173, 3, 122, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [2531, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 0, 0, 7163, 0, 0, 0], 14862], [[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 173, 173, 173, 173, 18, 33, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6218, 0, 0, 0, 0, 0], 5367], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 150, 11, 11, 150, 120, 11, 18, 33, 10, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [1900, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 7644, 0, 7004], 13468], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 10, 173, 173, 150, 121, 173, 120, 10, 33, 33, 10, 173, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [7015, 0, 3164, 1899, 0, 0, 0, 0, 0, 0, 6525, 7806, 7806, 7326, 0, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6525, 6525, 0, 0, 0], 10056], [[18, 11, 38, 10, 10, 10, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3978, 4772, 4449, 3967, 3967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3562], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[11, 38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 33, 173, 173, 173, 173, 173, 11, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [0, 1900, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7169, 0, 0, 0, 0, 0, 0, 0, 0], 8514], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 150, 150, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9045], [[18, 11, 38, 150, 120, 18, 173, 173, 173, 3, 173, 173, 150, 10, 173, 124, 124, 173, 173, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 11177, 0, 0, 0, 7164, 0, 0, 0, 6685, 0, 0, 0, 0, 0, 6685], 8910], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 10, 124, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 6524, 0, 0, 0, 0, 0, 0, 0], 9999], [[38, 18, 150, 173, 173, 150, 150, 33, 10, 10, 11, 11, 11, 11, 18, 54, 122, 118, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 6524, 7644, 7164, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0], 14742], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 54, 11, 11, 122, 33, 150, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4141, 0, 0, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 6378, 0, 0, 0, 0], 12826], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14380], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 7015, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5821], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 33, 150, 11, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 6526, 0, 0, 0, 0], 10646], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 150, 173, 173, 18, 173, 173, 173, 33, 173, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6378, 0, 0, 0], 8491], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4148], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 173, 173, 173, 173, 173, 33, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6526, 6525, 0, 0, 0, 0, 0, 7005, 7806, 0, 0, 0, 0], 8687], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 173, 173, 3, 173, 173, 173, 33, 54, 153, 153, 153], [3, 10, 17, 30, 34, 35, 48, 55, 75, 139, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 3659, 0, 0, 3659, 0, 0, 0, 3025, 0, 0, 0, 0], 17221], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7204], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 124, 150, 10, 124, 124, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0, 0], 18158], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 11, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6676], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 120, 33, 10, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0, 0, 0, 0], 8695], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 150, 124, 33, 10, 54, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 6524, 7004, 0, 0, 0, 7644, 0], 10605], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 4424], 12303], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 113, 114, 115, 117, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7330, 0, 0, 0, 0], 12364], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 10, 33, 33, 11, 11, 118, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7643, 6841, 6681, 0, 0, 0, 0, 0, 0], 11908], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 150, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 115, 130, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643], 14568], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0], 12101], [[18, 38, 11, 150, 173, 150, 150, 150, 10, 33, 54, 122, 10, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 32003], [[38, 18, 173, 150, 11, 150, 150, 120, 33, 10, 10, 54, 11, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 6524, 7644, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11672], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 124, 124, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 0, 7005, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13317], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 173, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524], 16342], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 33, 173, 122, 150, 11, 11, 54, 153, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18125], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 4299, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23925], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 3, 173, 173, 124, 124, 124, 173, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 0], 16667], [[18, 11, 38, 150, 173, 150, 173, 173, 173, 120, 18, 33, 10, 11, 11, 122, 11, 150, 54, 10], [9, 10, 17, 19, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 143, 146, 155, 166], [7015, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 11177, 6526, 7006, 0, 0, 0, 0, 0, 0, 7486], 20729], [[18, 11, 38, 150, 150, 150, 173, 173, 120, 10, 121, 33, 10, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 113, 114, 115, 130, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7167, 0, 7806, 6527, 0, 0, 0, 0, 0, 0, 0], 20281]], "16176": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218]], "3015": [[[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/1758k.json b/dizoo/distar/policy/z_files/1758k.json new file mode 100644 index 0000000000..3fd56699b4 --- /dev/null +++ b/dizoo/distar/policy/z_files/1758k.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558, 2], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599, 2], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779, 2], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569, 2]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984, 2]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775, 2], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473, 2], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248, 2], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840, 1]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227, 2], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573, 2], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432, 1]], "20264": [[[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620, 2], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940, 2]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/3map.json b/dizoo/distar/policy/z_files/3map.json new file mode 100644 index 0000000000..3fd56699b4 --- /dev/null +++ b/dizoo/distar/policy/z_files/3map.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558, 2], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599, 2], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779, 2], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569, 2]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984, 2]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775, 2], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473, 2], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248, 2], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840, 1]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227, 2], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573, 2], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432, 1]], "20264": [[[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620, 2], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940, 2]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/7map_filter_spine.json b/dizoo/distar/policy/z_files/7map_filter_spine.json new file mode 100644 index 0000000000..f0fbdffd22 --- /dev/null +++ b/dizoo/distar/policy/z_files/7map_filter_spine.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 173, 33, 11, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 21062, 16289, 0, 0, 0, 0, 0, 0, 0, 15496, 0, 0], 11957], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14085], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080], [[38, 11, 173, 150, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [21899, 0, 0, 0, 0, 0, 0, 0, 20296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4496], [[38, 18, 173, 150, 11, 150, 150, 33, 120, 10, 10, 54, 11, 11, 11, 173, 173, 173, 118, 122], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [20296, 16294, 0, 0, 0, 0, 0, 16282, 0, 16762, 17402, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19422], [[11, 38, 18, 11, 150, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 21568, 16294, 0, 0, 0, 0, 0, 0, 16284, 16924, 17403, 0, 0, 0, 0, 0, 0, 0, 0], 8186], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16925, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 150, 11, 173, 173, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 16763, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 11, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13191], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0], 8746], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 54, 173, 173, 150, 121, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9733], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 10, 124, 124, 150, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 110, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 22529, 0, 0, 0, 0, 0, 21062, 0, 16283, 0, 16764, 0, 0, 0, 0, 17404, 0, 0], 26838], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8681], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21081, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6241], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 10, 33, 10, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16294, 0, 20296, 22377, 0, 0, 0, 0, 0, 0, 16283, 16764, 17403, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 10, 124, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12881], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 3, 173, 10, 150, 124, 122], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 15823, 0, 15342, 0, 0, 0], 19032], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21406, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16764], 15081], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 22374, 0, 0, 0, 0, 0, 0, 22377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4233], [[38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 173, 33, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [21899, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 16761, 17402, 0, 0], 9152], [[11, 18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 173, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 113, 114, 115, 117, 139, 143, 146, 166], [0, 16294, 0, 20136, 0, 0, 0, 0, 21062, 0, 16283, 0, 0, 0, 0, 0, 16923, 0, 0, 0], 13327], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 20129, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 21899, 0, 0, 0, 0, 0, 0, 0, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4067], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 173, 173, 173, 173, 150, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16284, 0, 0, 0], 9434], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 11, 11, 54, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 109, 110, 113, 115, 117, 122, 139, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 17403], 18868], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16783, 15663, 0, 0, 15336], 21134], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 150, 173, 173, 124, 150, 11, 173, 124, 173, 173], [3, 9, 10, 17, 19, 34, 35, 43, 45, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 155, 166], [16294, 0, 20135, 0, 0, 0, 0, 0, 16289, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24041], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [20296, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 16449, 21062, 0, 0, 0, 0, 0, 0, 0, 0], 14567], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 16284, 0, 0, 0, 0, 0, 0], 9926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 124, 10, 173, 150, 173, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 65, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21741, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 16440, 0, 0, 0, 0, 16597, 0], 25769], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 11, 150, 54, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 115, 117, 143, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 0], 8242], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 173, 173, 173, 173, 33, 11, 11, 153, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 15331, 0, 0, 0, 0], 8246], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 86, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 0, 21062, 0, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29763], [[38, 173, 173, 173, 173, 173, 39, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21087, 0, 0, 0, 0, 0, 3231, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4437], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146], [16294, 0, 21568, 0, 0, 0, 21062, 0, 16281, 16438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9521], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599], [[18, 11, 38, 10, 150, 150, 173, 173, 121, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [16294, 0, 21247, 20296, 0, 0, 0, 0, 0, 0, 21062, 16129, 0, 0, 0, 0, 0, 0, 0, 0], 9265], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 18, 3, 173, 173, 173, 173, 11, 150, 173, 0, 0], [3, 10, 17, 34, 113, 143, 166], [21242, 0, 16294, 0, 0, 0, 0, 0, 0, 21062, 16125, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5166], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 173, 150, 122, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29739], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 20296, 0, 0, 0, 0, 0, 21087, 0, 0, 0, 0, 0, 0, 16294, 0, 0, 0, 0, 0], 14449], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 13738], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 173], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16764, 0], 14999], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 150, 10, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0], 16648], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 0, 21062, 0, 16604, 0, 0, 0, 0, 0, 0, 0, 0], 16568], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [22375, 0, 0, 0, 0, 0, 0, 0, 4179, 3862, 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12311], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 173, 173, 122, 124, 33, 173, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 16283, 0, 0, 16764, 0, 0, 0, 0, 17402, 0, 0, 0], 26418], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 124, 18, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21899, 0, 0, 0, 0, 0, 21567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16294, 0, 0], 5946], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20927, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16925, 0, 0, 0], 11599]], "2899": [[[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19011, 0, 19011, 0, 19498, 0, 0, 0, 0, 0, 0, 0, 0], 4161], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7066, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8744], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 10, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0], 9932], [[18, 11, 38, 150, 150, 54, 150, 11, 33, 27, 153, 153, 153, 153, 153, 153, 153, 153, 153, 28], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [7697, 0, 3695, 0, 0, 0, 0, 0, 6571, 8495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20243], 11440], [[11, 38, 38, 18, 150, 173, 120, 150, 10, 118, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [0, 2092, 2092, 7697, 0, 0, 0, 0, 1617, 0, 2929, 0, 6584, 0, 0, 0, 0, 0, 0, 0], 7702], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15331], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7697, 0, 2904, 0, 0, 0, 2929, 8026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5667], [[11, 38, 150, 173, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2424, 0, 0, 0, 0, 0, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3844], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 10, 150, 121, 118, 173, 173, 173, 173], [9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [7697, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 2929, 7223, 7703, 0, 0, 0, 0, 0, 0, 0], 16310], [[18, 11, 38, 150, 150, 173, 10, 150, 118, 33, 120, 173, 173, 173, 173, 173, 173, 18, 173, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 6901, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0, 2929, 0, 0], 9739], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 124, 173, 173, 173, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7697, 0, 3209, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7511], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 10, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0], 21184], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19013, 19175, 19659, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3532], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 10, 150, 118, 18, 11, 33, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 43, 47, 48, 55, 67, 89, 111, 112, 113, 114, 143, 146, 153, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 2929, 7708, 7708, 0, 0, 3545, 0, 1616, 0, 0, 0], 19323], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 10, 54, 122, 33, 11, 11, 150, 60, 82, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 0, 0, 0, 0, 0, 0], 13751], [[11, 38, 173, 150, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3695, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4334], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 173, 173, 173, 173, 173, 3, 10, 150, 121, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 8007, 6571, 0, 0, 0], 11501], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 0, 19973, 19971, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4282], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7708, 7227, 0, 0, 0], 9687], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 173, 124, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 2729, 0, 0, 0, 2929, 7708, 0, 0, 0, 7551, 0, 0, 0, 0, 0, 0, 0, 0], 9593], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3063, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12537], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3855, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0], 13972], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7697, 0, 2589, 0, 0, 0, 0, 2929, 7227, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 13032], [[18, 11, 38, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 11, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7864, 0, 0, 7224, 0], 7549], [[18, 11, 38, 18, 150, 120, 150, 173, 173, 173, 173, 150, 33, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7697, 0, 3695, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 7994], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 19011, 0, 0, 0, 0, 19337, 19332, 19331, 0, 0, 0, 0, 0, 0, 0], 3774], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1616, 0, 0, 0, 0, 0, 3696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6098], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276], [[18, 11, 38, 150, 150, 173, 173, 173, 54, 150, 120, 10, 11, 11, 121, 11, 33, 10, 173, 40], [9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 139, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 7228, 6589, 0, 2093], 21142], [[11, 38, 18, 11, 150, 150, 120, 150, 173, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 2903, 7697, 0, 0, 0, 0, 0, 0, 8816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10941], [[18, 11, 38, 120, 150, 150, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10335], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 122, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 12733], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 64, 75, 107, 109, 110, 111, 113, 115, 122, 143, 146, 166], [7697, 0, 3859, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 7551], 19874], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3049, 7697, 0, 0, 0, 0, 0, 0, 3856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 33, 11, 11, 10, 11, 11, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [3695, 0, 0, 0, 0, 7697, 0, 0, 0, 0, 0, 7709, 7069, 0, 0, 6588, 0, 0, 0, 0], 11957], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 173, 173, 122, 150, 173, 54, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 20021], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 33, 173, 173, 11, 153, 153, 153], [3, 10, 17, 30, 34, 113, 143, 146, 166], [7697, 0, 1773, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0], 7269], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 122, 82, 18, 153, 27, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 7709, 7229, 0, 0, 0, 0, 2929, 0, 6570, 0, 0], 13232], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 173, 173, 54, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 2929, 7386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7866], 11365], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 124, 124, 124, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20124], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 11, 173, 150, 173, 173, 54], [3, 10, 17, 34, 35, 48, 109, 113, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11308], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 173, 173, 173, 173, 173, 173, 11, 18, 3], [3, 9, 10, 17, 19, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7697, 0, 2424, 0, 0, 0, 1617, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2929, 3066], 15230], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19329, 19171, 19013, 19329, 0, 0, 0, 0, 0, 0, 0, 0], 5343], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3549, 0, 0, 0, 2929, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0], 10345], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 10, 33, 173, 173, 173, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 7227, 0, 0, 0, 0, 0], 15065], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3064, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10436], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 54, 11, 11, 150], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7697, 0, 2423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 7386, 0, 0, 0, 0, 0, 0, 0, 0], 10479], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 150, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7697, 0, 1932, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 6571, 0, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 118, 33, 173, 173, 173, 173, 11, 11, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [7697, 0, 2423, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0, 0], 9357], [[18, 11, 38, 150, 150, 173, 173, 120, 11, 18, 3, 173, 173, 173, 173, 173, 173, 11, 11, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10495], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 124, 124, 124, 173, 173, 150], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7697, 0, 3049, 0, 0, 0, 0, 0, 2929, 0, 0, 6571, 0, 0, 0, 0, 0, 0, 0, 0], 19970], [[38, 173, 173, 173, 150, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3049, 0, 0, 0, 0, 0, 0, 0, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 10, 118, 18, 120, 173, 173, 173, 54, 11, 11, 173, 150, 3, 173, 173], [3, 9, 10, 17, 18, 22, 25, 26, 34, 48, 50, 111, 113, 114, 117, 130, 143, 166], [7697, 0, 3695, 0, 0, 2092, 0, 6748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0], 11245], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 11, 150, 124, 11, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 89, 109, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [3230, 0, 7697, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 29570], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 10, 33, 11, 11, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 6588, 0, 0, 0, 0, 0, 0, 0], 9863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [7697, 3695, 0, 0, 0, 0, 0, 0, 0, 2929, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0], 34015], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7066, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 10, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0], 11599]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 124, 124, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 6525, 0, 0, 0], 15926], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0], 8632], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 11177, 0, 0], 14732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0, 0], 12880], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10, 122], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0], 11272], [[18, 11, 38, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0, 0, 0], 11423], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3331, 7015, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7325], 12952], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 10, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 12690], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 150, 124, 124, 10, 33, 122, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 55, 56, 64, 75, 78, 83, 85, 86, 89, 107, 109, 110, 111, 112, 113, 114, 115, 117, 122, 130, 132, 143, 146, 155, 166], [7015, 0, 3665, 0, 0, 0, 4424, 0, 7004, 0, 0, 0, 0, 0, 0, 6524, 7644, 0, 0, 0], 44372], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 11599], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 11599], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044]], "16176": [[[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12183], 9284], [[38, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 173, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0, 0], 14663], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 166], [0, 15851, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 118, 173, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 150, 10, 124, 11, 11, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 12986, 0, 0, 0, 0, 12506], 18377], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 150, 19, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 16006, 0, 0, 0, 0], 15992], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 15692, 12496, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 33, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153, 62, 62, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 10, 10, 33, 118, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 78, 83, 89, 111, 112, 113, 114, 115, 130, 143, 155, 166], [12496, 0, 15692, 16166, 0, 0, 0, 0, 0, 0, 11705, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 20746], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 18, 122, 10], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 8334, 0, 11864], 10824]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 38, 11, 150, 150, 150, 11, 10, 54, 33, 122, 150, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [5933, 2891, 0, 0, 0, 0, 0, 6901, 0, 6423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7657], [[38, 18, 173, 173, 11, 150, 150, 54, 33, 11, 27, 150, 150, 153, 153, 153, 153, 153, 153, 28], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6738, 0, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 20244], 5973], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3051, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6425, 6900, 0, 0, 0], 9599], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 19774, 0, 0, 0, 18662, 18664, 18986, 18984, 0, 0, 0, 0, 0, 0, 0, 0], 4862], [[18, 38, 150, 150, 173, 150, 11, 11, 173, 150, 54, 10, 10, 11, 11, 118, 121, 40, 120, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [5933, 3051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6264, 7062, 0, 0, 0, 0, 1607, 0, 0], 11639], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911], [[18, 38, 11, 11, 173, 173, 173, 150, 173, 150, 173, 173, 173, 173, 120, 18, 150, 11, 33, 11], [10, 17, 30, 34, 55, 113, 143, 146, 166], [5933, 2891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 6725, 0], 11213], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5412], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 10, 120, 18, 122, 33, 11, 11, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2891, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6425, 0, 10731, 0, 6901, 0, 0, 0], 10608], [[38, 18, 11, 150, 173, 150, 150, 150, 41, 54, 10, 11, 11, 33, 122, 18, 82, 153, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 78, 83, 89, 111, 115, 117, 130, 139, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6411, 0, 6103, 0, 0, 6420, 0, 10731, 0, 0, 0, 0], 20735], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 10, 33, 173, 173, 173, 150, 150, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [1618, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 7062, 6901, 6264, 0, 0, 0, 0, 0, 0], 9806], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025], [[38, 18, 173, 173, 173, 173, 173, 11, 150, 150, 150, 120, 3, 10, 33, 173, 173, 173, 121, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [1766, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 6901, 6103, 0, 0, 0, 0, 0], 6360], [[38, 18, 11, 173, 173, 173, 150, 173, 173, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [1766, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6583, 6742, 6264, 0, 0, 0, 0, 0], 10358], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 118, 11, 11, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [5933, 0, 2420, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 6419, 0, 0, 0, 0, 0, 0, 0], 9241], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 2891, 0, 0, 0, 0, 0, 2420, 0, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0], 3856], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [1619, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6113], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 11, 120, 173, 173, 150, 173, 173, 11, 11, 10, 54], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [0, 2891, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6900, 0], 8574], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 18, 120, 33, 54, 10], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 110, 111, 113, 115, 139, 143, 146, 166], [2891, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 6900, 0, 6421], 17207], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 54, 150, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 0, 10731, 6900, 0, 0, 0, 6103, 0, 0, 0, 0], 10326], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 18, 122, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 6582, 6899, 0, 0, 0, 10731, 0, 0], 11219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 150, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 10731, 6901, 0, 0, 0, 6421, 0, 0, 0, 0, 0, 0], 9808], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 120, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1619, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3879], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 150, 150, 11, 11, 10, 11, 54, 33, 122, 18, 11], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [1619, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 6584, 0, 10731, 0], 12062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 3568, 6099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12467], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 54, 122, 33, 11, 11, 118, 18, 82, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 130, 143, 146, 155], [5933, 0, 2891, 2419, 0, 0, 0, 0, 0, 6103, 0, 0, 6900, 0, 0, 0, 10731, 0, 0, 0], 22996], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 3, 121, 3, 11, 150, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 6901, 6423, 0, 6103, 0, 0, 0, 0, 0, 0], 11364], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2266, 0, 0, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9399], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 0, 0, 0, 18823, 18985, 18827, 18665, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [5933, 3700, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 4969, 0, 5923, 0], 13515], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [815, 0, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6047], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54], [9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 143, 146, 166], [5933, 1606, 0, 0, 0, 0, 0, 6103, 6899, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10959], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 0, 10731, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15865], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 11, 11, 11, 54, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 111, 113, 115, 130, 143, 146, 155, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17155], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 11599], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166, 155, 56], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166, 47], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166, 47, 48], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/NewRepugnancy.json b/dizoo/distar/policy/z_files/NewRepugnancy.json new file mode 100644 index 0000000000..ce0feaaa96 --- /dev/null +++ b/dizoo/distar/policy/z_files/NewRepugnancy.json @@ -0,0 +1 @@ +{"NewRepugnancy": {"zerg": {"16176": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 4934, 4934, 0, 4772, 0, 0, 0, 0, 0, 0, 0, 0], 3718], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3585], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124, 0, 0, 0, 0, 0], [3, 10, 34, 117, 143, 166], [15692, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4024], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3952], [[38, 18, 173, 173, 173, 150, 173, 150, 173, 173, 150, 11, 11, 10, 33, 10, 150, 10, 10, 10], [9, 10, 17, 30, 34, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 12347, 0, 12184, 12664, 11704], 5939], [[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[38, 18, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 54, 33, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [15851, 12496, 0, 0, 0, 0, 0, 15087, 12341, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0], 6607], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 11, 11, 10, 33, 11, 122, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12827, 0, 0, 0], 7122], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 33, 11, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 7705], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 150, 173, 10, 33, 173, 120, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16981, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 0], 7701], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750], [[11, 11, 38, 18, 173, 173, 173, 150, 120, 11, 3, 150, 150, 173, 124, 124, 18, 11, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 0, 15852, 12496, 0, 0, 0, 0, 0, 0, 16979, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8350], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 10, 118, 33, 11, 11, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 16011, 0, 0, 0, 0, 8334, 12661, 0, 0, 0, 12661, 0, 13452, 0, 0, 0, 0, 0, 0], 8009], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15377, 0, 0, 0, 0, 0], 9226], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 9629], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284], [[18, 38, 11, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 118, 150], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0], 9365], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 0, 0], 8957], [[18, 38, 11, 150, 150, 11, 11, 11, 150, 33, 18, 120, 11, 10, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16646, 0, 0, 0, 0, 0, 0, 0, 12830, 8334, 0, 0, 11869, 0, 0, 0, 0, 0, 0], 10057], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16967, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 0, 0, 0], 6653], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 38, 11, 18, 150, 173, 173, 150, 11, 150, 33, 33, 11, 120, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 15850, 0, 12496, 0, 0, 0, 0, 0, 0, 12984, 13613, 0, 0, 0, 0, 0, 0, 0, 0], 9988], [[18, 11, 38, 173, 173, 173, 173, 150, 41, 10, 10, 33, 11, 11, 122, 54, 10, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 13296, 11705, 11705, 12346, 0, 0, 0, 0, 12826, 8334, 0, 0], 10450], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 121, 11], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12668, 0, 0], 9425], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 173, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4155], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 15851, 0, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 17771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11024], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 10, 124, 124, 173, 11, 11], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 12505, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0], 8190], [[38, 18, 11, 173, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17773, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0], 10677], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10988], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 12346, 12186, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8423], [[38, 11, 18, 173, 173, 173, 150, 11, 150, 150, 10, 54, 33, 10, 10, 11, 122, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12829, 12506, 12506, 0, 0, 0, 0, 0], 9614], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 16980, 0, 0, 0, 0, 16341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15007], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 10, 82, 60, 18, 118], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12186, 0, 0, 12984, 0, 0, 15087, 0], 11924], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5043], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 33, 3, 153, 153, 153], [3, 10, 17, 19, 30, 34, 48, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 12966, 17775, 0, 0, 0], 14062], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 11, 120, 173, 3, 173, 18, 124, 124, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 8334, 0, 0, 12346], 6799], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 33, 10, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12828, 0, 0, 0, 0], 9349], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 173, 173, 150, 18, 173, 173, 173, 150, 150, 150, 54], [10, 17, 34, 48, 113, 143, 166], [12496, 0, 16010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 7503], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 150, 10, 173, 173, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 12278], [[38, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 121, 153, 18, 18, 173], [9, 10, 17, 30, 34, 48, 55, 111, 113, 114, 115, 143, 146, 166], [16010, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 15536, 8334, 0], 14420], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 15087, 11865, 0, 0, 0, 0, 0, 0, 12506, 0, 0, 0], 8774], [[18, 11, 38, 150, 150, 120, 150, 54, 173, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 19, 25, 26, 30, 34, 48, 64, 75, 107, 111, 113, 115, 132, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14010], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 54, 122, 11, 11, 33, 33, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 12345, 12829, 12506, 12183], 8528], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 41, 10, 54, 33, 11, 11, 122, 18, 150, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 89, 115, 130, 139, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 0, 11852, 11705, 0, 12185, 0, 0, 0, 15087, 0, 0], 14410], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 173, 10, 33, 10, 18, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12508, 12987, 15087, 0], 10194], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 3, 173, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 120, 18], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 7535], [[18, 11, 38, 18, 120, 150, 120, 150, 173, 173, 173, 173, 173, 173, 150, 173, 173, 10, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16807, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 12966], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907], [[18, 11, 38, 150, 150, 173, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16979, 0, 0, 0, 0, 0, 12501, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7122], [[38, 11, 173, 173, 173, 173, 173, 120, 150, 173, 173, 18, 150, 150, 18, 3, 10, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 8334, 16661, 11867, 12828, 0, 0], 8596], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 17776, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 8334, 12021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15766], [[18, 11, 38, 150, 150, 120, 173, 41, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 13136, 8334, 12025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6160], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7400], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 3324, 0, 0, 0, 4613, 4772, 0, 4774, 5097, 0, 0, 0, 0, 0, 0], 3487], [[18, 11, 38, 150, 150, 10, 173, 118, 18, 120, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 18095, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 17903], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[11, 18, 11, 38, 150, 150, 150, 54, 11, 10, 33, 11, 122, 82, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 11705, 12185, 0, 0, 0, 13452, 0, 0, 0, 0, 0], 10364], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 33, 11, 11, 11, 54, 122, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [16981, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11866, 12346, 0, 0, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 33, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 12346, 0], 9061], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 10, 153, 153, 153, 82, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146], [12496, 0, 16981, 0, 0, 0, 0, 0, 11705, 11705, 12986, 0, 0, 0, 12185, 0, 0, 0, 0, 8334], 16660], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 150, 3, 3, 173, 173, 173, 10, 18, 122, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12500, 11705, 0, 0, 0, 11705, 8334, 0, 0], 9159], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 10, 173, 173, 173, 173, 173, 173, 118, 11, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 15693, 0, 0, 0, 0, 0, 12986, 12346, 12506, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8370], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10558], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 173, 150, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12506], 7798], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 121, 18, 173, 173, 173, 173, 173, 173, 3, 3, 11], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 15696, 15536, 0], 7008], [[18, 11, 38, 150, 150, 120, 41, 41, 173, 173, 11, 173, 173, 41, 41, 41, 3, 71, 10, 18], [3, 9, 10, 17, 30, 34, 55, 64, 111, 113, 143, 146, 166], [12496, 0, 17142, 0, 0, 0, 13133, 12813, 0, 0, 0, 0, 0, 13299, 12980, 12501, 16184, 0, 12984, 8335], 9629], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 10, 10, 33, 118, 121, 120, 11, 11, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 111, 113, 114, 130, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 0], 11485], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 3, 3, 173, 173, 173, 150, 120, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 15062, 16501, 0, 0, 0, 0, 0, 0, 0, 12496], 14485], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16807, 16807, 0, 0, 0, 0, 8334, 12507, 0, 0, 0, 0, 0, 0, 0, 12026, 0, 0], 8322], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 173, 124, 124, 10, 10, 10, 11, 122], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 53, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [12496, 0, 17936, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 12668, 12668, 11867, 0, 0], 17375], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11642], [[18, 11, 38, 38, 150, 150, 173, 173, 150, 11, 120, 54, 33, 10, 10, 11, 11, 10, 122, 153], [9, 10, 17, 18, 19, 25, 26, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0, 12663, 0, 0], 25754], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 11705, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11135], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 11, 11, 11, 33, 33, 10, 27, 82, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11869, 11868, 12349, 13617, 0, 0], 19565], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 150, 11, 11, 150, 120, 10, 33, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 11282], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 10, 54, 33, 122, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [16011, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12829, 0, 15087], 19798], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 10, 121, 33, 120, 18, 11, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 12346, 12186, 0, 12828, 0, 8334, 0, 0, 0, 0], 9545], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 10, 150, 173, 173, 33, 118, 173, 173, 173, 173, 173, 173, 11, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16011, 0, 0, 8334, 11705, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16660], [[38, 11, 18, 150, 173, 120, 150, 10, 96, 18, 121, 11, 11, 33, 150, 54, 11, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 15087, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10430], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 150, 173, 173, 150, 33, 33, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 11867, 0, 0, 0], 10290], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 150, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 12506, 0, 0, 0, 0], 21568], [[38, 11, 11, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17611, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5300], [[38, 11, 18, 173, 173, 150, 173, 3, 173, 150, 120, 18, 33, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 139, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 15537, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0], 12475], [[38, 173, 173, 173, 173, 18, 11, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16500, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6048], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 121, 118], [3, 9, 10, 17, 30, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [12496, 0, 16343, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 17084], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 15698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8977], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17775, 0, 0, 0, 0, 0, 0, 17462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7947], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 120, 10, 118, 33, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12348, 0, 0], 13899], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 150, 10, 54, 33, 11, 11, 122, 18, 153, 153], [9, 10, 17, 18, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12507, 0, 0, 0, 8334, 0, 0], 10561], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10790], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865], 10402], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3623], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0, 0, 0], 11221], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 10, 33, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 16967, 0, 0, 0, 0, 0, 0, 0], 4397], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 10, 124, 173, 33, 122, 11, 11], [0, 3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 15376, 0, 0, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 11866, 0, 0, 12984, 0, 0, 0], 12429], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9511], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328], [[18, 11, 38, 38, 150, 150, 173, 173, 120, 150, 54, 10, 33, 10, 11, 11, 10, 10, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12986, 12346, 0, 0, 11866, 11867, 0, 0], 9570], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 173, 118, 11, 11, 33, 54, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0], 14724], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [16826, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 12024, 0, 0, 0], 9663], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 150, 120, 18, 10, 54, 11, 11, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 12346, 0, 0, 0], 11734], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[11, 38, 18, 173, 150, 120, 33, 173, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 17772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 8334, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6337], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 173, 118, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 6969], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6300], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16980, 16012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4495], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 11, 38, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 15534, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12857], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 10, 124, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 12186, 0, 0, 0, 0, 0, 0, 11212], 9832], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4008], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 34, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 16982, 0, 0, 0, 0, 0, 0, 0, 0], 5553], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11970], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 18, 173, 173, 3, 173, 150, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 15852, 0, 0, 0, 0, 0], 11260], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15533, 0, 0, 0, 0, 0, 12341, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9068], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 11864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10377], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3805], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 0, 0, 14735, 0, 0, 0, 0, 0, 0, 0, 0], 13135], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7676], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9650], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 54, 10, 11, 11, 121, 150, 11, 40, 40, 173, 173], [9, 10, 17, 18, 34, 35, 48, 110, 113, 114, 139, 143, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 11052, 11848, 0, 0], 11413], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 41, 120, 18, 173, 173, 10, 54, 11, 33], [9, 10, 17, 19, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 8334, 0, 0, 12828, 0, 0, 12347], 22952], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5747], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 173, 173, 173, 10, 33, 33, 33, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16806, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11868, 12829, 12829, 12829, 0], 7811], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5406], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 18, 173, 173, 173, 150, 39, 173, 150, 150, 39, 150, 11, 11, 33, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 3004, 0, 0, 0, 3004, 0, 0, 0, 11868, 11867, 12830, 0, 0, 0], 8596], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 17939, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 13984], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6923], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15532, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16026, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 12827, 0, 11705], 14875], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497], [[11, 38, 18, 120, 173, 173, 173, 173, 150, 150, 150, 10, 33, 10, 33, 173, 173, 173, 173, 0], [9, 10, 17, 30, 34, 113, 143, 166], [0, 17776, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 12185, 0, 0, 0, 0, 0], 5408], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 64, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 0, 16967, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20391], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 12681], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0], 5277], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 33, 33, 11, 11, 10, 10, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12986, 12986, 0, 0, 12346, 11866, 0, 0, 0, 0, 0], 12097], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10808], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 10, 10, 124, 11, 54, 122, 11, 96], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 12824, 12824, 0, 0, 0, 0, 0, 0], 12527], [[38, 11, 18, 173, 173, 173, 150, 10, 173, 121, 120, 150, 173, 173, 173, 173, 150, 18, 3, 150], [3, 9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 16341, 0], 7462], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705], 9861], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 10, 33, 10, 121, 118, 120, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [17288, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 12985, 12505, 11866, 0, 0, 0, 0, 0], 15366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 173, 173, 173, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 12185], 11773], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647], [[18, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [12496, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4730], [[38, 11, 11, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 39, 39, 39], [3, 9, 10, 17, 18, 22, 25, 26, 34, 35, 48, 50, 89, 110, 113, 117, 130, 139, 143, 166], [15692, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7012, 6692, 6692, 4611, 4774], 24126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4244], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16661, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 5203], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 150, 118, 173, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12984, 0], 8878], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16697], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 54], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 12665, 0, 0, 0], 16760], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12986, 0, 0], 18377], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 33, 10, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11705, 12345, 0, 0, 0, 12022, 11222, 0, 0], 12518], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 33, 10, 10, 11, 11, 54, 122, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 0, 8334, 0, 12984, 11705, 11705, 0, 0, 0, 0, 12185, 0, 12502, 0], 6415], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 150, 54, 10, 33, 11, 18], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12830, 11869, 0, 15087], 15698], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 114, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 12351], [[38, 18, 11, 150, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 33, 54, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 11867, 0, 12347, 12986], 10116], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[18, 18, 11, 38, 38, 150, 150, 120, 173, 173, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 12496, 0, 16166, 16006, 0, 0, 0, 0, 0, 8334, 0, 0, 16486, 0, 0, 0, 0, 0, 0], 5520], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 3, 150, 18, 54, 11, 40, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 139, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0, 12496, 0, 0, 16647, 0, 0], 16343], [[11, 18, 11, 38, 173, 173, 150, 173, 173, 150, 3, 3, 173, 173, 173, 10, 173, 0, 0, 0], [3, 9, 10, 17, 34, 143, 166], [0, 12496, 0, 16967, 0, 0, 0, 0, 0, 0, 15534, 15852, 0, 0, 0, 16978, 0, 0, 0, 0], 4672], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3803], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3795], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 3, 3, 10, 11, 11, 54, 33, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 11705, 11705, 15534, 0, 0, 0, 15698, 0], 13188], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5254], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 173, 173, 18, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 12496, 0, 0, 0, 0, 0, 0], 7077], [[11, 38, 18, 150, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4872], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 13452, 0, 0, 0, 0], 8060], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 18, 150, 150, 120, 10, 11, 118, 173, 173, 33, 173, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 0, 16981, 12028, 0, 0, 0, 12829, 0, 0, 0, 0, 13292, 0, 0, 0, 0, 0, 0, 0], 6386], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 122, 118, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 11867, 12987, 12507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8661], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 16661, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10138], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 150, 10, 10, 10, 10, 10, 10, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 12348, 11865, 11705, 12827, 0], 5180], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4456], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 173, 173, 173, 173, 122, 33, 150, 173, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 9647], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[18, 11, 38, 150, 150, 120, 173, 173, 150, 18, 150, 173, 173, 173, 173, 173, 173, 3, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0], 5194], [[18, 11, 38, 150, 173, 173, 150, 120, 3, 18, 173, 33, 173, 11, 11, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 12341, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0], 11299], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 33, 54, 122, 10, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 11868, 0, 0, 0, 0, 0, 0, 0], 10634], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[18, 38, 11, 18, 150, 150, 10, 33, 11, 118, 11, 120, 18, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 16981, 0, 12027, 0, 0, 12828, 13292, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0], 8691], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 64, 113, 114, 143, 146, 166], [12496, 0, 16981, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 0, 0], 12363], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 124, 124, 173, 173, 173, 173, 150, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7721], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 155, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15694, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4149], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16342, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11847, 0, 0, 0], 10725], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624], [[18, 11, 38, 150, 150, 120, 173, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 122, 71, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 173, 173, 173, 173, 173, 10, 33, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 16646, 0], 7433], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 150, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12419], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7223], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0], 6270], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 71, 10, 33, 10, 11, 11, 122, 10, 153, 153], [0, 9, 10, 17, 30, 34, 35, 48, 64, 75, 110, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12347, 12987, 0, 0, 0, 12664, 0, 0], 10284], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4303], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 54, 11, 33, 153, 153, 153, 27], [10, 17, 25, 26, 30, 34, 48, 55, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16646, 0, 0, 0, 14891], 7421], [[11, 38, 173, 173, 173, 173, 120, 173, 150, 173, 173, 3, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 16807, 0, 0, 0, 0, 0, 0, 0], 6749], [[11, 38, 18, 54, 173, 173, 11, 3, 150, 27, 150, 173, 173, 173, 124, 124, 124, 124, 173, 28], [3, 10, 17, 25, 26, 34, 48, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 16807, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154], 7560], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 124, 124, 122, 150, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16823, 17142, 0, 0, 0, 0, 8334, 12985, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0], 8792], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 150, 124, 124, 122, 173, 173, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12985, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12930], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 121, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 83, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14018], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6820], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 8334, 13449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15673], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 9120], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11783], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 10, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0], 11089], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 124, 10, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 8282], [[18, 11, 38, 38, 3, 150, 173, 173, 173, 173, 120, 54, 11, 173, 173, 173, 173, 120, 18, 27], [3, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [12496, 0, 16982, 16981, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 15050], 7344], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 18, 124, 150, 124, 124, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 8334, 12824, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0], 11986], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18924], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7951], [[38, 11, 18, 173, 173, 173, 150, 33, 71, 153, 153, 153, 153, 153, 54, 10, 10, 10, 10, 122], [9, 10, 17, 30, 34, 48, 64, 107, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 11705, 12986, 12506, 12183, 0], 7669], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 64, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334], 12350], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9634], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 16501, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0], 15872], [[11, 38, 173, 173, 173, 120, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 25, 26, 34, 35, 48, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11940], [[38, 11, 18, 150, 173, 120, 150, 18, 54, 33, 11, 11, 11, 153, 153, 82, 10, 10, 10, 153], [9, 10, 17, 30, 34, 48, 75, 113, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12024, 12504, 12984, 0], 5901], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 12185, 11705, 12826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6900], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 173, 173, 173, 10, 33, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 17772, 0], 8728], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 0, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9781], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17641], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 10, 121, 3, 124, 124, 0, 0], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 11865, 0, 0, 0, 0], 8302], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 120, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 0, 0], 12274], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 18, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16979, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4935], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 10, 150, 150, 33, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 11705, 0, 0, 12666, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8032], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 11, 11, 10, 33, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 12025, 12986, 0], 15776], [[18, 11, 38, 150, 150, 173, 120, 173, 33, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 15532, 0, 0, 0, 0, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9327], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 11, 54, 11, 33, 122, 11, 82, 10, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 8334, 0, 12341, 12985, 0, 0, 0, 11544, 0, 0, 0, 11055, 0, 0], 28933], [[11, 11, 11, 18, 38, 11, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 150, 18, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 0, 12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0], 4858], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 54, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 16981, 12496, 0, 0, 0, 0, 0, 16181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 173, 173, 173, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8209], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 11, 124], [3, 9, 10, 17, 30, 34, 48, 55, 65, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17876], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 18, 33, 10, 11, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 8334, 16806, 16166, 0, 0, 0, 0, 0], 9176], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 54, 11, 11, 11, 122, 40, 82, 153, 153, 153], [9, 10, 17, 18, 22, 25, 30, 34, 35, 48, 50, 55, 75, 83, 111, 115, 130, 139, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0], 18329], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 12496, 0], 11453], [[38, 18, 173, 173, 173, 173, 150, 11, 150, 150, 33, 33, 10, 54, 11, 11, 10, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 12347, 12986, 0, 0, 0, 11867, 0, 0, 0], 9534], [[11, 38, 18, 11, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 16660, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 120, 3, 173, 173, 18, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 17771, 0, 0, 15087, 0, 0, 0, 0], 6598], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15222, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13622], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 10, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 12985, 0, 0, 0, 0, 0, 0, 0], 7594], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3699], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33, 33, 10, 10, 150, 150, 150], [9, 10, 17, 30, 34, 143, 146, 166], [16823, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12829, 12189, 11866, 0, 0, 0], 5752], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 173, 124, 124, 173, 10, 122, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16824, 0, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9339], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 173, 173, 173, 10, 10, 10, 173, 173, 150, 11], [9, 10, 17, 30, 34, 48, 111, 113, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11705, 12186, 12666, 0, 0, 0, 0], 7539], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 18, 11, 11, 10, 54, 33, 33, 122, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 12829, 0, 11869, 11705, 0, 0], 15327], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9854], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5486], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12024, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0], 9837], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 120, 173, 173, 10, 10, 173, 173, 173, 10, 118, 11], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 11865, 0, 0, 0, 12345, 0, 0], 9435], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 12662], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 3, 10, 33, 11, 11, 122, 54, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 130, 143, 146, 166], [12496, 0, 16660, 0, 0, 0, 0, 0, 0, 14580, 8334, 11705, 11705, 12186, 0, 0, 0, 0, 0, 0], 12493], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [12496, 0, 16662, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12345, 0, 0, 0], 10595], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10058], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4347], [[18, 11, 38, 150, 54, 11, 33, 150, 27, 150, 153, 153, 153, 153, 153, 153, 153, 28, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146], [12496, 0, 16980, 0, 0, 0, 16807, 0, 12180, 0, 0, 0, 0, 0, 0, 0, 0, 11471, 0, 0], 6270], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 173, 3, 173, 124, 173, 173, 173, 150, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 13293, 0], 13762], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 16021, 0, 0, 0, 0], 8924], [[11, 38, 38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 15692, 15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3942], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 18, 150, 150, 10, 33, 54, 122], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 12500, 12020, 0, 0], 10234], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590], [[38, 173, 173, 173, 173, 18, 150, 11, 150, 11, 18, 173, 120, 173, 173, 173, 10, 54, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15694, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 13292, 0, 0, 0], 13676], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 150, 150, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0], 5017], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 33, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 17142, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12343, 0], 6730], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17772, 0, 0, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0], 13873], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 10, 153, 153, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 12986, 0, 0, 12340, 0, 0, 0], 8877], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 11, 33, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [15533, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12346, 0, 0, 0], 11699], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 10, 122, 33, 10, 10, 11, 54, 11, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 17449, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 0, 12986, 11865, 12344, 0, 0, 0, 8334, 0], 10754], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[38, 18, 173, 173, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 54, 122, 11, 82, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16501, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12348, 12348, 11705, 0, 0, 0, 0, 13454, 0], 15227], [[11, 38, 18, 150, 173, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4609], [[18, 11, 38, 150, 150, 120, 54, 150, 11, 11, 33, 10, 10, 27, 27, 27, 122, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 75, 78, 113, 115, 130, 143, 146], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12987, 11861, 11054, 11211, 0, 0, 0, 0], 14157], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5429], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 18, 173, 173, 173, 173, 173, 10, 173, 10, 11], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 8334, 0, 0, 12501, 15087, 0, 0, 0, 0, 0, 11705, 0, 12185, 0], 8736], [[18, 11, 38, 150, 150, 173, 120, 150, 173, 173, 173, 173, 10, 33, 173, 173, 173, 10, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 0, 12987, 0, 0], 12265], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16026, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6142], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 54, 11, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16983, 0, 0, 0, 0, 0], 13227], [[11, 38, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 18, 124, 124, 150, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 17933, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 15693], 8593], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16980, 0, 0, 0, 0, 0, 0, 0, 3968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3528], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 13474], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15052, 0, 0, 0, 0, 0, 0, 0], 5258], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 3, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 13292, 0], 10562], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 14417], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5002], [[38, 11, 150, 173, 173, 173, 173, 3, 173, 120, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4911], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10097], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 10, 173, 173, 173, 173, 122, 33, 150, 11], [3, 9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12984, 12984, 0, 0, 0, 0, 0, 12345, 0, 0], 6332], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 120, 173, 173, 173, 3, 173, 173, 18, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 12347, 0, 0, 8334, 0, 0, 0], 7187], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 33, 173, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4738], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 150, 150, 3, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0], 5789], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9002], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16807, 0, 0, 0, 0, 0, 0, 0, 4934, 0, 4131, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3758], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 11, 11, 122, 153, 82, 18, 153, 153, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 0, 12829, 11868, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 12806], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10594], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 18, 120, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0], 11792], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15695, 0, 12496, 0, 0, 0, 0, 0, 0, 15370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8085], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 173, 18, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0], 8517], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 150, 10, 18, 54, 122, 11, 33, 11, 153, 153, 82], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 12501, 0, 13455, 8334, 0, 0, 0, 11866, 0, 0, 0, 0], 14806], [[18, 11, 38, 150, 173, 150, 150, 173, 173, 120, 150, 18, 173, 173, 10, 150, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 0, 0, 0, 0, 0], 10673], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16985, 0, 0, 0, 0, 0, 8334, 12186, 12186, 0, 0, 11705, 0, 0, 0, 0, 0, 0], 18262], [[38, 11, 11, 173, 173, 173, 150, 54, 11, 150, 20, 27, 10, 150, 10, 157, 157, 122, 157, 157], [9, 10, 17, 19, 25, 26, 30, 34, 48, 115, 143, 150, 166], [14577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14900, 13947, 14425, 0, 14425, 0, 0, 0, 0, 0], 17240], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 10, 54, 173, 11, 150, 122, 33, 120, 82, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 12185, 0, 0, 0], 9942], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 33, 173, 173, 173, 173, 173, 173, 18, 54, 11, 11], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 0, 14733, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 10664], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 18, 11, 11, 3, 3, 173, 173, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 13296, 13296, 0, 0, 0], 6647], [[11, 38, 18, 150, 173, 11, 10, 173, 150, 173, 173, 150, 54, 10, 33, 11, 11, 122, 10, 82], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 16332, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 0, 0, 12348, 0], 8738], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 10, 33, 122, 10, 10, 173, 173, 33, 153, 150, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 0, 11867, 12348, 0, 12987, 12505, 0, 0, 11704, 0, 0, 0], 8645], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 18, 10, 10, 54, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11704, 11705, 0, 0, 0, 12986], 14565], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 11, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15696, 0, 0, 0, 0, 0, 0, 0], 12349], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 15214, 0, 0, 0, 0], 13293], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 173, 150, 10, 33, 122, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 12986, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 150, 33, 153, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 150, 173, 124, 124, 10, 173, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 14921], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0], 16365], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106], [[11, 38, 120, 173, 173, 173, 173, 150, 173, 173, 39, 173, 173, 18, 150, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 7332, 0, 0, 12496, 0, 8334, 0, 11704, 12986, 0], 16651]], "3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4017], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[38, 11, 173, 173, 3, 173, 3, 173, 173, 150, 173, 150, 173, 124, 124, 173, 124, 0, 0, 0], [3, 10, 34, 117, 143, 166], [1899, 0, 0, 0, 2691, 0, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3556], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4046], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3169, 3651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4325], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6512], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6850], [[18, 11, 38, 150, 150, 173, 120, 11, 150, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 7010, 7170, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 6658], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[11, 18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3451], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 10, 33, 11, 10, 27, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 7164, 7164, 6685, 0, 7644, 6059, 0, 0, 0, 0, 0, 0], 8042], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 150, 3, 10, 173, 173, 173, 18, 150, 11, 11], [3, 9, 10, 17, 25, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7967, 7806, 0, 0, 0, 11177, 0, 0, 0], 8383], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 173, 11, 150, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 0, 0], 9474], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 18, 10, 11, 11, 150, 33, 122, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6682, 0, 0, 0, 7642, 0, 0], 8976], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 120, 10, 33, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7646, 7004, 0, 0, 0, 11177], 9612], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[18, 11, 38, 18, 150, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3978, 11177, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8967], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7185, 7982, 0, 0, 0], 9261], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 15386, 0, 0, 0, 14740, 15063, 14738, 0, 0, 0, 0, 0, 0, 0, 0], 5097], [[11, 11, 38, 18, 150, 173, 120, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [0, 0, 2223, 7015, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 150, 120, 10, 121, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0], 6645], [[38, 18, 173, 173, 173, 150, 11, 173, 173, 150, 173, 150, 173, 173, 54, 11, 120, 11, 11, 18], [9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [2384, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177], 10451], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4162], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 18, 11, 150, 173, 10, 150, 118, 173, 120, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 34, 111, 113, 143, 166], [3500, 7015, 0, 0, 0, 2223, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3919], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 173, 11, 33], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6059], 8243], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6847], 15032], [[18, 11, 38, 150, 150, 173, 173, 10, 150, 41, 118, 120, 173, 173, 173, 173, 173, 173, 18, 18], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 1578, 0, 3343, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424], 10686], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011], [[18, 11, 38, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 18, 18, 150, 10, 33, 54, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 6683, 7806, 0, 0], 11593], [[18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 150, 10, 173, 173, 173, 173, 121, 11, 18, 33], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 7005], 9624], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7010, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8403], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 10, 173, 33, 173, 10, 150, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 6525, 0, 7645, 0, 7006, 0, 0, 0], 10945], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 173, 173, 11, 54, 33, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 11958], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 18, 18, 10, 122, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424, 7164, 0, 7967, 0], 11792], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4401], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 33, 122, 10, 11, 11, 33, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [3185, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7003, 6682, 0, 7005, 0, 0, 6525, 0, 0], 6252], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 124, 124, 120, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5137], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 150, 18, 11, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 6740], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 0], 13769], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 10, 33, 118, 121, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6525, 0, 0, 11177, 0, 0, 0, 0], 12790], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 10, 150, 33, 122, 11, 173, 173, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7015, 0, 3344, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 7644, 0, 6684, 0, 0, 0, 0, 0], 9376], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 10, 33, 33, 11, 150, 11, 27, 10, 150, 60, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7806, 7166, 7165, 0, 0, 0, 4457, 6525, 0, 0, 0], 13028], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 6225], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 41, 150, 11, 10, 33, 54, 11, 122, 10, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 7499, 0, 0, 6525, 7644, 0, 0, 0, 7005, 0], 14442], [[38, 38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 150, 150, 173, 11, 150, 10, 120], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [3978, 3979, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0], 8537], [[18, 11, 38, 150, 150, 120, 150, 54, 120, 10, 173, 11, 11, 11, 173, 121, 33, 40, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 114, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 0, 0, 7644, 6386, 0, 0], 14047], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 18, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 122, 143, 146, 166], [1578, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 0, 0, 0], 14486], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7558], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6848, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14614], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 121, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [3004, 0, 7015, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 6120], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0], 8632], [[18, 11, 38, 18, 173, 150, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 0, 0, 0], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 11177, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4139], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 0, 6525, 0, 0], 15926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7416], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[18, 38, 11, 150, 150, 120, 150, 10, 173, 173, 173, 173, 18, 173, 122, 122, 33, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 107, 113, 115, 139, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0], 17856], [[18, 11, 38, 150, 150, 120, 18, 10, 33, 11, 122, 11, 153, 153, 153, 153, 153, 153, 150, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4807], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 54, 11, 59], [3, 10, 17, 34, 35, 48, 53, 110, 113, 117, 139, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9547], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 11, 33, 122, 11, 54, 173, 173, 173, 173, 10, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 7806, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 6846, 0], 8410], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7330, 7487, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11060], [[18, 38, 11, 150, 173, 150, 173, 150, 150, 54, 11, 10, 33, 11, 11, 122, 82, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 115, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683, 7163, 0, 0, 0, 0, 0, 0, 0], 12585], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 173, 173, 173, 173, 173, 122, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16650], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6815], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 10, 10, 10, 33, 40, 11, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 139, 143, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6847, 7487, 3978, 3979, 0, 0, 0], 9126], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 11177, 7806, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 17048], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7486, 0, 0, 0, 0, 0, 0, 7005, 7967, 0, 0], 10592], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 11, 18, 10, 33, 33, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7806, 7326, 6525, 0, 0, 0], 10323], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11, 153, 150, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 6525, 7005, 0, 0, 0, 0, 0, 0, 0], 10102], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 33, 10, 54, 122, 11, 11, 153, 153, 153, 82, 11], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [3818, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9615], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 173, 173, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7017], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 124, 124, 10, 10, 122, 33, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7648, 0, 0, 0, 0, 0, 0, 6527, 6527, 0, 7007, 0, 0], 17341], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10601], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 3, 18, 18, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7490, 7646, 11176, 11177, 0, 0], 11250], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 18], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 4584], 11308], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6922], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 120, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0], 8999], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 11, 11, 18, 10, 33, 11, 122, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2544, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7643, 6682, 0, 0, 0], 10762], [[18, 11, 38, 173, 150, 173, 150, 173, 173, 11, 54, 10, 11, 11, 33, 122, 82, 18, 153, 153], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 65, 75, 89, 111, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 6527, 0, 0, 7167, 0, 0, 4424, 0, 0], 19780], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 10, 41, 173, 173, 173, 173, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7010, 7489, 7652, 0, 0, 0, 0, 0, 0], 10328], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5282], [[38, 18, 11, 173, 150, 173, 173, 150, 120, 173, 173, 150, 11, 11, 33, 173, 10, 173, 173, 10], [9, 10, 17, 30, 34, 113, 114, 143, 166], [3004, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6842, 0, 7643, 0, 0, 7165], 6098], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 40, 153, 153, 82, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 109, 110, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 7005, 6380, 0, 0, 0, 4424, 0], 17066], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[38, 11, 18, 173, 173, 173, 18, 11, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 7015, 0, 0, 0, 0, 6851, 0, 0, 0, 0, 0, 0, 0, 0], 12560], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4936, 0, 0, 0, 0, 0, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9003], [[11, 18, 38, 11, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 10, 150, 150, 3, 124], [3, 9, 10, 17, 34, 117, 143, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532, 0, 0, 2531, 0], 7889], [[38, 11, 150, 173, 173, 173, 173, 18, 173, 150, 39, 150, 150, 10, 10, 10, 11, 11, 11, 11], [9, 10, 17, 18, 34, 48, 78, 83, 113, 130, 143, 166], [1573, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 11858, 0, 0, 7644, 7164, 6683, 0, 0, 0, 0], 10444], [[18, 38, 11, 150, 150, 120, 18, 150, 10, 10, 118, 33, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 7806, 7806, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0], 8931], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 10, 121, 150, 173, 173, 18, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 11177, 0, 0, 6685, 0], 8668], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4086], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8760], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 11, 122, 82, 10, 11, 153, 153, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7015, 0, 3975, 0, 0, 0, 0, 7806, 7806, 7325, 0, 0, 0, 0, 6683, 0, 0, 0, 6219, 0], 9543], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 173, 173, 173, 11, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7325, 7005, 7165, 0, 0, 0, 0, 6683, 0, 0, 0], 12449], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 0, 11177, 0], 14732], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493], [[11, 38, 11, 18, 173, 173, 33, 150, 153, 153, 153, 153, 150, 62, 62, 62, 10, 54, 11, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 11682], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 18], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424], 9693], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4141, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9323], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6948], [[18, 38, 11, 150, 150, 173, 173, 54, 150, 10, 33, 10, 122, 10, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 4934, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 7485, 0, 7645, 0, 0, 0, 0, 0, 0], 9006], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[18, 38, 11, 150, 173, 173, 150, 120, 150, 3, 18, 173, 10, 33, 54, 11, 11, 11, 153, 122], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 2704, 0, 0, 0, 0, 0, 0, 0, 7967, 11177, 0, 7967, 7488, 0, 0, 0, 0, 0, 0], 23126], [[38, 173, 173, 150, 173, 173, 173, 18, 11, 150, 150, 11, 11, 11, 18, 18, 10, 33, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 107, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11176, 11177, 7644, 6683, 0, 0], 11754], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 3], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 6217], 6395], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 18, 18, 150, 173, 54, 11, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 0, 0, 0, 0, 7325, 7806, 0], 13208], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7164, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6339], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 41, 173, 173, 173, 173, 150, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7170, 7500, 0, 0, 0, 0, 0, 0, 0], 6435], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157], [[18, 11, 38, 173, 173, 150, 150, 120, 10, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 7664, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8177], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6326], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 18, 11, 150, 173, 150, 120, 150, 3, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 9881], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 3, 173, 173, 173, 124, 124, 124, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7006, 7006, 0, 0, 0, 0, 0, 0, 0, 0], 9034], [[18, 11, 38, 38, 150, 150, 120, 3, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3331, 3330, 0, 0, 0, 7170, 7170, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7007], [[18, 11, 38, 150, 150, 120, 18, 150, 150, 3, 173, 173, 173, 10, 11, 11, 150, 124, 124, 121], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 83, 89, 111, 113, 114, 115, 117, 130, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 11177, 0, 0, 6525, 0, 0, 0, 7005, 0, 0, 0, 0, 0, 0], 25661], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 9948], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163], 11272], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11989], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14580, 14578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4381], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1899, 0, 0, 0, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7728], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 3843], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 6525, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 13147], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 150, 11], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 9714], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 33, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0], 10106], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0], 12880], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1735, 0, 0, 0, 0, 0, 0, 0, 14574, 14893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4027], [[18, 11, 38, 150, 173, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 150, 54, 10, 33, 11, 11, 122, 18, 82, 60], [0, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 11177, 0, 0], 8613], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7171, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12431], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 33, 11, 11, 10, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 0, 7643, 7163, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 5048], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 18, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 117, 139, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 19651], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5446], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 10, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6527, 7007, 7487, 0, 0], 20327], [[38, 18, 11, 173, 150, 150, 150, 54, 10, 33, 10, 11, 122, 118, 11, 82, 153, 153, 150, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10256], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 10, 173, 173, 54, 11, 11, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 6685, 6685, 0, 0, 0, 0, 0, 0], 12354], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685], 14872], [[18, 11, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 38, 38, 11, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 12723], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 33, 122, 11, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3485, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 0], 12114], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5230], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 10, 150, 124, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7646, 7806, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 11797], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0, 0, 0, 0, 0], 7477], [[18, 11, 38, 150, 150, 120, 18, 3, 10, 33, 122, 11, 150, 153, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7168, 7806, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15957], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926], [[18, 38, 11, 173, 173, 173, 173, 150, 150, 173, 120, 10, 11, 54, 11, 122, 33, 18, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0, 0], 15430], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3503], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 173, 3, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0], 4753], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 38, 11, 150, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 3329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5222], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 122, 54, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4620, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0], 15042], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 33, 18, 153], [10, 17, 18, 30, 34, 48, 55, 75, 113, 130, 143, 146, 166], [0, 0, 7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 11177, 0], 24106], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 54, 11, 11, 33, 150, 122, 153, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 7166, 7164, 0, 0, 0, 6525, 0, 0, 0, 0], 8406], [[18, 38, 150, 11, 11, 150, 10, 33, 54, 10, 11, 27, 27, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146], [7015, 1899, 0, 0, 0, 0, 6525, 7806, 0, 7005, 0, 6057, 6056, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 38, 11, 150, 173, 150, 173, 120, 150, 54, 150, 33, 10, 10, 11, 11, 82, 11, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 4133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7806, 7326, 0, 0, 0, 0, 0, 0], 18355], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 6215, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12494], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 150, 11, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6525, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17260], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 10, 10, 150, 121, 150, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 3819, 1900, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 6474], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 4424, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10148], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 10, 121, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 0, 6376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4547], [[38, 18, 150, 173, 173, 173, 150, 11, 11, 33, 54, 54, 11, 10, 10, 153, 153, 153, 18, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 7806, 7325, 0, 0, 0, 11177, 0], 15701], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 11, 11, 10, 10, 173, 173, 173, 173, 150, 10, 173], [9, 10, 17, 30, 34, 48, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 0, 0, 7324, 6843, 0, 0, 0, 0, 0, 6846, 0], 5488], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4698], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 16028, 0, 0, 0, 0, 14418, 15063, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3794], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3756], [[18, 38, 11, 150, 150, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3768], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 132, 143, 146, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 7488, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11728], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6216, 6214, 0, 0, 0, 0, 0, 0, 0, 0], 4884], [[38, 11, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5213], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 10, 33], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7325, 0, 0, 0, 0, 0, 0, 0, 6845, 0, 6844, 7807], 8092], [[38, 18, 173, 150, 11, 150, 150, 54, 10, 33, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2531, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 6524, 0, 0, 0, 0, 0, 0, 0, 0], 13206], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10146], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 124, 173, 173, 173, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 7485, 0, 0, 0, 0, 0, 0, 0, 7967, 0], 12477], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7646, 0, 0, 0, 0, 0, 0, 0], 5432], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9199], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 122, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 7162], 9701], [[18, 11, 38, 3, 173, 173, 173, 173, 150, 150, 173, 120, 173, 124, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4140, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 38, 11, 150, 10, 150, 173, 173, 121, 150, 120, 33, 10, 10, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 111, 113, 114, 143, 146, 166], [7015, 3819, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 6525, 7005, 7806, 0, 0, 0, 0, 0, 0], 9647], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 18, 11, 71, 150, 10, 11], [9, 10, 17, 30, 34, 48, 64, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 7164, 0], 11689], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10624], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 3, 18, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7504, 4424, 0, 0], 10863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 33, 71, 122, 11, 11, 10, 82, 60, 18, 153], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 7164, 6685, 0, 0, 0, 0, 7644, 0, 0, 11177, 0], 8713], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0], 7719], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 10, 54, 173, 11, 11, 10, 33, 122, 18, 60, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 7485, 7004, 0, 11177, 0, 0], 10808], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 115, 117, 143, 166], [0, 3818, 7015, 0, 0, 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9133], [[18, 11, 38, 150, 150, 173, 120, 3, 173, 18, 54, 10, 150, 11, 11, 33, 122, 60, 153, 153], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 7170, 0, 11177, 0, 7485, 0, 0, 0, 6058, 0, 0, 0, 0], 11511], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 0, 3330, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11661], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653], [[18, 11, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 10, 118, 11, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 0, 4142, 0, 0, 0, 11177, 7170, 7010, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 11684], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4584, 4424, 0, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3185, 0, 0, 0, 11177, 7329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7182], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 10, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [7015, 3977, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6218, 7806, 6525, 0], 7416], [[11, 38, 18, 173, 173, 173, 150, 120, 11, 173, 173, 173, 3, 3, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 3010, 0, 0, 0, 0, 0, 0], 6333], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 173, 173, 173, 173, 173, 10, 122, 54, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 0, 7020, 11177, 0, 0, 0, 0, 0, 7486, 0, 0, 6378], 10261], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 10, 122, 54, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 7490, 7490, 0, 0, 0, 0], 12382], [[18, 11, 38, 150, 150, 54, 10, 33, 10, 122, 11, 11, 122, 40, 11, 122, 82, 60, 10, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [7015, 0, 3025, 0, 0, 0, 6525, 7005, 7485, 0, 0, 0, 0, 6060, 0, 0, 0, 0, 7967, 0], 11098], [[38, 173, 173, 173, 39, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2531, 0, 0, 0, 16028, 0, 0, 14579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4331], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7391], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12952], [[38, 18, 11, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6717], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 150, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7646, 7165, 0, 0, 0], 11851], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783], [[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 33, 10, 150, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 4127, 0, 0, 0, 0, 0, 0, 6525, 7806, 0, 0], 14102], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 3, 173, 173, 173, 173, 173, 10, 33], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 7967, 0, 0, 0, 0, 0, 7487, 7006], 17676], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 10, 60, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [2851, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 0, 0, 0, 7165, 7164, 0, 11177], 8655], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 54, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 6685, 0, 0, 7167, 0, 0], 14305], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17561], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11704], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12403], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 10, 173, 124, 124, 173, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 2544, 0, 0, 0, 11177, 0, 6687, 0, 0, 7967, 0, 0, 0, 0, 0, 0, 0, 0], 9094], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 11, 150, 3, 173, 173, 120, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 11177, 0, 0, 0], 7405], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 150, 150, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 6846, 0, 0, 0, 0, 0, 0], 8311], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33, 118], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7644, 0], 15764], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 10469], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [7015, 0, 3329, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 12344], [[18, 11, 38, 150, 173, 173, 173, 173, 120, 150, 18, 173, 173, 173, 173, 10, 118, 150, 150, 150], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 15515], [[18, 11, 38, 10, 173, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 150, 150, 150, 18, 150], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0], 15960], [[18, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 89, 113, 115, 117, 143, 146, 166], [6855, 7015, 0, 3004, 0, 0, 0, 0, 11177, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0], 11810], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4960], [[18, 11, 38, 3, 173, 173, 150, 150, 173, 173, 120, 124, 124, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18914], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0], 9606], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 150, 18, 3, 124, 124], [3, 10, 17, 34, 35, 48, 89, 109, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 2849, 0, 0], 11928], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 33, 33, 54, 11, 11, 122, 150, 10, 10, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 7164, 6525, 6061, 0, 0, 0, 0, 0, 7644, 6685, 0], 6886], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5066], [[18, 11, 38, 150, 150, 173, 120, 150, 150, 120, 10, 10, 173, 173, 173, 173, 173, 33, 173, 173], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [7015, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 6525, 7644, 0, 0, 0, 0, 0, 6682, 0, 0], 5966], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7006, 0, 0, 0, 0, 0, 0, 6524, 7645, 0, 0, 0], 8137], [[11, 38, 18, 11, 150, 10, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 1899, 7015, 0, 0, 4136, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17600], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 2530, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9769], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 120, 18, 3, 173, 173, 33, 124, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 4611, 0, 11177, 7006, 0, 0, 7486, 0, 0, 0, 0, 0], 5491], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 173, 120, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[18, 11, 38, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 30, 34, 48, 53, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3650, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0], 15354], [[18, 38, 11, 150, 150, 150, 120, 173, 173, 18, 3, 173, 124, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12966], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 8081], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 120, 150, 54, 10, 10, 33, 10, 122, 11, 11, 60], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [2690, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 7644, 7164, 6524, 0, 0, 0, 0], 9291], [[18, 38, 11, 150, 150, 54, 150, 33, 10, 11, 11, 150, 10, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 75, 110, 113, 114, 115, 130, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 7806, 7166, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 28797], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 11177, 0, 0, 6686, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 10, 10, 11, 11, 11, 20, 153, 153, 153, 122], [9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6524, 0, 0, 0, 1900, 0, 0, 0, 0], 9766], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7489, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8166], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 10, 150, 33, 33, 33, 11, 11, 122, 54, 173, 173], [9, 10, 17, 25, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 0, 7163, 0, 7643, 6683, 6683, 0, 0, 0, 0, 0, 0], 10034], [[38, 173, 173, 173, 173, 18, 173, 39, 173, 173, 150, 173, 39, 150, 150, 11, 11, 33, 120, 54], [10, 17, 30, 34, 48, 113, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 16028, 0, 0, 0, 0, 17457, 0, 0, 0, 0, 6524, 0, 0], 9239], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 150, 10, 33, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 11177], 12295], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7487, 0, 0, 0], 12065], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17908], [[18, 11, 38, 173, 173, 173, 150, 150, 3, 150, 54, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 19, 34, 35, 47, 48, 53, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38240], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 10, 33, 11, 11, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7644, 6683, 0, 0, 0, 0, 0, 0, 0], 9604], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 7015], 11501], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7788], [[11, 38, 18, 173, 150, 120, 150, 173, 173, 173, 173, 150, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3026, 0, 0, 0, 0], 7619], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6537], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 11, 33, 10, 11, 11, 122, 124, 54, 10], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 7646, 7165, 0, 0, 0, 0, 0, 6686], 6124], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 0, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 12979, 14418, 0, 0, 0, 0, 0, 0, 0, 0], 3732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 15060, 15383, 15060, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3446], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 18, 18, 173, 10, 118, 173, 173, 33, 11, 11], [9, 10, 17, 19, 30, 34, 48, 89, 111, 113, 114, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 4584, 4424, 0, 7004, 0, 0, 0, 7485, 0, 0], 8774], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 11, 11, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9298], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5756], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6299], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6526, 0, 0, 0, 0, 0, 0, 0, 7345, 0, 0, 0], 9811], [[38, 18, 173, 173, 150, 11, 150, 150, 10, 33, 10, 121, 11, 11, 11, 54, 120, 118, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 78, 110, 111, 113, 114, 115, 130, 139, 143, 166], [3979, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15271], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 10, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0], 12690], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 2533, 0, 0], 6553], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 10, 18, 10, 54, 33, 33, 11, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 11177, 6682, 0, 7161, 7162, 0, 0], 10037], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 10, 18, 33, 122, 150, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 11177, 7005, 0, 0, 0], 9506], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 3, 18, 10, 54, 122, 11, 11, 33, 150, 153], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6215, 11177, 6216, 0, 0, 0, 0, 6059, 0, 0], 23350], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 38, 11, 150, 150, 120, 18, 173, 150, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12012], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5466], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 166], [0, 1899, 0, 0, 0, 0, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8947], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 18, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 11177, 0, 0, 0], 20731], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[18, 38, 11, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9900], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 33, 33, 122, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 7006, 7005, 0, 0], 5613], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17073], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 11177, 0], 10654], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5403], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 173, 120, 150, 173, 150, 3, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0], 13893], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 9242], [[38, 11, 18, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 10, 10, 11, 10, 150], [9, 10, 17, 34, 111, 113, 114, 143, 166], [3979, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 3025, 2544, 0, 2544, 0], 8828], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8204], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 173, 3, 173, 173, 18, 124, 10, 11, 11, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 11177, 0, 2704, 0, 0, 0], 15240], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 54, 122, 150, 11, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6525, 0, 0, 7165, 0, 0, 0, 0, 0, 6525, 0, 0], 14119], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 11177, 7007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18394], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 0, 0, 0, 0, 0, 0, 0, 0], [9, 17, 30, 34, 143, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 11, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [1577, 0, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5245], [[38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 124, 150, 150, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 3818, 0, 0, 0, 0, 7015, 0, 0, 0, 11177, 0], 13219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 3, 173, 120, 18, 150, 10, 150, 122, 33, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1900, 0, 0, 11177, 0, 7806, 0, 0, 8616, 6525, 0], 11688], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582], [[38, 11, 11, 173, 173, 173, 3, 173, 173, 173, 124, 124, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 34, 117, 166], [3819, 0, 0, 0, 0, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3104], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 18, 18, 33, 33, 10, 122, 54, 11, 11, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 4127, 0, 0, 0, 0, 0, 0, 11177, 11177, 7345, 7806, 6683, 0, 0, 0, 0, 0, 0], 12202], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 173, 120, 150, 173, 173, 173, 173, 150, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 0, 7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0], 10533], [[38, 11, 18, 173, 173, 173, 173, 173, 150, 173, 150, 120, 150, 10, 173, 173, 3, 122, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [2531, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 0, 0, 7163, 0, 0, 0], 14862], [[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 173, 173, 173, 173, 18, 33, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6218, 0, 0, 0, 0, 0], 5367], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 150, 11, 11, 150, 120, 11, 18, 33, 10, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [1900, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 7644, 0, 7004], 13468], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 10, 173, 173, 150, 121, 173, 120, 10, 33, 33, 10, 173, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [7015, 0, 3164, 1899, 0, 0, 0, 0, 0, 0, 6525, 7806, 7806, 7326, 0, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6525, 6525, 0, 0, 0], 10056], [[18, 11, 38, 10, 10, 10, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3978, 4772, 4449, 3967, 3967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3562], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[11, 38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 33, 173, 173, 173, 173, 173, 11, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [0, 1900, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7169, 0, 0, 0, 0, 0, 0, 0, 0], 8514], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 150, 150, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9045], [[18, 11, 38, 150, 120, 18, 173, 173, 173, 3, 173, 173, 150, 10, 173, 124, 124, 173, 173, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 11177, 0, 0, 0, 7164, 0, 0, 0, 6685, 0, 0, 0, 0, 0, 6685], 8910], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 10, 124, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 6524, 0, 0, 0, 0, 0, 0, 0], 9999], [[38, 18, 150, 173, 173, 150, 150, 33, 10, 10, 11, 11, 11, 11, 18, 54, 122, 118, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 6524, 7644, 7164, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0], 14742], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 54, 11, 11, 122, 33, 150, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4141, 0, 0, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 6378, 0, 0, 0, 0], 12826], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14380], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 7015, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5821], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 33, 150, 11, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 6526, 0, 0, 0, 0], 10646], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 150, 173, 173, 18, 173, 173, 173, 33, 173, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6378, 0, 0, 0], 8491], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4148], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 173, 173, 173, 173, 173, 33, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6526, 6525, 0, 0, 0, 0, 0, 7005, 7806, 0, 0, 0, 0], 8687], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 173, 173, 3, 173, 173, 173, 33, 54, 153, 153, 153], [3, 10, 17, 30, 34, 35, 48, 55, 75, 139, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 3659, 0, 0, 3659, 0, 0, 0, 3025, 0, 0, 0, 0], 17221], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7204], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 124, 150, 10, 124, 124, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0, 0], 18158], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 11, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6676], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 120, 33, 10, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0, 0, 0, 0], 8695], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 150, 124, 33, 10, 54, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 6524, 7004, 0, 0, 0, 7644, 0], 10605], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 4424], 12303], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 113, 114, 115, 117, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7330, 0, 0, 0, 0], 12364], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 10, 33, 33, 11, 11, 118, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7643, 6841, 6681, 0, 0, 0, 0, 0, 0], 11908], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 150, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 115, 130, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643], 14568], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0], 12101], [[18, 38, 11, 150, 173, 150, 150, 150, 10, 33, 54, 122, 10, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 32003], [[38, 18, 173, 150, 11, 150, 150, 120, 33, 10, 10, 54, 11, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 6524, 7644, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11672], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 124, 124, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 0, 7005, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13317], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 173, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524], 16342], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 33, 173, 122, 150, 11, 11, 54, 153, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18125], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 4299, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23925], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 3, 173, 173, 124, 124, 124, 173, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 0], 16667], [[18, 11, 38, 150, 173, 150, 173, 173, 173, 120, 18, 33, 10, 11, 11, 122, 11, 150, 54, 10], [9, 10, 17, 19, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 143, 146, 155, 166], [7015, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 11177, 6526, 7006, 0, 0, 0, 0, 0, 0, 7486], 20729], [[18, 11, 38, 150, 150, 150, 173, 173, 120, 10, 121, 33, 10, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 113, 114, 115, 130, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7167, 0, 7806, 6527, 0, 0, 0, 0, 0, 0, 0], 20281]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/filter.json b/dizoo/distar/policy/z_files/filter.json new file mode 100644 index 0000000000..d4a9a9994a --- /dev/null +++ b/dizoo/distar/policy/z_files/filter.json @@ -0,0 +1 @@ +{"NewRepugnancy": {"zerg": {"16176": [[[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457, 2], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649, 2], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376, 2], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590, 2], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732, 0], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803, 2], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487, 1], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849, 2], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416, 1], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842, 2], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106, 2], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284, 1], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797, 0], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789, 2], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865, 0], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997, 1], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131, 2], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681, 1], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513, 1], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170, 2], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872, 0], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216, 2], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907, 0], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154, 2], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624, 2], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080, 2], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663, 2], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608, 2], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802, 1], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497, 2], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455, 2], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508, 2], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084, 1], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079, 1], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 2], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147, 2], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436, 2], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647, 2], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806, 1], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237, 2], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937, 1], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937, 0], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948, 1], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968, 1], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470, 2], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849, 0], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835, 1], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 1], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719, 0], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 0], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090, 1], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961, 1], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765, 2], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840, 1], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036, 2], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933, 1], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287, 2], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830, 0], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469, 2], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339, 2]], "3015": [[[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778, 1], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823, 1], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807, 1], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331, 2], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807, 0], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801, 2], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422, 1], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044, 1], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021, 1], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234, 0], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385, 2], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339, 1], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680, 2], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 2], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735, 1], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663, 2], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394, 1], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 2], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095, 2], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502, 2], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403, 1], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397, 0], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677, 2], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823, 0], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582, 1], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 0], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292, 1], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408, 2], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007, 2], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947, 2], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706, 0], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109, 2], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418, 1], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468, 2], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947, 0], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754, 1], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743, 2], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755, 1], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011, 2], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659, 2], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431, 1], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653, 1], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617, 1], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923, 1], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 1]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/lurker.json b/dizoo/distar/policy/z_files/lurker.json new file mode 100644 index 0000000000..e626946fbf --- /dev/null +++ b/dizoo/distar/policy/z_files/lurker.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[38, 18, 173, 150, 11, 150, 150, 33, 120, 10, 10, 54, 11, 11, 11, 173, 173, 173, 118, 122], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [20296, 16294, 0, 0, 0, 0, 0, 16282, 0, 16762, 17402, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19422], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 10, 124, 124, 150, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 110, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 22529, 0, 0, 0, 0, 0, 21062, 0, 16283, 0, 16764, 0, 0, 0, 0, 17404, 0, 0], 26838], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16783, 15663, 0, 0, 15336], 21134], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 124, 10, 173, 150, 173, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 65, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21741, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 16440, 0, 0, 0, 0, 16597, 0], 25769], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 86, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 0, 21062, 0, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29763], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 173, 150, 122, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29739], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 150, 10, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0], 16648], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 173, 173, 122, 124, 33, 173, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 16283, 0, 0, 16764, 0, 0, 0, 0, 17402, 0, 0, 0], 26418], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835]], "2899": [[[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 173, 173, 122, 150, 173, 54, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 20021], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 10, 118, 18, 120, 173, 173, 173, 54, 11, 11, 173, 150, 3, 173, 173], [3, 9, 10, 17, 18, 22, 25, 26, 34, 48, 50, 111, 113, 114, 117, 130, 143, 166], [7697, 0, 3695, 0, 0, 2092, 0, 6748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0], 11245], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [7697, 3695, 0, 0, 0, 0, 0, 0, 0, 2929, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0], 34015]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 11, 38, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 150, 124, 124, 10, 33, 122, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 55, 56, 64, 75, 78, 83, 85, 86, 89, 107, 109, 110, 111, 112, 113, 114, 115, 117, 122, 130, 132, 143, 146, 155, 166], [7015, 0, 3665, 0, 0, 0, 4424, 0, 7004, 0, 0, 0, 0, 0, 0, 6524, 7644, 0, 0, 0], 44372]], "16176": [[[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 150, 19, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 16006, 0, 0, 0, 0], 15992], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 11, 11, 11, 54, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 111, 113, 115, 130, 143, 146, 155, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17155]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166, 155, 56], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166, 47], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166, 47, 48], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/mutalisk.json b/dizoo/distar/policy/z_files/mutalisk.json new file mode 100644 index 0000000000..f099f0ceed --- /dev/null +++ b/dizoo/distar/policy/z_files/mutalisk.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14085], [[11, 38, 18, 11, 150, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 21568, 16294, 0, 0, 0, 0, 0, 0, 16284, 16924, 17403, 0, 0, 0, 0, 0, 0, 0, 0], 8186], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 11, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13191], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 54, 173, 173, 150, 121, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9733], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14734], [[11, 18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 173, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 113, 114, 115, 117, 139, 143, 146, 166], [0, 16294, 0, 20136, 0, 0, 0, 0, 21062, 0, 16283, 0, 0, 0, 0, 0, 16923, 0, 0, 0], 13327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 11, 11, 54, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 109, 110, 113, 115, 117, 122, 139, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 17403], 18868], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [20296, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 16449, 21062, 0, 0, 0, 0, 0, 0, 0, 0], 14567], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 13738], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 10, 150, 121, 118, 173, 173, 173, 173], [9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [7697, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 2929, 7223, 7703, 0, 0, 0, 0, 0, 0, 0], 16310], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 173, 173, 173, 173, 173, 3, 10, 150, 121, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 8007, 6571, 0, 0, 0], 11501], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 173, 124, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 2729, 0, 0, 0, 2929, 7708, 0, 0, 0, 7551, 0, 0, 0, 0, 0, 0, 0, 0], 9593], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7697, 0, 2589, 0, 0, 0, 0, 2929, 7227, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 13032], [[18, 11, 38, 150, 150, 173, 173, 173, 54, 150, 120, 10, 11, 11, 121, 11, 33, 10, 173, 40], [9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 139, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 7228, 6589, 0, 2093], 21142], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 11, 173, 150, 173, 173, 54], [3, 10, 17, 34, 35, 48, 109, 113, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11308], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 173, 173, 173, 173, 173, 173, 11, 18, 3], [3, 9, 10, 17, 19, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7697, 0, 2424, 0, 0, 0, 1617, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2929, 3066], 15230], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 54, 11, 11, 150], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7697, 0, 2423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 11, 150, 124, 11, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 89, 109, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [3230, 0, 7697, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 29570], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7325], 12952], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 118, 173, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 150, 10, 124, 11, 11, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 12986, 0, 0, 0, 0, 12506], 18377], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 38, 150, 150, 173, 150, 11, 11, 173, 150, 54, 10, 10, 11, 11, 118, 121, 40, 120, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [5933, 3051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6264, 7062, 0, 0, 0, 0, 1607, 0, 0], 11639], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 10, 120, 18, 173, 118, 150], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 6900, 0, 10731, 0, 0, 0], 11354], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 18, 120, 33, 54, 10], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 110, 111, 113, 115, 139, 143, 146, 166], [2891, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 6900, 0, 6421], 17207], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 150, 150, 11, 11, 10, 11, 54, 33, 122, 18, 11], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [1619, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 6584, 0, 10731, 0], 12062], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 3, 121, 3, 11, 150, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 6901, 6423, 0, 6103, 0, 0, 0, 0, 0, 0], 11364]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/nydus.json b/dizoo/distar/policy/z_files/nydus.json new file mode 100644 index 0000000000..54e8db28c8 --- /dev/null +++ b/dizoo/distar/policy/z_files/nydus.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 11, 150, 54, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 115, 117, 143, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 0], 8242], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 0, 21062, 0, 16604, 0, 0, 0, 0, 0, 0, 0, 0], 16568], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12311]], "2899": [[[18, 11, 38, 150, 150, 54, 150, 11, 33, 27, 153, 153, 153, 153, 153, 153, 153, 153, 153, 28], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [7697, 0, 3695, 0, 0, 0, 0, 0, 6571, 8495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20243], 11440], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 122, 82, 18, 153, 27, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 7709, 7229, 0, 0, 0, 0, 2929, 0, 6570, 0, 0], 13232], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 173, 173, 54, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 2929, 7386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7866], 11365], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 124, 124, 124, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20124], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 10, 33, 173, 173, 173, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 7227, 0, 0, 0, 0, 0], 15065], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 7386, 0, 0, 0, 0, 0, 0, 0, 0], 10479]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[38, 18, 173, 173, 11, 150, 150, 54, 33, 11, 27, 150, 150, 153, 153, 153, 153, 153, 153, 28], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6738, 0, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 20244], 5973], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 18, 122, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 6582, 6899, 0, 0, 0, 10731, 0, 0], 11219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2266, 0, 0, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9399]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/perfect_z.json b/dizoo/distar/policy/z_files/perfect_z.json new file mode 100644 index 0000000000..1a3afc09f5 --- /dev/null +++ b/dizoo/distar/policy/z_files/perfect_z.json @@ -0,0 +1 @@ +{"NewRepugnancy": {"zerg": {"3015": [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588]], "16176": [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/stairs.json b/dizoo/distar/policy/z_files/stairs.json new file mode 100644 index 0000000000..460d201a8b --- /dev/null +++ b/dizoo/distar/policy/z_files/stairs.json @@ -0,0 +1 @@ +{"NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 14588], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 10, 17, 34, 113, 143, 117, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8000], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 10, 17, 34, 113, 143, 117, 166, 30, 146, 55], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 12000]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 14588], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 34, 113, 143, 117, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8000], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 143, 117, 166, 30, 146, 55], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000]]}}} \ No newline at end of file diff --git a/dizoo/distar/policy/z_files/worker_rush.json b/dizoo/distar/policy/z_files/worker_rush.json new file mode 100644 index 0000000000..34d55a30a6 --- /dev/null +++ b/dizoo/distar/policy/z_files/worker_rush.json @@ -0,0 +1 @@ +{"KingsCove": {"zerg": {"20772": [[[38, 173, 173, 173, 173, 173, 39, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21087, 0, 0, 0, 0, 0, 3231, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4437], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [22375, 0, 0, 0, 0, 0, 0, 0, 4179, 3862, 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741]], "2899": [[[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19011, 0, 19011, 0, 19498, 0, 0, 0, 0, 0, 0, 0, 0], 4161], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19013, 19175, 19659, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3532], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 0, 19973, 19971, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4282], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 19011, 0, 0, 0, 0, 19337, 19332, 19331, 0, 0, 0, 0, 0, 0, 0], 3774]]}}, "NewRepugnancy": {"zerg": {"3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384]], "16176": [[[38, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4354]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[38, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 19774, 0, 0, 0, 18662, 18664, 18986, 18984, 0, 0, 0, 0, 0, 0, 0, 0], 4862], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 0, 0, 0, 18823, 18985, 18827, 18665, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4135]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file From f44f54daa4812e6f0842d3996aa1f8cb2a7f9d9e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 01:30:57 +0800 Subject: [PATCH 146/229] adjust codes to run the pipeline --- .../middleware/functional/collector.py | 5 + ding/framework/middleware/league_actor.py | 6 +- ding/framework/middleware/league_learner.py | 16 +- ding/framework/middleware/tests/__init__.py | 1 - .../middleware/tests/league_config.py | 164 ------------------ .../middleware/tests/test_league_learner.py | 24 +-- .../middleware/tests/test_league_pipeline.py | 3 +- dizoo/distar/config/distar_config.py | 2 +- dizoo/distar/policy/utils.py | 2 +- 9 files changed, 32 insertions(+), 191 deletions(-) delete mode 100644 ding/framework/middleware/tests/league_config.py diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index a4d12eb02e..3f677f626e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -13,6 +13,7 @@ from ding.framework import OnlineRLContext, BattleContext from collections import deque from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories +from dizoo.distar.envs.fake_data import rl_step_data class TransitionList: @@ -106,6 +107,8 @@ def _cut_trajectory_from_episode(self, episode: list): num_complele_trajectory, num_tail_transitions = divmod(len(episode), self._unroll_len) for i in range(num_complele_trajectory): trajectory = episode[i * self._unroll_len:(i + 1) * self._unroll_len] + # TODO(zms): 测试专用,之后去掉 + trajectory.append(rl_step_data(last=True)) return_episode.append(trajectory) if num_tail_transitions > 0: @@ -116,6 +119,8 @@ def _cut_trajectory_from_episode(self, episode: list): for _ in range(self._unroll_len - len(trajectory)): initial_elements.append(trajectory[0]) trajectory = initial_elements + trajectory + # TODO(zms): 测试专用,之后去掉 + trajectory.append(rl_step_data(last=True)) return_episode.append(trajectory) return return_episode # list of trajectories diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 04dd8338b2..43f8677873 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -275,11 +275,9 @@ def __call__(self, ctx: "BattleContext"): # print(ctx.trajectories_list) # ctx.trajectories_list[0] for policy_id 0 # ctx.trajectories_list[0][0] for first env - print(len(ctx.trajectories_list[0])) if len(ctx.trajectories_list[0]) > 0: - print(len(ctx.trajectories_list[0][0].trajectories)) for traj in ctx.trajectories_list[0][0].trajectories: - assert len(traj) == self.unroll_len + assert len(traj) == self.unroll_len + 1 if ctx.job_finish is True: print('we finish the job !') assert len(ctx.trajectories_list[0][0].trajectories) > 0 @@ -311,7 +309,7 @@ def __call__(self, ctx: "BattleContext"): ) if ctx.job_finish is True: - job.result = [e['result'] for e in ctx.episode_info[0]] + job.result = None task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] print('Actor {} job finish, send job\n'.format(task.router.node_id), flush=True) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index f0c172e776..fceaf68018 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -39,22 +39,22 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: def _push_data(self, data: "ActorData"): print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) - - # for env_trajectories in data.train_data: - # for traj in env_trajectories.trajectories: - # print(len(traj)) - # self._cache.append(traj) - self._cache.append(data.train_data) + for env_trajectories in data.train_data: + for traj in env_trajectories.trajectories: + self._cache.append(traj) + # self._cache.append(data.train_data) def __call__(self, ctx: "Context"): - print("push data into the ctx") + # print("push data into the ctx") ctx.trajectories = list(self._cache) self._cache.clear() sleep(1) yield - print("Learner: save model, ctx.train_iter:", ctx.train_iter) + # print("Learner: save model, ctx.train_iter:", ctx.train_iter) self.player.total_agent_step = ctx.train_iter if self.player.is_trained_enough(): + print('trained enough!') + print('----------------------------------------------------------------------------------') storage = FileStorage( path=os.path.join(self.prefix, "{}_{}_ckpt.pth".format(self.player_id, ctx.train_iter)) ) diff --git a/ding/framework/middleware/tests/__init__.py b/ding/framework/middleware/tests/__init__.py index 8fc101ec04..8e6f536af1 100644 --- a/ding/framework/middleware/tests/__init__.py +++ b/ding/framework/middleware/tests/__init__.py @@ -1,2 +1 @@ from .mock_for_test import * -from .league_config import cfg diff --git a/ding/framework/middleware/tests/league_config.py b/ding/framework/middleware/tests/league_config.py deleted file mode 100644 index 7fea5fa746..0000000000 --- a/ding/framework/middleware/tests/league_config.py +++ /dev/null @@ -1,164 +0,0 @@ -from easydict import EasyDict -cfg = EasyDict( - { - 'env': { - 'manager': { - 'episode_num': 100000, - 'max_retry': 1000, - 'retry_type': 'renew', - 'auto_reset': True, - 'step_timeout': None, - 'reset_timeout': None, - 'retry_waiting_time': 0.1, - 'cfg_type': 'BaseEnvManagerDict', - 'shared_memory': False, - 'return_original_data': True - }, - 'collector_env_num': 1, - 'evaluator_env_num': 1, - 'n_evaluator_episode': 100, - 'env_type': 'prisoner_dilemma', - 'stop_value': [-10.1, -5.05] - }, - 'policy': { - 'model': { - 'obs_shape': 2, - 'action_shape': 2, - 'action_space': 'discrete', - 'encoder_hidden_size_list': [32, 32], - 'critic_head_hidden_size': 32, - 'actor_head_hidden_size': 32, - 'share_encoder': False - }, - 'learn': { - 'learner': { - 'train_iterations': 1000000000, - 'dataloader': { - 'num_workers': 0 - }, - 'log_policy': False, - 'hook': { - 'load_ckpt_before_run': '', - 'log_show_after_iter': 100, - 'save_ckpt_after_iter': 10000, - 'save_ckpt_after_run': True - }, - 'cfg_type': 'BaseLearnerDict' - }, - 'multi_gpu': False, - 'epoch_per_collect': 10, - 'batch_size': 16, - 'learning_rate': 1e-05, - 'value_weight': 0.5, - 'entropy_weight': 0.0, - 'clip_ratio': 0.2, - 'adv_norm': True, - 'value_norm': True, - 'ppo_param_init': True, - 'grad_clip_type': 'clip_norm', - 'grad_clip_value': 0.5, - 'ignore_done': False, - 'update_per_collect': 3, - 'scheduler': { - 'schedule_flag': False, - 'schedule_mode': 'reduce', - 'factor': 0.005, - 'change_range': [0, 1], - 'threshold': 0.5, - 'patience': 50 - } - }, - 'collect': { - 'collector': { - 'deepcopy_obs': False, - 'transform_obs': False, - 'collect_print_freq': 100, - 'get_train_sample': True, - 'cfg_type': 'BattleEpisodeSerialCollectorDict' - }, - 'discount_factor': 1.0, - 'gae_lambda': 1.0, - 'n_episode': 1, - 'n_rollout_samples': 64, - 'n_sample': 64, - 'unroll_len': 1 - }, - 'eval': { - 'evaluator': { - 'eval_freq': 50, - 'cfg_type': 'BattleInteractionSerialEvaluatorDict', - 'stop_value': [-10.1, -5.05], - 'n_episode': 100 - } - }, - 'other': { - 'replay_buffer': { - 'type': 'naive', - 'replay_buffer_size': 10000, - 'deepcopy': False, - 'enable_track_used_data': False, - 'periodic_thruput_seconds': 60, - 'cfg_type': 'NaiveReplayBufferDict' - }, - 'league': { - 'player_category': ['default'], - 'path_policy': 'league_demo/ckpt', - 'active_players': { - 'main_player': 2 - }, - 'main_player': { - 'one_phase_step': 10, # 20 - 'branch_probs': { - 'pfsp': 0.0, - 'sp': 1.0 - }, - 'strong_win_rate': 0.7 - }, - 'main_exploiter': { - 'one_phase_step': 200, - 'branch_probs': { - 'main_players': 1.0 - }, - 'strong_win_rate': 0.7, - 'min_valid_win_rate': 0.3 - }, - 'league_exploiter': { - 'one_phase_step': 200, - 'branch_probs': { - 'pfsp': 1.0 - }, - 'strong_win_rate': 0.7, - 'mutate_prob': 0.5 - }, - 'use_pretrain': False, - 'use_pretrain_init_historical': False, - 'payoff': { - 'type': 'battle', - 'decay': 0.99, - 'min_win_rate_games': 8 - }, - 'metric': { - 'mu': 0, - 'sigma': 8.333333333333334, - 'beta': 4.166666666666667, - 'tau': 0.0, - 'draw_probability': 0.02 - } - } - }, - 'type': 'ppo', - 'cuda': False, - 'on_policy': True, - 'priority': False, - 'priority_IS_weight': False, - 'recompute_adv': True, - 'action_space': 'discrete', - 'nstep_return': False, - 'multi_agent': False, - 'transition_with_policy_data': True, - 'cfg_type': 'PPOPolicyDict' - }, - 'exp_name': 'league_demo', - 'seed': 0 - } -) diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 2cea66a445..643e8901ec 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -13,7 +13,7 @@ from ding.framework.middleware import data_pusher,\ OffPolicyLearner, LeagueLearnerExchanger from ding.framework.middleware.functional.actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories -from ding.framework.middleware.tests import cfg, MockLeague, MockLogger +from dizoo.distar.config import distar_cfg from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy from ding.league.v2 import BaseLeague from dizoo.distar.envs.distar_env import DIStarEnv @@ -26,8 +26,8 @@ def prepare_test(): - global cfg - cfg = deepcopy(cfg) + global distar_cfg + cfg = deepcopy(distar_cfg) env_cfg = read_config('./test_distar_config.yaml') def env_fn(): @@ -68,12 +68,12 @@ def _actor_mocker(ctx): player = league.active_players[(task.router.node_id + 2) % n_players] print("actor player:", player.player_id) for _ in range(24): - # meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) - # data = fake_rl_data_batch_with_last() - # actor_data = ActorData(meta=ActorDataMeta, train_data=ActorEnvTrajectories(env_id=0, trajectories=[data])) - + meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) data = fake_rl_data_batch_with_last() - actor_data = TestActorData(env_step=0, train_data=data) + actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) + + # data = fake_rl_data_batch_with_last() + # actor_data = TestActorData(env_step=0, train_data=data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) @@ -83,15 +83,17 @@ def _actor_mocker(ctx): def _main(): + logging.disable(logging.WARNING) cfg, env_fn, policy_fn = prepare_test() league = BaseLeague(cfg.policy.other.league) with task.start(async_mode=True, ctx=BattleContext()): if task.router.node_id == 0: task.use(coordinator_mocker()) - elif task.router.node_id <= 2: + elif task.router.node_id <= 1: task.use(actor_mocker(league)) else: + cfg.policy.collect.unroll_len = 1 buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) n_players = len(league.active_players_ids) print("League: n_players: ", n_players) @@ -105,8 +107,8 @@ def _main(): @pytest.mark.unittest def test_league_learner(): - Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(_main) if __name__ == '__main__': - Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(_main) + Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 3d067bfcef..95cb441a88 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -68,7 +68,7 @@ def collect_policy_fn(cls): def main(): - logging.getLogger().setLevel(logging.INFO) + logging.disable(logging.WARNING) # cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() league = BaseLeague(cfg.policy.other.league) N_PLAYERS = len(league.active_players_ids) @@ -81,6 +81,7 @@ def main(): if task.router.node_id == 0: task.use(LeagueCoordinator(cfg, league)) elif task.router.node_id <= N_PLAYERS: + cfg.policy.collect.unroll_len = 1 buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) player = league.active_players[task.router.node_id % N_PLAYERS] policy = PrepareTest.policy_fn() diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index ff54b36afa..0b532f2da3 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -82,7 +82,7 @@ 'n_episode': 1, 'n_rollout_samples': 64, 'n_sample': 64, - 'unroll_len': 1 + 'unroll_len': 4 }, 'eval': { 'evaluator': { diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py index b503323c6a..393fd6e2c5 100644 --- a/dizoo/distar/policy/utils.py +++ b/dizoo/distar/policy/utils.py @@ -9,7 +9,7 @@ def padding_entity_info(traj_data, max_entity_num): - traj_data.pop('map_name', None) + # traj_data.pop('map_name', None) entity_padding_num = max_entity_num - len(traj_data['entity_info']['x']) if 'entity_embeddings' in traj_data.keys(): traj_data['entity_embeddings'] = torch.nn.functional.pad( From 9c0d6f3953d92877db635998f4c8e5b3494660a5 Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Thu, 23 Jun 2022 17:03:43 +0800 Subject: [PATCH 147/229] polish(nyz): polish parse_new_game and add transform_obs --- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/envs/distar_env.py | 569 ++++++++++++++++++++++++++- dizoo/distar/envs/fake_data.py | 5 +- dizoo/distar/envs/meta.py | 4 + dizoo/distar/policy/distar_policy.py | 64 +-- 5 files changed, 571 insertions(+), 73 deletions(-) diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index a639510e3c..5837c285ba 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,4 +1,4 @@ -from .distar_env import DIStarEnv +from .distar_env import DIStarEnv, parse_new_game, transform_obs from .meta import * from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS from .stat import Stat diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index cf78177401..c61f3c8454 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -1,10 +1,32 @@ -from distar.envs.env import SC2Env +from typing import Optional, List +from copy import deepcopy +from collections import defaultdict +from s2clientprotocol import sc2api_pb2 as sc_pb +from pysc2.lib import named_array, colors +from pysc2.lib.features import Effects, ScoreCategories, FeatureType, Feature +from torch import int8, uint8, int16, int32, float32, float16, int64 -from ding.envs import BaseEnv, BaseEnvTimestep -from distar.agent.default.lib.features import MAX_DELAY, SPATIAL_SIZE, MAX_SELECTED_UNITS_NUM -from distar.pysc2.lib.action_dict import ACTIONS_STAT -import torch +import six +import collections +import enum +import json import random +import numpy as np +import torch +import os.path as osp + +from ding.envs import BaseEnv, BaseEnvTimestep +try: + from distar.envs.env import SC2Env +except ImportError: + + class SC2Env: + pass +from .meta import MAX_DELAY, MAX_SELECTED_UNITS_NUM, DEFAULT_SPATIAL_SIZE, MAX_ENTITY_NUM, NUM_UPGRADES, NUM_ACTIONS, \ + NUM_UNIT_TYPES, NUM_UNIT_MIX_ABILITIES, EFFECT_LENGTH, UPGRADE_LENGTH, BEGINNING_ORDER_LENGTH +from .static_data import ACTIONS_STAT, RACE_DICT, UNIT_TYPES_REORDER_ARRAY, UPGRADES_REORDER_ARRAY, \ + CUMULATIVE_STAT_ACTIONS, UNIT_ABILITY_REORDER, ABILITY_TO_QUEUE_ACTION, BUFFS_REORDER_ARRAY, \ + ADDON_REORDER_ARRAY class DIStarEnv(SC2Env, BaseEnv): @@ -21,7 +43,8 @@ def close(self): def step(self, actions): # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') - # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) + # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, + # 'action_result': self._action_result[agent_idx]}, reward, episode_complete) next_observations, reward, done = super(DIStarEnv, self).step(actions) # next_observations 和 observations 格式一样 # reward 是 list [policy reward 1, policy reard 2] @@ -86,7 +109,8 @@ def random_action(cls, obs): exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) - # if an action should have target, but we don't have valid target in this observation, then discard this action + # if an action should have target, but we don't have valid target in this observation, + # then discard this action if len(action['target_type']) != 0 and len(exist_target_types) == 0: continue @@ -127,13 +151,14 @@ def random_action(cls, obs): 'queued': random.randint(0, 1), 'unit_tags': unit_tags, 'target_unit_tag': target_unit_tag, - 'location': (random.randint(0, SPATIAL_SIZE[0] - 1), random.randint(0, SPATIAL_SIZE[1] - 1)) + 'location': ( + random.randint(0, DEFAULT_SPATIAL_SIZE[0] - 1), random.randint(0, DEFAULT_SPATIAL_SIZE[1] - 1) + ) } return [data] @property def reward_space(self): - #TODO pass @@ -141,9 +166,523 @@ def __repr__(self): return "DI-engine DI-star Env" -# if __name__ == '__main__': -# no_target_unit_actions = sorted([action['func_id'] for action in ACTIONS if action['target_unit'] == False]) -# no_target_unit_actions_dict = sorted([action_id for action_id, action in ACTIONS_STAT.items() if len(action['target_type']) == 0]) -# print(no_target_unit_actions) -# print(no_target_unit_actions_dict) -# assert no_target_unit_actions == no_target_unit_actions_dict +def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): + # init Z + z_path = osp.join(osp.dirname(__file__), '../envs', z_path) + with open(z_path, 'r') as f: + z_data = json.load(f) + + raw_ob = data['raw_obs'] + game_info = data['game_info'] + map_size = data['map_size'] + map_name = data['map_name'] + requested_races = { + info.player_id: info.race_requested + for info in game_info.player_info if info.type != sc_pb.Observer + } + location = [] + for i in raw_ob.observation.raw_data.units: + if i.unit_type == 59 or i.unit_type == 18 or i.unit_type == 86: + location.append([i.pos.x, i.pos.y]) + assert len(location) == 1, 'no fog of war, check game version!' + born_location = deepcopy(location[0]) + born_location = location[0] + born_location[0] = int(born_location[0]) + born_location[1] = int(map_size.y - born_location[1]) + born_location_str = str(born_location[0] + born_location[1] * 160) + + z_type = None + idx = None + race = RACE_DICT[requested_races[raw_ob.observation.player_common.player_id]] + opponent_id = 1 if raw_ob.observation.player_common.player_id == 2 else 2 + opponent_race = RACE_DICT[requested_races[opponent_id]] + if race == opponent_race: + mix_race = race + else: + mix_race = race + opponent_race + if z_idx is not None: + idx, z_type = random.choice(z_idx[map_name][mix_race][born_location_str]) + z = z_data[map_name][mix_race][born_location_str][idx] + else: + z = random.choice(z_data[map_name][mix_race][born_location_str]) + + if len(z) == 5: + target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = z + else: + target_building_order, target_cumulative_stat, bo_location, target_z_loop = z + return race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop + + +class FeatureUnit(enum.IntEnum): + """Indices for the `feature_unit` observations.""" + unit_type = 0 + alliance = 1 + cargo_space_taken = 2 + build_progress = 3 + health_max = 4 + shield_max = 5 + energy_max = 6 + display_type = 7 + owner = 8 + x = 9 + y = 10 + cloak = 11 + is_blip = 12 + is_powered = 13 + mineral_contents = 14 + vespene_contents = 15 + cargo_space_max = 16 + assigned_harvesters = 17 + weapon_cooldown = 18 + order_length = 19 # If zero, the unit is idle. + order_id_0 = 20 + order_id_1 = 21 + # tag = 22 # Unique identifier for a unit (only populated for raw units). + is_hallucination = 22 + buff_id_0 = 23 + buff_id_1 = 24 + addon_unit_type = 25 + is_active = 26 + order_progress_0 = 27 + order_progress_1 = 28 + order_id_2 = 29 + order_id_3 = 30 + is_in_cargo = 31 + attack_upgrade_level = 32 + armor_upgrade_level = 33 + shield_upgrade_level = 34 + health = 35 + shield = 36 + energy = 37 + + +class MinimapFeatures(collections.namedtuple( + "MinimapFeatures", + ["height_map", "visibility_map", "creep", "player_relative", "alerts", "pathable", "buildable"])): + """The set of minimap feature layers.""" + __slots__ = () + + def __new__(cls, **kwargs): + feats = {} + for name, (scale, type_, palette) in six.iteritems(kwargs): + feats[name] = Feature( + index=MinimapFeatures._fields.index(name), + name=name, + layer_set="minimap_renders", + full_name="minimap " + name, + scale=scale, + type=type_, + palette=palette(scale) if callable(palette) else palette, + clip=False + ) + return super(MinimapFeatures, cls).__new__(cls, **feats) # pytype: disable=missing-parameter + + +MINIMAP_FEATURES = MinimapFeatures( + height_map=(256, FeatureType.SCALAR, colors.height_map), + visibility_map=(4, FeatureType.CATEGORICAL, colors.VISIBILITY_PALETTE), + creep=(2, FeatureType.CATEGORICAL, colors.CREEP_PALETTE), + player_relative=(5, FeatureType.CATEGORICAL, colors.PLAYER_RELATIVE_PALETTE), + alerts=(2, FeatureType.CATEGORICAL, colors.winter), + pathable=(2, FeatureType.CATEGORICAL, colors.winter), + buildable=(2, FeatureType.CATEGORICAL, colors.winter), +) + +SPATIAL_INFO = [ + ('height_map', uint8), ('visibility_map', uint8), ('creep', uint8), ('player_relative', uint8), ('alerts', uint8), + ('pathable', uint8), ('buildable', uint8), ('effect_PsiStorm', int16), ('effect_NukeDot', int16), + ('effect_LiberatorDefenderZone', int16), ('effect_BlindingCloud', int16), ('effect_CorrosiveBile', int16), + ('effect_LurkerSpines', int16) +] + +# (name, dtype, size) +SCALAR_INFO = [ + ('home_race', uint8, ()), ('away_race', uint8, ()), ('upgrades', int16, (NUM_UPGRADES, )), ('time', float32, ()), + ('unit_counts_bow', uint8, (NUM_UNIT_TYPES, )), ('agent_statistics', float32, (10, )), + ('cumulative_stat', uint8, (len(CUMULATIVE_STAT_ACTIONS), )), + ('beginning_order', int16, (BEGINNING_ORDER_LENGTH, )), ('last_queued', int16, ()), ('last_delay', int16, ()), + ('last_action_type', int16, ()), ('bo_location', int16, (BEGINNING_ORDER_LENGTH, )), + ('unit_order_type', uint8, (NUM_UNIT_MIX_ABILITIES, )), ('unit_type_bool', uint8, (NUM_UNIT_TYPES, )), + ('enemy_unit_type_bool', uint8, (NUM_UNIT_TYPES, )) +] + +ENTITY_INFO = [ + ('unit_type', int16), ('alliance', uint8), ('cargo_space_taken', uint8), ('build_progress', float16), + ('health_ratio', float16), ('shield_ratio', float16), ('energy_ratio', float16), ('display_type', uint8), + ('x', uint8), ('y', uint8), ('cloak', uint8), ('is_blip', uint8), ('is_powered', uint8), + ('mineral_contents', float16), ('vespene_contents', float16), ('cargo_space_max', uint8), + ('assigned_harvesters', uint8), ('weapon_cooldown', uint8), ('order_length', uint8), ('order_id_0', int16), + ('order_id_1', int16), ('is_hallucination', uint8), ('buff_id_0', uint8), ('buff_id_1', uint8), + ('addon_unit_type', uint8), ('is_active', uint8), ('order_progress_0', float16), ('order_progress_1', float16), + ('order_id_2', int16), ('order_id_3', int16), ('is_in_cargo', uint8), ('attack_upgrade_level', uint8), + ('armor_upgrade_level', uint8), ('shield_upgrade_level', uint8), ('last_selected_units', int8), + ('last_targeted_unit', int8) +] + +ACTION_INFO = { + 'action_type': torch.tensor(0, dtype=torch.long), + 'delay': torch.tensor(0, dtype=torch.long), + 'queued': torch.tensor(0, dtype=torch.long), + 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), + 'target_unit': torch.tensor(0, dtype=torch.long), + 'target_location': torch.tensor(0, dtype=torch.long) +} + +ACTION_LOGP = { + 'action_type': torch.tensor(0, dtype=torch.float), + 'delay': torch.tensor(0, dtype=torch.float), + 'queued': torch.tensor(0, dtype=torch.float), + 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, ), dtype=torch.float), + 'target_unit': torch.tensor(0, dtype=torch.float), + 'target_location': torch.tensor(0, dtype=torch.float) +} + +ACTION_LOGIT = { + 'action_type': torch.zeros(NUM_ACTIONS, dtype=torch.float), + 'delay': torch.zeros(MAX_DELAY + 1, dtype=torch.float), + 'queued': torch.zeros(2, dtype=torch.float), + 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1), dtype=torch.float), + 'target_unit': torch.zeros(MAX_ENTITY_NUM, dtype=torch.float), + 'target_location': torch.zeros(DEFAULT_SPATIAL_SIZE[0] * DEFAULT_SPATIAL_SIZE[1], dtype=torch.float) +} + + +def compute_battle_score(obs): + if obs is None: + return 0. + score_details = obs.observation.score.score_details + killed_mineral, killed_vespene = 0., 0. + for s in ScoreCategories: + killed_mineral += getattr(score_details.killed_minerals, s.name) + killed_vespene += getattr(score_details.killed_vespene, s.name) + battle_score = killed_mineral + 1.5 * killed_vespene + return battle_score + + +def transform_obs(self, obs, padding_spatial=False, opponent_obs=None): + spatial_info = defaultdict(list) + scalar_info = {} + entity_info = dict() + game_info = {} + + raw = obs.observation.raw_data + # spatial info + for f in MINIMAP_FEATURES: + d = f.unpack(obs.observation).copy() + d = torch.from_numpy(d) + padding_y = DEFAULT_SPATIAL_SIZE[0] - d.shape[0] + padding_x = DEFAULT_SPATIAL_SIZE[1] - d.shape[1] + if (padding_y != 0 or padding_x != 0) and padding_spatial: + d = torch.nn.functional.pad(d, (0, padding_x, 0, padding_y), 'constant', 0) + spatial_info[f.name] = d + for e in raw.effects: + name = Effects(e.effect_id).name + if name in ['LiberatorDefenderZone', 'LurkerSpines'] and e.owner == 1: + continue + for p in e.pos: + location = int(p.x) + int(self.map_size.y - p.y) * DEFAULT_SPATIAL_SIZE[1] + spatial_info['effect_' + name].append(location) + for k, _ in SPATIAL_INFO: + if 'effect' in k: + padding_num = EFFECT_LENGTH - len(spatial_info[k]) + if padding_num > 0: + spatial_info[k] += [0] * padding_num + else: + spatial_info[k] = spatial_info[k][:EFFECT_LENGTH] + spatial_info[k] = torch.as_tensor(spatial_info[k], dtype=int16) + + # entity info + tag_types = {} # Only populate the cache if it's needed. + + def get_addon_type(tag): + if not tag_types: + for u in raw.units: + tag_types[u.tag] = u.unit_type + return tag_types.get(tag, 0) + + tags = [] + units = [] + for u in raw.units: + tags.append(u.tag) + units.append( + [ + u.unit_type, + u.alliance, # Self = 1, Ally = 2, Neutral = 3, Enemy = 4 + u.cargo_space_taken, + u.build_progress, + u.health_max, + u.shield_max, + u.energy_max, + u.display_type, # Visible = 1, Snapshot = 2, Hidden = 3 + u.owner, # 1-15, 16 = neutral + u.pos.x, + u.pos.y, + u.cloak, # Cloaked = 1, CloakedDetected = 2, NotCloaked = 3 + u.is_blip, + u.is_powered, + u.mineral_contents, + u.vespene_contents, + # Not populated for enemies or neutral + u.cargo_space_max, + u.assigned_harvesters, + u.weapon_cooldown, + len(u.orders), + u.orders[0].ability_id if len(u.orders) > 0 else 0, + u.orders[1].ability_id if len(u.orders) > 1 else 0, + u.is_hallucination, + u.buff_ids[0] if len(u.buff_ids) >= 1 else 0, + u.buff_ids[1] if len(u.buff_ids) >= 2 else 0, + get_addon_type(u.add_on_tag) if u.add_on_tag else 0, + u.is_active, + u.orders[0].progress if len(u.orders) >= 1 else 0, + u.orders[1].progress if len(u.orders) >= 2 else 0, + u.orders[2].ability_id if len(u.orders) > 2 else 0, + u.orders[3].ability_id if len(u.orders) > 3 else 0, + 0, + u.attack_upgrade_level, + u.armor_upgrade_level, + u.shield_upgrade_level, + u.health, + u.shield, + u.energy, + ] + ) + for v in u.passengers: + tags.append(v.tag) + units.append( + [ + v.unit_type, + u.alliance, # Self = 1, Ally = 2, Neutral = 3, Enemy = 4 + 0, + 0, + v.health_max, + v.shield_max, + v.energy_max, + 0, # Visible = 1, Snapshot = 2, Hidden = 3 + u.owner, # 1-15, 16 = neutral + u.pos.x, + u.pos.y, + 0, # Cloaked = 1, CloakedDetected = 2, NotCloaked = 3 + 0, + 0, + 0, + 0, + # Not populated for enemies or neutral + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + v.health, + v.shield, + v.energy, + ] + ) + units = units[:MAX_ENTITY_NUM] + tags = tags[:MAX_ENTITY_NUM] + raw_entity_info = named_array.NamedNumpyArray(units, [None, FeatureUnit], dtype=np.float32) + + for k, dtype in ENTITY_INFO: + if 'last' in k: + pass + elif k == 'unit_type': + entity_info[k] = UNIT_TYPES_REORDER_ARRAY[raw_entity_info[:, 'unit_type']].short() + elif 'order_id' in k: + order_idx = int(k.split('_')[-1]) + if order_idx == 0: + entity_info[k] = UNIT_ABILITY_REORDER[raw_entity_info[:, k]].short() + invalid_actions = entity_info[k] == -1 + if invalid_actions.any(): + print('[ERROR] invalid unit ability', raw_entity_info[invalid_actions, k]) + else: + entity_info[k] = ABILITY_TO_QUEUE_ACTION[raw_entity_info[:, k]].short() + invalid_actions = entity_info[k] == -1 + if invalid_actions.any(): + print('[ERROR] invalid queue ability', raw_entity_info[invalid_actions, k]) + elif 'buff_id' in k: + entity_info[k] = BUFFS_REORDER_ARRAY[raw_entity_info[:, k]].short() + elif k == 'addon_unit_type': + entity_info[k] = ADDON_REORDER_ARRAY[raw_entity_info[:, k]].short() + elif k == 'cargo_space_taken': + entity_info[k] = torch.as_tensor(raw_entity_info[:, 'cargo_space_taken'], dtype=dtype).clamp_(min=0, max=8) + elif k == 'cargo_space_max': + entity_info[k] = torch.as_tensor(raw_entity_info[:, 'cargo_space_max'], dtype=dtype).clamp_(min=0, max=8) + elif k == 'health_ratio': + entity_info[k] = torch.as_tensor( + raw_entity_info[:, 'health'], dtype=dtype + ) / (torch.as_tensor(raw_entity_info[:, 'health_max'], dtype=dtype) + 1e-6) + elif k == 'shield_ratio': + entity_info[k] = torch.as_tensor( + raw_entity_info[:, 'shield'], dtype=dtype + ) / (torch.as_tensor(raw_entity_info[:, 'shield_max'], dtype=dtype) + 1e-6) + elif k == 'energy_ratio': + entity_info[k] = torch.as_tensor( + raw_entity_info[:, 'energy'], dtype=dtype + ) / (torch.as_tensor(raw_entity_info[:, 'energy_max'], dtype=dtype) + 1e-6) + elif k == 'mineral_contents': + entity_info[k] = torch.as_tensor(raw_entity_info[:, 'mineral_contents'], dtype=dtype) / 1800 + elif k == 'vespene_contents': + entity_info[k] = torch.as_tensor(raw_entity_info[:, 'vespene_contents'], dtype=dtype) / 2500 + elif k == 'y': + entity_info[k] = torch.as_tensor(self.map_size.y - raw_entity_info[:, 'y'], dtype=dtype) + else: + entity_info[k] = torch.as_tensor(raw_entity_info[:, k], dtype=dtype) + + # scalar info + scalar_info['time'] = torch.tensor(obs.observation.game_loop, dtype=torch.float) + player = obs.observation.player_common + scalar_info['agent_statistics'] = torch.tensor( + [ + player.minerals, player.vespene, player.food_used, player.food_cap, player.food_army, player.food_workers, + player.idle_worker_count, player.army_count, player.warp_gate_count, player.larva_count + ], + dtype=torch.float + ) + scalar_info['agent_statistics'] = torch.log(scalar_info['agent_statistics'] + 1) + + scalar_info["home_race"] = torch.tensor(self._requested_races[player.player_id], dtype=torch.uint8) + for player_id, race in self._requested_races.items(): + if player_id != player.player_id: + scalar_info["away_race"] = torch.tensor(race, dtype=torch.uint8) + + upgrades = torch.zeros(NUM_UPGRADES, dtype=torch.uint8) + raw_upgrades = UPGRADES_REORDER_ARRAY[raw.player.upgrade_ids[:UPGRADE_LENGTH]] + upgrades.scatter_(dim=0, index=raw_upgrades, value=1.) + scalar_info["upgrades"] = upgrades + + unit_counts_bow = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) + scalar_info['unit_type_bool'] = torch.zeros(NUM_UNIT_TYPES, dtype=uint8) + own_unit_types = entity_info['unit_type'][entity_info['alliance'] == 1] + scalar_info['unit_counts_bow'] = torch.scatter_add( + unit_counts_bow, dim=0, index=own_unit_types.long(), src=torch.ones_like(own_unit_types, dtype=torch.uint8) + ) + scalar_info['unit_type_bool'] = (scalar_info['unit_counts_bow'] > 0).to(uint8) + + scalar_info['unit_order_type'] = torch.zeros(NUM_UNIT_MIX_ABILITIES, dtype=uint8) + own_unit_orders = entity_info['order_id_0'][entity_info['alliance'] == 1] + scalar_info['unit_order_type'].scatter_(0, own_unit_orders.long(), torch.ones_like(own_unit_orders, dtype=uint8)) + + enemy_unit_types = entity_info['unit_type'][entity_info['alliance'] == 4] + enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) + scalar_info['enemy_unit_type_bool'] = torch.scatter( + enemy_unit_type_bool, + dim=0, + index=enemy_unit_types.long(), + src=torch.ones_like(enemy_unit_types, dtype=torch.uint8) + ) + + # game info + game_info['map_name'] = self._map_name + game_info['action_result'] = [o.result for o in obs.action_errors] + game_info['game_loop'] = obs.observation.game_loop + game_info['tags'] = tags + game_info['battle_score'] = compute_battle_score(obs) + game_info['opponent_battle_score'] = 0. + ret = { + 'spatial_info': spatial_info, + 'scalar_info': scalar_info, + 'entity_num': torch.tensor(len(entity_info['unit_type']), dtype=torch.long), + 'entity_info': entity_info, + 'game_info': game_info, + } + + # value feature + if opponent_obs: + raw = opponent_obs.observation.raw_data + enemy_unit_counts_bow = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) + enemy_x = [] + enemy_y = [] + enemy_unit_type = [] + unit_alliance = [] + for u in raw.units: + if u.alliance == 1: + enemy_x.append(u.pos.x) + enemy_y.append(u.pos.y) + enemy_unit_type.append(u.unit_type) + unit_alliance.append(1) + enemy_unit_type = UNIT_TYPES_REORDER_ARRAY[enemy_unit_type].short() + enemy_unit_counts_bow = torch.scatter_add( + enemy_unit_counts_bow, + dim=0, + index=enemy_unit_type.long(), + src=torch.ones_like(enemy_unit_type, dtype=torch.uint8) + ) + enemy_unit_type_bool = (enemy_unit_counts_bow > 0).to(uint8) + + unit_type = torch.cat([enemy_unit_type, own_unit_types], dim=0) + enemy_x = torch.as_tensor(enemy_x, dtype=uint8) + unit_x = torch.cat([enemy_x, entity_info['x'][entity_info['alliance'] == 1]], dim=0) + + enemy_y = torch.as_tensor(enemy_y, dtype=float32) + enemy_y = torch.as_tensor(self.map_size.y - enemy_y, dtype=uint8) + unit_y = torch.cat([enemy_y, entity_info['y'][entity_info['alliance'] == 1]], dim=0) + total_unit_count = len(unit_y) + unit_alliance += [0] * (total_unit_count - len(unit_alliance)) + unit_alliance = torch.as_tensor(unit_alliance, dtype=torch.bool) + + padding_num = MAX_ENTITY_NUM - total_unit_count + if padding_num > 0: + unit_x = torch.nn.functional.pad(unit_x, (0, padding_num), 'constant', 0) + unit_y = torch.nn.functional.pad(unit_y, (0, padding_num), 'constant', 0) + unit_type = torch.nn.functional.pad(unit_type, (0, padding_num), 'constant', 0) + unit_alliance = torch.nn.functional.pad(unit_alliance, (0, padding_num), 'constant', 0) + else: + unit_x = unit_x[:MAX_ENTITY_NUM] + unit_y = unit_y[:MAX_ENTITY_NUM] + unit_type = unit_type[:MAX_ENTITY_NUM] + unit_alliance = unit_alliance[:MAX_ENTITY_NUM] + + total_unit_count = torch.tensor(total_unit_count, dtype=torch.long) + + player = opponent_obs.observation.player_common + enemy_agent_statistics = torch.tensor( + [ + player.minerals, player.vespene, player.food_used, player.food_cap, player.food_army, + player.food_workers, player.idle_worker_count, player.army_count, player.warp_gate_count, + player.larva_count + ], + dtype=torch.float + ) + enemy_agent_statistics = torch.log(enemy_agent_statistics + 1) + enemy_raw_upgrades = UPGRADES_REORDER_ARRAY[raw.player.upgrade_ids[:UPGRADE_LENGTH]] + enemy_upgrades = torch.zeros(NUM_UPGRADES, dtype=torch.uint8) + enemy_upgrades.scatter_(dim=0, index=enemy_raw_upgrades, value=1.) + + d = MINIMAP_FEATURES.player_relative.unpack(opponent_obs.observation).copy() + d = torch.from_numpy(d) + padding_y = DEFAULT_SPATIAL_SIZE[0] - d.shape[0] + padding_x = DEFAULT_SPATIAL_SIZE[1] - d.shape[1] + if (padding_y != 0 or padding_x != 0) and padding_spatial: + d = torch.nn.functional.pad(d, (0, padding_x, 0, padding_y), 'constant', 0) + enemy_units_spatial = d == 1 + own_units_spatial = ret['spatial_info']['player_relative'] == 1 + value_feature = { + 'unit_type': unit_type, + 'enemy_unit_counts_bow': enemy_unit_counts_bow, + 'enemy_unit_type_bool': enemy_unit_type_bool, + 'unit_x': unit_x, + 'unit_y': unit_y, + 'unit_alliance': unit_alliance, + 'total_unit_count': total_unit_count, + 'enemy_agent_statistics': enemy_agent_statistics, + 'enemy_upgrades': enemy_upgrades, + 'own_units_spatial': own_units_spatial.unsqueeze(dim=0), + 'enemy_units_spatial': enemy_units_spatial.unsqueeze(dim=0) + } + ret['value_feature'] = value_feature + game_info['opponent_battle_score'] = compute_battle_score(opponent_obs) + return ret diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index 9dfdf2c56a..569ce70031 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -3,9 +3,10 @@ from ding.utils.data import default_collate from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, NUM_UNIT_TYPES, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ - NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, MAX_SELECTED_UNITS_NUM + NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, \ + MAX_SELECTED_UNITS_NUM, DEFAULT_SPATIAL_SIZE -H, W = 152, 160 +H, W = DEFAULT_SPATIAL_SIZE def spatial_info(): diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py index bb11787f79..7f6d137206 100644 --- a/dizoo/distar/envs/meta.py +++ b/dizoo/distar/envs/meta.py @@ -10,3 +10,7 @@ NUM_QUEUE_ACTION = 49 NUM_BUFFS = 50 NUM_ADDON = 9 +DEFAULT_SPATIAL_SIZE = [152, 160] +EFFECT_LENGTH = 100 +UPGRADE_LENGTH = 20 +BEGINNING_ORDER_LENGTH = 20 diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index e200ab2dca..90ec735670 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -12,13 +12,8 @@ from ding.utils import EasyTimer from ding.utils.data import default_collate, default_decollate from dizoo.distar.model import Model -from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, RACE_DICT, NUM_CUMULATIVE_STAT_ACTIONS, Stat +from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, Stat, parse_new_game, transform_obs from .utils import collate_fn_learn, kl_error, entropy_error -import os -import json -import random -from copy import deepcopy -from s2clientprotocol import sc2api_pb2 as sc_pb class DIStarPolicy(Policy): @@ -363,9 +358,7 @@ def _init_collect(self): self.z_idx = None self._reset_collect() - def _reset_collect(self, game_info, obs, map_name='KingsCove', env_id=0): - self.stat = Stat('zerg') # TODO - self.target_z_loop = 43200 # TODO + def _reset_collect(self, data: Dict, env_id=0): self.exceed_loop_flag = False self.hidden_state = None self.last_action_type = torch.tensor(0, dtype=torch.long) @@ -375,53 +368,15 @@ def _reset_collect(self, game_info, obs, map_name='KingsCove', env_id=0): self.last_targeted_unit_tag = None self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - self.map_name = map_name - self.map_size = None # TODO - self.requested_races = { - info.player_id: info.race_requested - for info in game_info.player_info if info.type != sc_pb.Observer - } - # init Z - raw_ob = obs['raw_obs'] - location = [] - for i in raw_ob.observation.raw_data.units: - if i.unit_type == 59 or i.unit_type == 18 or i.unit_type == 86: - location.append([i.pos.x, i.pos.y]) - assert len(location) == 1, 'no fog of war, check game version!' - self.born_location = deepcopy(location[0]) - born_location = location[0] - born_location[0] = int(born_location[0]) - # TODO(zms): map_size from Features - born_location[1] = int(self.map_size.y - born_location[1]) - born_location_str = str(born_location[0] + born_location[1] * 160) - self.z_path = os.path.join(os.path.dirname(__file__), 'lib', self.z_path) - with open(self.z_path, 'r') as f: - self.z_data = json.load(f) - z_data = self.z_data - - z_type = None - idx = None - raw_ob = obs['raw_obs'] - # TODO(zms): requested_races from Features - race = RACE_DICT[self.requested_races[raw_ob.observation.player_common.player_id]] - opponent_id = 1 if raw_ob.observation.player_common.player_id == 2 else 2 - opponent_race = RACE_DICT[self.requested_races[opponent_id]] - if race == opponent_race: - mix_race = race - else: - mix_race = race + opponent_race - if self.z_idx is not None: - idx, z_type = random.choice(self.z_idx[self.map_name][mix_race][born_location_str]) - z = z_data[self.map_name][mix_race][born_location_str][idx] - else: - z = random.choice(z_data[self.map_name][mix_race][born_location_str]) + race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop = parse_new_game( + data, self.z_path, self.z_idx + ) + self.race = race + self.map_size = map_size + self.target_z_loop = target_z_loop + self.stat = Stat(self.race) - if len(z) == 5: - self.target_building_order, target_cumulative_stat, bo_location, self._target_z_loop, z_type = z - else: - self.target_building_order, target_cumulative_stat, bo_location, self._target_z_loop = z - # TODO(zms): other attributes like use_bo_reward self.target_building_order = torch.tensor(self.target_building_order, dtype=torch.long) self.target_bo_location = torch.tensor(bo_location, dtype=torch.long) self.target_cumulative_stat = torch.zeros(NUM_CUMULATIVE_STAT_ACTIONS, dtype=torch.float) @@ -446,7 +401,6 @@ def _forward_collect(self, data): return policy_output def _data_preprocess_collect(self, data, game_info): - transform_obs = None if self._cfg.use_value_feature: obs = transform_obs(data['raw_obs'], opponent_obs=data['opponent_obs']) else: From 37156d48529041ed9535bd2c96058ca7ae4cce6f Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 14:07:08 +0800 Subject: [PATCH 148/229] drop get config --- ding/framework/middleware/functional/actor_data.py | 2 ++ ding/framework/middleware/league_actor.py | 14 ++++++++------ .../tests/test_league_actor_one_process.py | 8 ++++---- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index dc62b2081f..44ba0d7aea 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -1,6 +1,8 @@ from typing import Any, List from dataclasses import dataclass, field +#TODO(zms): simplify fields + @dataclass class ActorDataMeta: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 43f8677873..0b8d95334a 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -26,7 +26,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn - self.n_rollout_samples = self.cfg.policy.collect.get("n_rollout_samples") or 0 + self.n_rollout_samples = self.cfg.policy.collect.n_rollout_samples self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -120,7 +120,7 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) - ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 + ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" ctx.train_iter = main_player.total_agent_step @@ -130,9 +130,12 @@ def __call__(self, ctx: "BattleContext"): old_envstep = ctx.total_envstep_count time_begin = time.time() collector(ctx) + meta_data = ActorDataMeta( + player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, send_wall_time=time.time() + ) if not job.is_eval and len(ctx.episodes[0]) > 0: - actor_data = ActorData(env_step=ctx.total_envstep_count, train_data=ctx.episodes[0]) + actor_data = ActorData(meta=meta_data, train_data=ctx.episodes[0]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) ctx.episodes = [] time_end = time.time() @@ -162,8 +165,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_fn = env_fn self.env_num = env_fn().env_num self.policy_fn = policy_fn - # TODO('self.unroll_len = self.cfg.policy.collect.unroll_len') - self.unroll_len = self.cfg.policy.collect.get("unroll_len") or 0 + self.unroll_len = self.cfg.policy.collect.unroll_len self._collectors: Dict[str, BattleEpisodeCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) @@ -260,7 +262,7 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) - ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 + ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" ctx.train_iter = main_player.total_agent_step diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index 90ff5b3420..c91a683372 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -4,7 +4,7 @@ from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.tests.league_config import cfg +from dizoo.distar.config import distar_cfg from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta @@ -20,8 +20,8 @@ def prepare_test(): - global cfg - cfg = deepcopy(cfg) + global distar_cfg + cfg = deepcopy(distar_cfg) def env_fn(): env = BaseEnvManager( @@ -43,7 +43,7 @@ def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() with task.start(async_mode=True, ctx=BattleContext()): - league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): job = Job( From c923c23a26bb3d5a9f1c2c0b0e28e30a78425adc Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 16:38:31 +0800 Subject: [PATCH 149/229] drop useless remain_episode and ready_env_ids --- ding/framework/context.py | 4 +- .../middleware/functional/collector.py | 9 ++- ding/framework/middleware/league_actor.py | 1 - .../middleware/tests/mock_for_test.py | 56 ++++++++----------- .../test_league_actor_distar_one_process.py | 8 +-- 5 files changed, 34 insertions(+), 44 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 9bce71fbcd..97e178a5bd 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -92,8 +92,6 @@ def __init__(self, *args, **kwargs) -> None: self.train_iter = 0 self.collect_kwargs = {} self.current_policies = [] - self.ready_env_id = set() - self.remain_episode = 0 #job paras self.player_id_list = [] @@ -111,4 +109,4 @@ def __init__(self, *args, **kwargs) -> None: self.trajectories_list = [] self.train_data = None - self.keep('env_step', 'env_episode', 'train_iter', 'last_eval_iter') + self.keep('train_iter') diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 3f677f626e..af309fe18a 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -114,7 +114,6 @@ def _cut_trajectory_from_episode(self, episode: list): if num_tail_transitions > 0: trajectory = episode[-self._unroll_len:] if len(trajectory) < self._unroll_len: - # TODO(zms): 少于 64 直接删 initial_elements = [] for _ in range(self._unroll_len - len(trajectory)): initial_elements.append(trajectory[0]) @@ -135,7 +134,7 @@ def clear_newest_episode(self, env_id: int) -> None: self._done_episode[env_id].pop() return len_newest_episode - def append(self, env_id: int, transition: Any) -> None: + def append(self, env_id: int, transition: Any) -> bool: # If previous episode is done, we create a new episode if len(self._done_episode[env_id]) == 0 or self._done_episode[env_id][-1] is True: self._transitions[env_id].append([]) @@ -143,6 +142,12 @@ def append(self, env_id: int, transition: Any) -> None: self._transitions[env_id][-1].append(transition) if transition.done: self._done_episode[env_id][-1] = True + if len(self._transitions[env_id][-1]) < self._unroll_len: + newest_episode = self._transitions[env_id].pop() + newest_episode.clear() + self._done_episode[env_id].pop() + return False + return True def clear(self): for item in self._transitions: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 0b8d95334a..9dffe22587 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -267,7 +267,6 @@ def __call__(self, ctx: "BattleContext"): ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(self.agent_num)] - ctx.remain_episode = ctx.n_episode while True: time_begin = time.time() diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index eb508ea8e8..fe2ae656c5 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -1,6 +1,7 @@ from typing import TYPE_CHECKING, Union, Any, List, Callable, Dict, Optional from collections import namedtuple import random +from numpy import append import torch import treetensor.numpy as tnp from easydict import EasyDict @@ -10,6 +11,7 @@ from ding.league.player import PlayerMeta from ding.league.v2 import BaseLeague, Job from ding.framework.storage import FileStorage +from ding.policy import PPOPolicy from dizoo.distar.envs.distar_env import DIStarEnv from dizoo.distar.policy.distar_policy import DIStarPolicy from ding.envs import BaseEnvManager @@ -186,6 +188,15 @@ def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: return DIStarEnv.random_action(data) +class DIStarMockPPOPolicy(PPOPolicy): + + def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: + pass + + def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: + return DIStarEnv.random_action(data) + + class DIstarCollectMode: def __init__(self) -> None: @@ -237,29 +248,14 @@ def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs - # { - # env_id: { - # policy_id:{ - # 'raw_obs': - # 'opponent_obs': - # 'action_result': - # } - # } - # } - - # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data - # 如果每个 actor 只有一个 env, 下面这部分代码可以全部去掉 - new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) - ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) - ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) - obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + assert isinstance(obs, dict) ctx.obs = obs # Policy forward. inference_output = {} actions = {} - for env_id in ctx.ready_env_id: + for env_id in ctx.obs.keys(): observations = obs[env_id] inference_output[env_id] = {} actions[env_id] = {} @@ -268,15 +264,6 @@ def _battle_inferencer(ctx: "BattleContext"): output = ctx.current_policies[policy_id].forward(policy_obs) inference_output[env_id][policy_id] = output actions[env_id][policy_id] = output['action'] - # aciton[env_id][policy_id] = { - # 'func_id': func_id, - # 'skip_steps': random.randint(0, MAX_DELAY - 1), - # # 'skip_steps': 8, - # 'queued': random.randint(0, 1), - # 'unit_tags': unit_tags, - # 'target_unit_tag': target_unit_tag, - # 'location': (random.randint(0, SPATIAL_SIZE[0] - 1), random.randint(0, SPATIAL_SIZE[1] - 1)) - # } ctx.inference_output = inference_output ctx.actions = actions @@ -287,10 +274,10 @@ def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) - # ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) + # for env_id, timestep in timesteps.items(): # TODO(zms): make sure a standard # 这里 timestep 是 一个 env_num 长的 list,但是每次step真的会返回所有 env 的 timestep 吗?(需要确认)是就用 dict,否就用 list @@ -301,22 +288,23 @@ def _battle_rolloutor(ctx: "BattleContext"): # ctx.total_envstep_count -= transitions_list[0].length(env_id) # ctx.env_step -= transitions_list[0].length(env_id) - # TODO(zms): 如果要有available_env_id 的话,这里也要更新 - for transitions in transitions_list: - transitions.clear_newest_episode(env_id) + for policy_id, _ in enumerate(ctx.current_policies): + transitions_list[policy_id].clear_newest_episode(env_id) + ctx.current_policies[policy_id].reset([env_id]) continue + append_succeed = True for policy_id, _ in enumerate(ctx.current_policies): transition = ctx.current_policies[policy_id].process_transition(timestep) transition = EasyDict(transition) transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - transitions_list[policy_id].append(env_id, transition) + append_succeed = transitions_list[policy_id].append(env_id, transition) if timestep.done: ctx.current_policies[policy_id].reset([env_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) + if append_succeed: + ctx.episode_info[policy_id].append(timestep.info[policy_id]) - if timestep.done: - ctx.ready_env_id.remove(env_id) + if timestep.done and append_succeed: ctx.env_episode += 1 return _battle_rolloutor diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index d44e2e01a8..dc53bfc49a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -4,7 +4,7 @@ from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.tests.league_config import cfg +from dizoo.distar.config import distar_cfg from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta @@ -20,10 +20,10 @@ from distar.ctools.utils import read_config from ding.model import VAC -from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, \ +from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect, \ battle_inferencer_for_distar, battle_rolloutor_for_distar -cfg = deepcopy(cfg) +cfg = deepcopy(distar_cfg) env_cfg = read_config('./test_distar_config.yaml') @@ -46,7 +46,7 @@ def get_env_supervisor(cls): @classmethod def policy_fn(cls): model = VAC(**cfg.policy.model) - policy = DIStarMockPolicy(cfg.policy, model=model) + policy = DIStarMockPPOPolicy(cfg.policy, model=model) return policy @classmethod From 5db2b52836b2c6271367d66f78fc6fe28114e5a5 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 17:14:26 +0800 Subject: [PATCH 150/229] feature(zms): remove the episodes shorter than unroll_len --- .../middleware/functional/collector.py | 20 ++++++++++--------- .../middleware/tests/mock_for_test.py | 17 ++++++++++------ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index af309fe18a..81632b309a 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -8,6 +8,7 @@ import torch from ding.utils import dicts_to_lists from ding.torch_utils import to_tensor, to_ndarray +from ding.framework import task # if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext @@ -15,6 +16,8 @@ from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories from dizoo.distar.envs.fake_data import rl_step_data +import logging + class TransitionList: @@ -126,12 +129,10 @@ def _cut_trajectory_from_episode(self, episode: list): def clear_newest_episode(self, env_id: int) -> None: # Use it when env.step raise some error - len_newest_episode = 0 - if self._done_episode[env_id][-1] is False: - newest_episode = self._transitions[env_id].pop() - len_newest_episode = len(newest_episode) - newest_episode.clear() - self._done_episode[env_id].pop() + newest_episode = self._transitions[env_id].pop() + len_newest_episode = len(newest_episode) + newest_episode.clear() + self._done_episode[env_id].pop() return len_newest_episode def append(self, env_id: int, transition: Any) -> bool: @@ -143,9 +144,10 @@ def append(self, env_id: int, transition: Any) -> bool: if transition.done: self._done_episode[env_id][-1] = True if len(self._transitions[env_id][-1]) < self._unroll_len: - newest_episode = self._transitions[env_id].pop() - newest_episode.clear() - self._done_episode[env_id].pop() + logging.warning( + 'The length of the newest finished episode in node {}, env {}, is {}, which is shorter than unroll_len: {}, and need to be dropped' + .format(task.router.node_id, env_id, len(self._transitions[env_id][-1]), self._unroll_len) + ) return False return True diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index fe2ae656c5..e176ef7080 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -1,7 +1,6 @@ from typing import TYPE_CHECKING, Union, Any, List, Callable, Dict, Optional from collections import namedtuple import random -from numpy import append import torch import treetensor.numpy as tnp from easydict import EasyDict @@ -280,7 +279,7 @@ def _battle_rolloutor(ctx: "BattleContext"): # for env_id, timestep in timesteps.items(): # TODO(zms): make sure a standard - # 这里 timestep 是 一个 env_num 长的 list,但是每次step真的会返回所有 env 的 timestep 吗?(需要确认)是就用 dict,否就用 list + # If for each step, the env manager can't get the obs of all envs, we need to use dict here. for env_id, timestep in enumerate(timesteps): if timestep.info.get('abnormal'): # TODO(zms): cannot get exact env_step of a episode because for each observation, @@ -288,6 +287,7 @@ def _battle_rolloutor(ctx: "BattleContext"): # ctx.total_envstep_count -= transitions_list[0].length(env_id) # ctx.env_step -= transitions_list[0].length(env_id) + # 1st case when env step has bug and need to reset. for policy_id, _ in enumerate(ctx.current_policies): transitions_list[policy_id].clear_newest_episode(env_id) ctx.current_policies[policy_id].reset([env_id]) @@ -298,13 +298,18 @@ def _battle_rolloutor(ctx: "BattleContext"): transition = ctx.current_policies[policy_id].process_transition(timestep) transition = EasyDict(transition) transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - append_succeed = transitions_list[policy_id].append(env_id, transition) + + # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len + append_succeed = append_succeed and transitions_list[policy_id].append(env_id, transition) if timestep.done: ctx.current_policies[policy_id].reset([env_id]) - if append_succeed: - ctx.episode_info[policy_id].append(timestep.info[policy_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) - if timestep.done and append_succeed: + if not append_succeed: + for policy_id, _ in enumerate(ctx.current_policies): + transitions_list[policy_id].clear_newest_episode(env_id) + ctx.episode_info[policy_id].pop() + elif timestep.done: ctx.env_episode += 1 return _battle_rolloutor From 63ac2df3fba4ce923fa3cbb3cc832d76fd685bf9 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 17:47:38 +0800 Subject: [PATCH 151/229] get game_info, map_name, map_size inside DIStarEnv.reset() --- dizoo/distar/envs/distar_env.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index cf78177401..03a3023fd3 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -1,8 +1,10 @@ -from distar.envs.env import SC2Env - from ding.envs import BaseEnv, BaseEnvTimestep + +from distar.envs.env import SC2Env +from distar.envs.map_info import get_map_size from distar.agent.default.lib.features import MAX_DELAY, SPATIAL_SIZE, MAX_SELECTED_UNITS_NUM from distar.pysc2.lib.action_dict import ACTIONS_STAT + import torch import random @@ -14,6 +16,13 @@ def __init__(self, cfg): def reset(self): observations, game_info, map_name = super(DIStarEnv, self).reset() + map_size = get_map_size(map_name) + + for policy_id, policy_obs in observations.items(): + policy_obs['game_info'] = game_info[policy_id] + policy_obs['map_name'] = map_name + policy_obs['map_size'] = map_size + return observations def close(self): From c1cc5afdf7d5405d90db52fedd4992847c4c012d Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 18:28:05 +0800 Subject: [PATCH 152/229] final_eval_reward --- dizoo/distar/envs/distar_env.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 03a3023fd3..ed6445bc2b 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -1,3 +1,4 @@ +from ding import policy from ding.envs import BaseEnv, BaseEnvTimestep from distar.envs.env import SC2Env @@ -33,12 +34,14 @@ def step(self, actions): # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, 'action_result': self._action_result[agent_idx]}, reward, episode_complete) next_observations, reward, done = super(DIStarEnv, self).step(actions) # next_observations 和 observations 格式一样 - # reward 是 list [policy reward 1, policy reard 2] + # reward 是 list [policy reward 1, policy reward 2] # done 是 一个 bool 值 # TODO(zms): final_eval_reward 这局赢没赢 info = {} for policy_id in range(self._num_agents): - info[policy_id] = {'result': None} + info[policy_id] = {} + if done: + info[policy_id]['final_eval_reward'] = reward[policy_id] timestep = BaseEnvTimestep(obs=next_observations, reward=reward, done=done, info=info) return timestep From 6aefbe2ccba1067af63f5491e1e1bb1eb52d0673 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 18:46:23 +0800 Subject: [PATCH 153/229] change a bit --- ding/framework/middleware/collector.py | 6 +++--- dizoo/distar/envs/distar_env.py | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 4012ef698a..00c9c91575 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -43,14 +43,14 @@ def __del__(self) -> None: self.env.close() def _update_policies(self, player_id_list) -> None: - # TODO(zms): update train_iter + # TODO(zms): update train_iter, update train_iter and player_id inside policy is a good idea for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue else: learner_model = self.model_dict.get(player_id) policy = self.all_policies.get(player_id) - assert policy, "for player{}, policy should have been initialized already" + assert policy, "for player {}, policy should have been initialized already".format(player_id) # update policy model policy.load_state_dict(learner_model.state_dict) self.model_dict[player_id] = None @@ -121,7 +121,7 @@ def __del__(self) -> None: self.env.close() def _update_policies(self, player_id_list) -> None: - # TODO: 60 秒 没有更新 就阻塞,更新才返回 + # TODO(zms): 60 秒 没有更新 就阻塞,更新才返回 for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index ed6445bc2b..27e3f9cb12 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -36,7 +36,6 @@ def step(self, actions): # next_observations 和 observations 格式一样 # reward 是 list [policy reward 1, policy reward 2] # done 是 一个 bool 值 - # TODO(zms): final_eval_reward 这局赢没赢 info = {} for policy_id in range(self._num_agents): info[policy_id] = {} From b0a1051196a06657430f06110674f382e5c1d6cc Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 23 Jun 2022 19:25:17 +0800 Subject: [PATCH 154/229] add logging --- ding/framework/context.py | 2 +- .../middleware/functional/data_processor.py | 4 +- ding/framework/middleware/league_actor.py | 59 +++-- .../middleware/league_coordinator.py | 24 +- ding/framework/middleware/league_learner.py | 220 +++++++++--------- ...0326-f2a0-11ec-8459-4649caa90281.SC2Replay | Bin 0 -> 37685 bytes ...c7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay | Bin 0 -> 31275 bytes ...19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay | Bin 0 -> 27882 bytes ...0152-f2a6-11ec-91ba-4649caa90281.SC2Replay | Bin 0 -> 30063 bytes ...3286-f2a7-11ec-8470-4649caa90281.SC2Replay | Bin 0 -> 28645 bytes ...7fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay | Bin 0 -> 24589 bytes ...612a-f2ac-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 32590 bytes ...7008-f2ac-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 25855 bytes ...b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 38276 bytes ...2e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 35811 bytes ...8b34-f2ae-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 23847 bytes ...55ea-f2ae-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 33907 bytes ...7496-f2af-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 30636 bytes ...134e-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 40374 bytes ...d2a6-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 34231 bytes ...28f2-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 18039 bytes ...64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 20040 bytes ...d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 26345 bytes ...bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 32690 bytes ...7866-f2b2-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 34946 bytes ...1340-f2b3-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 33849 bytes ...49c2-f2b3-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 22660 bytes ...74b8-f2b4-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 24288 bytes ...5650-f2b4-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 34888 bytes ...ff90-f2b5-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 19083 bytes ...669c-f2b5-11ec-86b3-4649caa90281.SC2Replay | Bin 0 -> 35443 bytes ...86ee-f2e7-11ec-99fe-4649caa90281.SC2Replay | Bin 0 -> 18334 bytes .../middleware/tests/mock_for_test.py | 2 +- .../middleware/tests/test_league_learner.py | 27 +-- .../middleware/tests/test_league_pipeline.py | 7 +- ding/utils/__init__.py | 1 + ding/utils/data/collate_fn.py | 11 + ding/utils/log_helper.py | 2 +- ding/utils/sparse_logging.py | 70 ++++++ ding/utils/tests/test_sparse_logging.py | 13 ++ dizoo/distar/config/distar_config.py | 4 +- 41 files changed, 284 insertions(+), 162 deletions(-) create mode 100644 ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-43-37_a9df0152-f2a6-11ec-91ba-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-22-33_1a54612a-f2ac-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-42-03_d3ed55ea-f2ae-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-55-28_b39bd2a6-f2b0-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-21-20_50a174b8-f2b4-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-27-46_36d4ff90-f2b5-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-32-50_ebe3669c-f2b5-11ec-86b3-4649caa90281.SC2Replay create mode 100644 ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay create mode 100644 ding/utils/sparse_logging.py create mode 100644 ding/utils/tests/test_sparse_logging.py diff --git a/ding/framework/context.py b/ding/framework/context.py index 9bce71fbcd..bf2b54f970 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -111,4 +111,4 @@ def __init__(self, *args, **kwargs) -> None: self.trajectories_list = [] self.train_data = None - self.keep('env_step', 'env_episode', 'train_iter', 'last_eval_iter') + self.keep('train_iter') diff --git a/ding/framework/middleware/functional/data_processor.py b/ding/framework/middleware/functional/data_processor.py index bc1700049b..88185839fb 100644 --- a/ding/framework/middleware/functional/data_processor.py +++ b/ding/framework/middleware/functional/data_processor.py @@ -6,6 +6,7 @@ from ding.data import Buffer, Dataset, DataLoader, offline_data_save_type from ding.data.buffer.middleware import PriorityExperienceReplay from ding.framework import task +from ding.utils.sparse_logging import log_every_sec if TYPE_CHECKING: from ding.framework import Context, OnlineRLContext, OfflineRLContext @@ -113,7 +114,8 @@ def _fetch(ctx: "OnlineRLContext"): assert buffered_data is not None except (ValueError, AssertionError): # You can modify data collect config to avoid this warning, e.g. increasing n_sample, n_episode. - logging.warning( + log_every_sec( + logging.warning, 10, "Replay buffer's data is not enough to support training, so skip this training for waiting more data." ) ctx.train_data = None diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 43f8677873..724b2fe26d 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -1,5 +1,5 @@ from ding.framework import task, EventEnum -import logging +from ditk import logging from typing import TYPE_CHECKING, Dict, Callable from ding.league import player @@ -13,6 +13,8 @@ from easydict import EasyDict import time +from ding.utils.sparse_logging import log_every_sec + if TYPE_CHECKING: from ding.league.v2.base_league import Job from ding.framework import BattleContext @@ -42,7 +44,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print("Actor {} receive model from learner \n".format(task.router.node_id), flush=True) + log_every_sec(logging.INFO, 5, "[Actor {}] receive model from learner \n".format(task.router.node_id)) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -86,7 +88,7 @@ def _get_job(self): try: job = self.job_queue.get(timeout=10) except queue.Empty: - logging.warning("For actor_{}, no Job get from coordinator".format(task.router.node_id)) + logging.warning("[Actor {}] no Job got from coordinator".format(task.router.node_id)) return job @@ -97,7 +99,7 @@ def _get_current_policies(self, job): current_policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player - assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) + assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) if current_policies is not None: assert len(current_policies) > 1, "battle collector needs more than 1 policies" @@ -121,7 +123,9 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 - assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" + assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( + task.router.node_id + ) ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(self.agent_num)] @@ -141,8 +145,9 @@ def __call__(self, ctx: "BattleContext"): job.launch_player] != 0 else 0 envstep_passed = ctx.total_envstep_count - old_envstep real_time_speed = envstep_passed / (time_end - time_begin) - print( - 'in actor {}, total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' + log_every_sec( + logging.INFO, 5, + '[Actor {}] total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' .format( task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed ) @@ -182,7 +187,9 @@ def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. """ - print('Actor {} recieved model {} \n'.format(task.router.node_id, learner_model.player_id), flush=True) + log_every_sec( + logging.INFO, 5, '[Actor {}] recieved model {}'.format(task.router.node_id, learner_model.player_id) + ) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model @@ -225,7 +232,7 @@ def _get_job(self): try: job = self.job_queue.get(timeout=10) except queue.Empty: - logging.warning("For actor {}, no Job get from coordinator".format(task.router.node_id)) + logging.warning("[Actor {}] no Job got from coordinator.".format(task.router.node_id)) return job @@ -236,14 +243,16 @@ def _get_current_policies(self, job): current_policies.append(self._get_policy(player)) if player.player_id == job.launch_player: main_player = player - assert main_player, "can not find active player, on actor: {}".format(task.router.node_id) + assert main_player, "[Actor {}] can not find active player.".format(task.router.node_id) if current_policies is not None: - assert len(current_policies) > 1, "battle collector needs more than 1 policies" + assert len(current_policies) > 1, "[Actor {}] battle collector needs more than 1 policies".format( + task.router.node_id + ) for p in current_policies: p.reset() else: - raise RuntimeError('current_policies should not be None') + raise RuntimeError('[Actor {}] current_policies should not be None'.format(task.router.node_id)) return main_player, current_policies @@ -252,7 +261,9 @@ def __call__(self, ctx: "BattleContext"): job = self._get_job() if job is None: return - print('For actor {}, a job {} begin \n'.format(task.router.node_id, job.launch_player), flush=True) + log_every_sec( + logging.INFO, 5, '[Actor {}] job of player {} begins.'.format(task.router.node_id, job.launch_player) + ) ctx.player_id_list = [player.player_id for player in job.players] self.agent_num = len(job.players) @@ -261,7 +272,9 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) ctx.n_episode = self.cfg.policy.collect.get("n_episode") or 1 - assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" + assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( + task.router.node_id + ) ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(self.agent_num)] @@ -272,19 +285,20 @@ def __call__(self, ctx: "BattleContext"): old_envstep = ctx.total_envstep_count collector(ctx) - # print(ctx.trajectories_list) # ctx.trajectories_list[0] for policy_id 0 # ctx.trajectories_list[0][0] for first env if len(ctx.trajectories_list[0]) > 0: for traj in ctx.trajectories_list[0][0].trajectories: assert len(traj) == self.unroll_len + 1 if ctx.job_finish is True: - print('we finish the job !') + logging.info('[Actor {}] finish current job !'.format(task.router.node_id)) assert len(ctx.trajectories_list[0][0].trajectories) > 0 # TODO(zms): 判断是不是main_player if not job.is_eval and len(ctx.trajectories_list[0]) > 0: trajectories = ctx.trajectories_list[0] - print('actor {}, {} envs send traj '.format(task.router.node_id, len(trajectories)), flush=True) + log_every_sec( + logging.INFO, 5, '[Actor {}] send {} trajectories.'.format(task.router.node_id, len(trajectories)) + ) meta_data = ActorDataMeta( player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, @@ -292,7 +306,7 @@ def __call__(self, ctx: "BattleContext"): ) actor_data = ActorData(meta=meta_data, train_data=trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - print('Actor {} send data\n'.format(task.router.node_id), flush=True) + log_every_sec(logging.INFO, 5, '[Actor {}] send data\n'.format(task.router.node_id)) ctx.trajectories_list = [] time_end = time.time() @@ -301,16 +315,17 @@ def __call__(self, ctx: "BattleContext"): job.launch_player] != 0 else 0 envstep_passed = ctx.total_envstep_count - old_envstep real_time_speed = envstep_passed / (time_end - time_begin) - print( - 'in actor {}, total_env_step: {}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' + log_every_sec( + logging.INFO, 5, + '[Actor {}] total_env_step: {}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' .format( task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed ) ) if ctx.job_finish is True: - job.result = None + job.result = [['wins']] task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] - print('Actor {} job finish, send job\n'.format(task.router.node_id), flush=True) + logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) break diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 80f5d7a9c1..9c269f434a 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -4,7 +4,9 @@ from dataclasses import dataclass from typing import TYPE_CHECKING from ding.framework import task, EventEnum -import logging +from ditk import logging + +from ding.utils.sparse_logging import log_every_sec if TYPE_CHECKING: from easydict import EasyDict @@ -21,13 +23,14 @@ def __init__(self, cfg: "EasyDict", league: "BaseLeague") -> None: self._lock = Lock() self._total_send_jobs = 0 self._eval_frequency = 10 + self._running_jobs = dict() task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) task.on(EventEnum.ACTOR_FINISH_JOB, self._on_actor_job) def _on_actor_greeting(self, actor_id): - print('coordinator recieve actor {} greeting\n'.format(actor_id), flush=True) + logging.info("[Coordinator {}] recieve actor {} greeting".format(task.router.node_id, actor_id)) with self._lock: player_num = len(self.league.active_players_ids) player_id = self.league.active_players_ids[self._total_send_jobs % player_num] @@ -37,21 +40,28 @@ def _on_actor_greeting(self, actor_id): if job.job_no > 0 and job.job_no % self._eval_frequency == 0: job.is_eval = True job.actor_id = actor_id - print('coordinator emit job (main_player: {}) to actor {}\n'.format(job.launch_player, actor_id), flush=True) + self._running_jobs["actor_{}".format(actor_id)] = job task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=actor_id), job) def _on_learner_meta(self, player_meta: "PlayerMeta"): - print('coordinator recieve learner meta for player{}\n'.format(player_meta.player_id), flush=True) + log_every_sec( + logging.INFO, 5, + '[Coordinator {}] recieve learner meta from player {}'.format(task.router.node_id, player_meta.player_id) + ) self.league.update_active_player(player_meta) self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): - print('coordinator recieve actor finished job, palyer {}\n'.format(job.launch_player), flush=True) - print("on_actor_job {}\n".format(job.launch_player)) # right + logging.info( + "[Coordinator {}] recieve actor finished job, player {}".format(task.router.node_id, job.launch_player) + ) self.league.update_payoff(job) def __del__(self): - print('task finished, coordinator {} closed'.format(task.router.node_id), flush=True) + logging.info("[Coordinator {}] all tasks finished, coordinator closed".format(task.router.node_id)) def __call__(self, ctx: "Context") -> None: sleep(1) + log_every_sec( + logging.INFO, 30, "[Coordinator {}] running jobs {}".format(task.router.node_id, self._running_jobs) + ) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index d0be9a1c91..5b97be1b96 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -1,3 +1,4 @@ +from ditk import logging import os from dataclasses import dataclass from collections import deque @@ -10,6 +11,7 @@ from ding.framework.middleware import OffPolicyLearner, CkptSaver, data_pusher from ding.framework.storage import Storage, FileStorage from ding.league.player import PlayerMeta +from ding.utils.sparse_logging import log_every_sec from ding.worker.learner.base_learner import BaseLearner if TYPE_CHECKING: @@ -38,23 +40,28 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) def _push_data(self, data: "ActorData"): - print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) + log_every_sec( + logging.INFO, 5, + "[Learner {}] receive data of player {} from actor! \n".format(task.router.node_id, self.player_id) + ) for env_trajectories in data.train_data: for traj in env_trajectories.trajectories: self._cache.append(traj) - # self._cache.append(data.train_data) + # if isinstance(data.train_data, list): + # self._cache.extend(data.train_data) + # else: + # self._cache.append(data.train_data) def __call__(self, ctx: "Context"): - # print("push data into the ctx") + log_every_sec(logging.INFO, 5, "[Learner {}] pour data into the ctx".format(task.router.node_id)) ctx.trajectories = list(self._cache) self._cache.clear() - sleep(1) + sleep(0.1) yield - # print("Learner: save model, ctx.train_iter:", ctx.train_iter) + log_every_sec(logging.INFO, 5, "[Learner {}] ctx.train_iter {}".format(task.router.node_id, ctx.train_iter)) self.player.total_agent_step = ctx.train_iter if self.player.is_trained_enough(): - print('trained enough!') - print('----------------------------------------------------------------------------------') + logging.info('{1} [Learner {0}] trained enough! {1} \n\n'.format(task.router.node_id, "-" * 40)) storage = FileStorage( path=os.path.join(self.prefix, "{}_{}_ckpt.pth".format(self.player_id, ctx.train_iter)) ) @@ -70,103 +77,102 @@ def __call__(self, ctx: "Context"): task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) -class OffPolicyLeagueLearner: - - def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: - self._buffer = DequeBuffer(size=10000) - self._policy = policy_fn().learn_mode - self.player_id = player.player_id - task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) - self._learner = OffPolicyLearner(cfg, self._policy, self._buffer) - # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) - - def _push_data(self, data: "ActorData"): - print("push data into the buffer!") - self._buffer.push(data.train_data) - - def __call__(self, ctx: "Context"): - print("num of objects in buffer:", self._buffer.count()) - self._learner(ctx) - checkpoint = None - - sleep(2) - print('learner send player meta\n', flush=True) - task.emit( - EventEnum.LEARNER_SEND_META, - PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=0) - ) - - learner_model = LearnerModel( - player_id=self.player_id, - state_dict=self._policy.state_dict(), - train_iter=ctx.train_iter # self._policy.state_dict() - ) - print('learner send model\n', flush=True) - task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) - - -class LeagueLearner: - - def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: - self.cfg = cfg - self.policy_fn = policy_fn - self.player = player - self.player_id = player.player_id - self.checkpoint_prefix = cfg.policy.other.league.path_policy - self._learner = self._get_learner() - self._lock = Lock() - task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_send_data) - self._step = 0 - - def _on_actor_send_data(self, actor_data: "ActorData"): - print("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) - with self._lock: - cfg = self.cfg - for _ in range(cfg.policy.learn.update_per_collect): - pass - # print("train model") - # print(actor_data.train_data) - # self._learner.train(actor_data.train_data, actor_data.env_step) - - self.player.total_agent_step = self._learner.train_iter - # print("save checkpoint") - checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None - - print('learner {} send player meta {}\n'.format(task.router.node_id, self.player_id), flush=True) - task.emit( - EventEnum.LEARNER_SEND_META, - PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) - ) - - # print("pack model") - learner_model = LearnerModel( - player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter - ) - print('learner {} send model\n'.format(task.router.node_id), flush=True) - task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) - - def _get_learner(self) -> BaseLearner: - policy = self.policy_fn().learn_mode - learner = BaseLearner( - self.cfg.policy.learn.learner, - policy, - exp_name=self.cfg.exp_name, - instance_name=self.player_id + '_learner' - ) - return learner - - def _save_checkpoint(self) -> Optional[Storage]: - if not os.path.exists(self.checkpoint_prefix): - os.makedirs(self.checkpoint_prefix) - storage = FileStorage( - path=os.path. - join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) - ) - storage.save(self._learner.policy.state_dict()) - return storage - - def __del__(self): - print('task finished, learner {} closed\n'.format(task.router.node_id), flush=True) - - def __call__(self, _: "Context") -> None: - sleep(1) +# class OffPolicyLeagueLearner: + +# def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: +# self._buffer = DequeBuffer(size=10000) +# self._policy = policy_fn().learn_mode +# self.player_id = player.player_id +# task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) +# self._learner = OffPolicyLearner(cfg, self._policy, self._buffer) +# # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) + +# def _push_data(self, data: "ActorData"): +# print("push data into the buffer!") +# self._buffer.push(data.train_data) + +# def __call__(self, ctx: "Context"): +# print("num of objects in buffer:", self._buffer.count()) +# self._learner(ctx) +# checkpoint = None + +# sleep(2) +# print('learner send player meta\n', flush=True) +# task.emit( +# EventEnum.LEARNER_SEND_META, +# PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=0) +# ) + +# learner_model = LearnerModel( +# player_id=self.player_id, +# state_dict=self._policy.state_dict(), +# train_iter=ctx.train_iter # self._policy.state_dict() +# ) +# print('learner send model\n', flush=True) +# task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) + +# class LeagueLearner: + +# def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: +# self.cfg = cfg +# self.policy_fn = policy_fn +# self.player = player +# self.player_id = player.player_id +# self.checkpoint_prefix = cfg.policy.other.league.path_policy +# self._learner = self._get_learner() +# self._lock = Lock() +# task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_send_data) +# self._step = 0 + +# def _on_actor_send_data(self, actor_data: "ActorData"): +# logging.info("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) +# with self._lock: +# cfg = self.cfg +# for _ in range(cfg.policy.learn.update_per_collect): +# pass +# # print("train model") +# # print(actor_data.train_data) +# # self._learner.train(actor_data.train_data, actor_data.env_step) + +# self.player.total_agent_step = self._learner.train_iter +# # print("save checkpoint") +# checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None + +# print('learner {} send player meta {}\n'.format(task.router.node_id, self.player_id), flush=True) +# task.emit( +# EventEnum.LEARNER_SEND_META, +# PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) +# ) + +# # print("pack model") +# learner_model = LearnerModel( +# player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter +# ) +# print('learner {} send model\n'.format(task.router.node_id), flush=True) +# task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) + +# def _get_learner(self) -> BaseLearner: +# policy = self.policy_fn().learn_mode +# learner = BaseLearner( +# self.cfg.policy.learn.learner, +# policy, +# exp_name=self.cfg.exp_name, +# instance_name=self.player_id + '_learner' +# ) +# return learner + +# def _save_checkpoint(self) -> Optional[Storage]: +# if not os.path.exists(self.checkpoint_prefix): +# os.makedirs(self.checkpoint_prefix) +# storage = FileStorage( +# path=os.path. +# join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) +# ) +# storage.save(self._learner.policy.state_dict()) +# return storage + +# def __del__(self): +# print('task finished, learner {} closed\n'.format(task.router.node_id), flush=True) + +# def __call__(self, _: "Context") -> None: +# sleep(1) diff --git a/ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..c8ef8006f963155f70cf13d85b89709ebaa53c81 GIT binary patch literal 37685 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 X`lR<`f0#C5UoH#QE*LB{DP;Z^GDt38 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..99ad35afae1f78416e03295bd1202381a8784a3e GIT binary patch literal 31275 zcmeFYWmsEJ*EgC34KBf@A-G$RV#NZ%-KBV;K#O}R1b2daai=&GYw@DR9g16#LTQ20 zmcIP&=ef`Iyzhr|&ZqO`+_SH1*356OS$p!EHM90i5)Ew~Isga&0AKE6fu)zRa@N5AX@1G14jEN1dZ3N?D z1M#pxAQ1FjuEooW@oNO12RZ47ZkHy4f3%4Hb?e~~|63x#{@<$qsr-k5|1j|XAp;uP zI<(Ud&*Sz105AYp0PcrHfZH1YfIeU(|3^Rm(fKDGyZ@Jr{criN_2VB1_+R+HbFKd_ z2>lzE1pv78IpX)kMo*jB_FnoASsIZlG9-UgXStP_POH{TI6wJ!+kZ=5lDhlTHI0G~ z1MH6n6D+dh&;|<4f#3Mt@p=8~%Cv5)W6tul(Kj^6E}b7ht5Dy6xBHL$4+H;U;QxON zkjR@lJ{FWSVbe3w0=;Dh0N}6x{{3NKV4!!wf~N@vh*oSC>N|zJhj8{{6ZB%rdiDaq z0zjI&A~Gnjs1QT;fw5`F2jM6%OK9*!1HK@dI=4Ur_XoEUe!(0Kr6vbpI-zJC`vpX_ zrpu&MnhFvWlw<+Zv;<6rZ~%5_Dzoeb)1Wb?H9N;Md3f;{f3KYlK~d0zJ`sN?3!+>j z>`GWf5d|R*Ln_(k|K1;@CbqTn!v94sYeypSAWC0>I+B1iP=0;e&d9?Q!Le~JS z3PinWZ_2nx7<{3_V0r&>M5#atB^mIuPOV>SI zc4A?viB?5#1kk0FfA|g)yNPs2lfc2r!@&&%>cRqDN%ff}_M1z6@vH2z;))e_B&l-1fu>GR_6u~-0@KmaBdLN0~|cZ}a!_8hH0hs}73m4`ZS+K>%#5ht5)JIK6Ok zwRYq4dS;D_4Zs7>fBdyISTnGUK>!X3$=TT^Ap!wNKmaljQr+6l&fY^vK=84iy|w4d z7ef4MPA{H$D!lZuS4Z&aDF|s;yFngk08nBBsKL0jU~Kw_8ZL-U8T>lM0{{nBObyA*!h$Ar=pk?-gS%NgC@AV*gDlglsE@(3nA(S#0UL%=^@ zN@=@cGg^RVS-o+wxGx{*4>@`quaF^=!OqYxN28q%#O~zA9gm4{=bMTV@NQ^OINg~wJkmE*)<1uhXa zLuzz+a;o-Q+6%FX#=S)f41I@e;A0WR{fHNQ1J;VKFjes}N|V{vTM&qpE^0DjEGrJS z@BzTM5Cy@I4$oTe($Ib6X;j~|vf$@Hru#QnN6MGJEP4@O9ICs{t)*JV8if3}!GT0N znU9{g1pk9_dzN!N08sK_9s0Y~G6=k2IVVN}+sppo907q36T=TzJLE`q1mOCy7uby% zGM@?s76J(WVHiUL@W4L~At4Riai%;{NdXrFiY-?j0-(Ww(!=3)GbKtnG&BTIf)E<) z900(MAcTSwI-`;HEt|1q9*&*EScEQ-D^ad|FeS}A=4{&aeBYwujB_w+{D&?(-Sgr< z9nTGo*~;&c0=g{OY7vGh!4o*CnBy;w6_e0@)vU4n5SGeO_Q4kCJU;0W5pI!kVzl2e zb;K^4#-&x8ZA>sb`!;H&SL7m>v4>YG&!%4^fYO@~*8iCPgt3eD-ckeCk(Zm(_cCw8 zJacw6MOVEAF-E<2ST3w3==gKFnjHgP16ipO{a~OXF}zolcbj3g(}q7h8ht}^l11cT z5eKbKi35sGE?2n&cKonEGlf9pN}|MZAGNe4OnnL$*usjinQaRV3116ki$;BK)_!z~ z;N!t)t_Xb>Ck>duV#|8U2J}wmh!Dz=(v1u&TAt;+UKE|8>3r>6!1%;jB;S1Lhbkkv zOPd3S!1RDhVfnQljn!w#2(7b~z4uNUln%59!kfb9CS$J?etPxH2`}2nJmY2kB>UEj z%uuKJ#XPMOM^DXPDi4IXcJe<%{0@G$HJG+bA7(i`^^4Qi^nZAO<#4tE0LcB|0RPV( zz~E?Ir64=~F9#3;0G!GrLjZv7q7t?QTKM$Hi1ovK9Dz>*Fraq8bPYh(!}XAWf&u_c zyM8OK6w+cV7-a>;WCD8YR+nM0^mF~(@W4hB=DnTUFG&_{JkxVx)1YlYy4 zzK+vf5UCWl(TFxU8vgPSh%u{e>v>f~A`WO#E7WEp>lqw8YJOD{m70VdS@nU+fBaA_ zCFZBA{}h=e2T@jK)z!F`4k;A1fF*& zN*Hq|#O!hWf~#1_DY2@D`VZXo&CaD=d$sM7qOkxyA_1sw2=A|4$r9@0K(!YPt)n#| zEL4r<2C~pGPg}|bw>MdY*Iu|jL7+SR zZj5OF&1G-(O6y#{2&4?yCAuy?&+q~(PVU&31ORLpsp1ghym_(3?+K741^@=dy1aOE z9YlZLM80SZJ?_TPdlSQ|n5C&j+03yE)L` z61PQJbo>3|KBPOR@Pij=*j0tNGldUz4Y=KCs$7Y@O9(l+EW9B6I{>JKIV~cs_kFg& zDJ6Hb^pX}Es-^2k=1)G)$ni&S{s*HHXR9b@xx#F4)xNacnIeWdiUdKc9`nTxKBplK zb(|h~F#F)s|8nbx;=>!(!z%YrdO$EMigj2Pq)NV5?Nb+M6OhY3Y)Ik%s9?zcm(qU) zoPVhU0AOj|VpWH7-GE#UVBrX1C4lfj>7SCc1^__w5RD#e!U2vCIpKe|!;DpYZZ}Qw zgew?VZxwtjnj<2u(`1u7ohx5ZzN&?Q2iVQ&w5bLv&IZ`MsfrEAu9PaMYWc46MYJL< zKnpn+P{^2*l@pM}@u)Ia+n-nuCXgenH!H0a88+`)?JtC4NtVTBi$synlxQ$hqazbI zo9yP_R0oJW(O`38j6r{S{!%+>raHKEPD^ioW+$M0EFdcFiE04(YU*Hi+PBC8&Sowe z>FPk$M`hB|I(zd!h_wT9k&biET{Yk|gqGNt4gxKIRXvb21TT!;1<|q-O18auv$6)P za6of7fS>^=lDGQn+-fg2==-JS+P-!VrHhB14%Zzp z(=h`ge(UP={)hT=m;Mzm*B$)9Nm;C)9(x_yUDrocgu9{j48Iehk>;zfL2tF;C&Rt% zhIx}W)o%QbM#Oi&ECRa(hZqD*J)Gu#+niW}GY!vfK#nLeGv2`ta+w+v9A`RX93Gvv zc&`4;Rb65epx_EJ%QQlmRDKX3eyMvD=ZGgldOrUAHWNRHigh0}F&}F1o%lQxx=o_V zB7mYss^gFg$Go7yAy5RWAu4KW%v*yq-v_=TRbd$_r}jsV#G__9y0Y~pEP4HLqt)LP zM}+GmIs01EDA-gnA#a-{qO*snrg);6)@wd+?G*ya9-D0R0}}e*=NRKeFvmW@lO_Jv z=UZImPAV9Z!>j6m(%0G7`k_{w5pm~80LzGeREA-$dqe>J67f2@sFF@!Hxuz*XuhME zN;RSIl{j3EE!HxYHJa?sTcPO5M{xn+pJRS=JQgClJWQg+e zR(b?dG%obayzWgzdf2@2=?(QIny71H7mCZ!RMn33=KKg@3~3fbTB^h&q)E($du`AYQba5qkLJc8~0g|^c7_>>&M$DH)lR$cD)M9)}u zbRtJJJlngq4TU8=o{{gX2H5GZP#G)UTVrw&n1F)6LDNW-D@HXG>XPtos++sz%n%B= zD1E(8AM39-mN2TW{d$I<`3D9jb$mMi%}A`Q=Uydm$(q%$Y(XB469K1euk@VS9@Rs z9@n2Jj5m6*uV-(ZCfmP!f7zXg^~^G1%J*I(`xh@;{p&rq_Aa9A7q{BK&l$U%W!U1h zU#u?Kzi%Fz-*vR)?E3cdvp2O${SDO}dA56d=9zEXZT0K1O_{Z4m&cyD_D2HCe)I_i zU7a28w&%_+HZOh!FeWxzQ$;D1ekNki`(TFUaDU%kBc0DEM8xKL$8G4ay7NMGUc`_* zbK`=)`_AP0r&%qp%-G$kS9ef+>smcl5~XGECTz3+{{GMc9fn_@zZA#)!7uzEE2vu~ zKZt>_%Gizr)P$>}9y5oKO$J;<<2yNW>xhyEKpAfgFkktEbF3n>K3y>b#Nv_0ixI(n z%pH#Jq8a2!>8*(O2J~N7u-pWil_g{7%Z@2hZp9YZ@yKp0sb&@M;^|OmWrrf;G)r^I zE=&d0LB?N}Q+k|ma|QwitF!QSx2HRH=p1aqclwI$p*Y2tC+g%|yK32}^n>RB28^(c zfj5llL!7G5B*XgRu4L08F|2Cpj>Rg53=lFzjqY&aAS}C-Hj<@@Ku#bBSDRo?R-07Q zLO=A-rY$4S#^|*?Ek3kGVcXH_m%j z>Oip!+9mI%8ad$2@Gxm$Q40mcs=>HMDm~l~FBU?bR7M)p3@LUFX=P}_-gj89^1)rR z9bx@<-AY9m<&3HOP6@G2K!TX%$~Xr1C_&WDN1i4T4Bb5wilFl?X*4@_-&w-E<2OIv zP6VmSC1JF0Tp7+|p>iEuR}QC8rP9eSkGR$Lopa%!bjZ&1x&AxhnoUQ)v4s?EQ3ccq zam`}Ot^5G5jbKsZOfrgz6Skk&sDy2YX5E7sAy3?9Xd%ye=p zkxcZddWC2{L!(4nc<_@rY-&cbKBX);`D|EdQ6=;#>jdGPRBo2!VeQ793!ez zP19`2d!MbpgTiEfcblG}eLKcaEsmxdGaVM9aqV6>J}OF^7nkH#xAfp(AursjS`iF0 zL9MvXF87?_s~y{msNYTOR3^*D#w34@O@WZ};jW_6h?1PE6g5V=xBs%!jQJ$wQTADP zNhEmt(s7-OqMbg2LQeX!LnywtOLVylFnVGL_EyB@Q9%zO+yXn;vbq9cjQ-#B+B3Ws7Vr<%+1#cb@VL_V~asXffDgi^DO%Z-6hodR}Tdo3?*&jnFI%L1h;WYi#**Bx=);k;Loi zREr!pT7P04JGIe#5!dZ@kb{=wH*jP$5SvNIxHLDYetUq+MxCa)mg%}z%Zk+lc?#KSY|oZXd5x*L-w0%Nwu zQzEN9>ppi^M(zc0PptK}_9w)4n74E7iz4J}%yK5>@z@FdmPhOc=HOkJyECX8`oNanEzn?U-B#RE8393PBX4lYiCZch(xdD$67q93m$RyI+ zj6WrI!Q$p~Lbd64G}+aJ#ly{q^tjQ&=3nIVkXxsT7|;^c_}>xPnAgy(Vk|B8_ahQaU@DwfjTD3v0Q75nucqmmb%w z6qrYHiY9s1>`N?ea;%_BMahN<)M33$4UUzK2&?60yiF`irGvwFd>3mRZGi;_MPtYg$3fN+&@&6yN@nsk9I4x9tX2ANy_|js!_qWeZ4w1&U%b&L@sag5K7}qz4@d@vUmz>1u;+(KB%u;MG>V+@;JFs;1VdGk|0l{G1fDe%=5h6$}+iv zAX0O~j4UBRHP+CCIAKWiFL7OG zv$j?- z=)?$UyM$Ubt0PDPejKk}m(^_Uvwc3#*`QVw4630bd0~y9%D|^BC?6+p0xvv zriu?`;vbLT?Apa^J~mTg51+cYag0*PuV z5iT`v6rfZzNZcKPaN;Mi0Jt2`MfZR?D>>%0D4ZV2dRr*YxW1D{jjczZ!D0gz=hmrF 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..de068ee957f0ea9385c18cb4fd1bd6bde502d14a GIT binary patch literal 27882 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

yX(8m*&O38}k`fl1^d#jKZA+~` zU{%a?6}$dPsl}*Q_kPPOCv3G?G~z-=d%zp3(bGFY3$7=51tE|IMd^a@gqo2 zYh}&td|5#!-sEW$dU`Sr+bI{ZGufe zDfO5B&$}Ittk;TXaM@=SKF{gqpC+8?4>N2yL_u)5k0+!`Qt8ANIS;6Q@*IbMMmLg` ziNTyj{X2lKcbs@9rG#r#K86kpM%?=U68_7q;YR=h+lT*s_)!3hMTHLtg{bj=gZVe0 zXqEprk^aAK6e#ji^V}8-Hh%f3u;5hj!Z{=*AQYh}X>LB%&VJSIAm6q_OItACt-4eR z_c!6egp(yn>c`9^(_%TkIB)r9Z20PAjf2eSoB`G*j(_{!tjNW8ZVFf2TPv{r_!&#mcW-3w~@de{gAt+cf5)+i+i11d2euf zb5MjyDEl1ywVx?X@qdg6Adip;^v$Pz0q!^OSUVtilKKvW#bF!ERD9jUE#KPyX+D4P zN-i>N=FLX$503ZFFG^$7NoPKs#0w&*^G5=;)A^A&epEku5hF`G3@~5)6O$J(VS;*@`qfZ?Dyd3hE(P;r!3<}H(k$A@Utd) zirNR6->>&$T#D#6c_PpM=v+PSlk)opEL#kH4SlEeFEOvO{TTz`Cj9fir5)+_%REvq zw_7S~8hwB}!n*~`kZO#+9YVG9B^d`*gv}stg9Zm-`0zM03!f!z2+lfY0PXiebj=+A zO7$SG#G})9>dW(3Yroz$5&t=x^C#OvnvHAEEAt%ypf?DB<>l<|*>HB{Y_iwu`>iW* zaZC3VO1*U-Lfh)$nxNR2wEJOvq6$8QH+T3 z0r}U()azU)@o!&^-Y8$ZcKxGms)Sfa)vPAO{e-#=`> z$g~FlS}9HH;samUG)zq1PfAuIlhtM{JDbAB2BAFY@BH+if!ROP)PKn4pHA;Ta{jW^ zB^EUbjrnR3xn8+_F>JAa#%|>CI0%K zM}$gh*jS>@i!#cT&YwcZqDz#xvXqj`~S@_8s+ zygWzl)Gv;%qACQ!qhW_44aP@Sq6xE28zxXn@t5~A*HD5k!oTo<|Gul8C@)&+N_jk< zDty7VC0GVHoa_`*Gz7^~(}^^OEU-rX5ecE6h`PP%axbUcUMfZf z&U#c~W2+zFPeF^c0j8D(0v%gQ55O$>HlZXgx>ze^V8^i)Q?@cd`}tF*LAsv^iA`-r zy@5@Yzx(brY1HqU6$j0J>kP9p>2TK#NiOoU^d9WNo2|8)@+qFfFV9~ccoeUX^2JcT za|R)LPC8^#)SrFXDIdTyZ-!VcrA4>JaD8TuJ))%q3Je>GEF^K6Q{Q6~)`kwCoUxFB zCLIr7BQAe%3`!oA%^Xdu62K5kUzO)bRzNS74V99L@Jb6fLH6XaKE0E*YI0!#{&C#p zPWn=!6tYMnNp1#XRl=f+Gm}A$(5BORWoz#j$b0-9ZKlZqM{1tcs?lQ3LAMV$zL-78 z9dbt8HtArf^dwx!_`B$1B$M}Va@mmu)Q>2#l_avX*;P;?_|7E@g}3_5h;m6S;JV}s{zH8awKzwc#L**=Adm_hbYvAIx+n# zDZfROiI(F1x$IF*-OPTiDY%!GYhnQ1w`ENYDPEmeEO2tfebI)DJ5{FT^e4oL?E5ZW zRPqfw6`fq@Nt;F$AseSIi)*yXPq`~g1xu-U2Z_A-0z=8;*$xIB4%dlh5sYll`RU`O z$$*|_?ark`4JP);-PEqM(#S3gq=0NB5QPnLjm~BaDN$rXzzzFk8hPYJ{F%R%Td(c; zys#o)cc#%1k#^3msgrRl4;|&Mnj29f+UQe@eorU<@^oCYw_=lqam1!%hpOKh7^v5! zEjEBJj(p7(0uU!AM?_Qa&QEllKd4*Zc-owC29{Siiw-a{O&`S@1j>9U?{9p)AX=Pb zI2O=%<*(FFX-CHSE@ZZ&apmm|(Yci(S6qJIy|KufyuL_V@yULJ);6f*_g5ibk5W&s z9(!<0D5naXeb-w%JT*TlUFN;_WC@L5`I206sBvoLFEr3RVLb0k)*be?_&sTsj!(74 z^c7FLittPNh(o<6xmpA3+m8bWb5<%dS(GiM@{m?PnIQ6aAm5gNXiN%^t zra00vDt6KUAUNl1zzZE!f!-jZ&;HVH$q?Qr4 zTw#$fJ%6o$HlDMu4O$PHZ!~=VTBk4RqIG~#bUyi#r{((UjvA{mD5}qy@ZCE}e#yb7 zH{F3|BIKJD72p%etQfgZi;PixaunX#^k$FN&PxnLv7mfXo-*i%7R2rsh0=V~VFNeQUzf6N83Cv&)EC zK>&E-Ixo)tprMdVtn@L3vYTM`Yo{3xZzGz!TsWUY{?L#`NuuiWIzgE_&kF4O$mJP# zrx4TDqLG8RAQrzC(X_f731xW=pj=#n6NvCOcIsE)d3~t!arbFo;Hj^{6TsCxD+e$? z>dxg5vjJj|q6Sm_=_vBRKQ`Hk$y>xFZsLCwEr(MEvl2IvR*yHo@0C6PLqd2`Jb191 z3tcHY@8?e1tJ+`gmr7@=tWlZzyBautJxVQI?JVtIIgl-7*(T3O-xGmkqf!lP1E(Xi zCeMbLblxdlI$J>>^cEjdo#IbAQ7R8nmZ!>$11JofczoJ0qnUN28(BrG&G0KP8~yj? zJ#!^qVZXetB`l8gr*Ut@6NJhw8U%z`lXUt!SsGI9>QI%7NFXQg8n=$Mszo(%7v#6v8xqOX{D=W_;#n=onFddDtl&MsxouGJPL55o+dl&GbqB3B+d z%%26hMm8;yfXElvJi}6@CqvPOpP^9?weu|P=;XK8D6MO&VBfjCX*N8<-Pkq$!AZKz z*&fh1xyvu?E0FB*Nx7}ay}VPe?^1ClD-alV6g^9(Q$Hd{&v@Rnr8})9| zC;;k@Z-vB7j%}l4rCry}RyuWNkoJA@@3hN`n?5Oy2-22&v>})pJaoXLjIv(i&FcJm zlQuVOwaTH@p_R3lw^_HU#lhLr@asYE<9c_ex03o|7@5>=tk@V>rU!WfrZ}ZIp<+{l ztmclIJ+^K+I?`6QXS!ZEVz?MUO<|dmWZ$Q{l&kJYY@z2exUi3#?;Kt2E1yv5&6WgL z!bFKLT5`&6RqzpuqDtt(*C!#CveZJ+qTXGr);@TnNM_k5;!>oC)gj*a4wpqcf}xe0 zbdF!>n6BchO0a@|m8-r;|nzCWH z1e&eGn1d;GrkYL=yVGRH!@H0Sp?zXlJXk&oOE-8WSKxSlSZ9Q^B)jiVL^a<>d{W-t zaAT#!K%W!i*V;!A>4480lk(Jn!jo?g2A!|V1{+@kxu-rRSOGDxTUtMvv1M77S^x=8 z!c*>exGy?Vxu<$_E_#3Hyh2MFiz&n-^a$3H7NG^UQY{2$0ZFC7Fk&qtoMI z!mT=1b^ZxDNh~y;Iy|#Nw_WehDnreMOF_G^^lfC)ceZqG_mwa@M{{wL*M2yY>4%r6 zmwN_vr+i0mP}NPs^pM462Wz4Fmcp3*h@UPWK5n@(a_j}iW{B474aleQY3<%F81)fi za!}QAv<_>B7ugMAQ+D^R;%m#tj(>q(53*=i$rp*+^S0Sz&aZBxJDZO#raERZkA93* z)3zC%S)7jj2pJM@B{HQqOtn&%##-L66`bBU%W`k@_DF4%Ck+`%(QlI2Z^-X)dZEvqy}D735pijj!x`L4`+;3wPjINRfJI= z!BHeh-L=pw&WvagagN$n3Qgromuo>8=%*&N6lRz@mS!1itOS(hTQvkdeexqs+9$i4 zkVt(+THE4U&M4{!k{Mf+G00(fJqtyd@rfAq9OlIuT}+&x;cJMtx@;pI0hqvix@muA z!lM&6g`YNRQF(_%e3V37$H<0SZZ!8bU2G^BVYlSEKuGTbvFi*<&_t&pU?I>Bhi(E=Und((#mp(T5D+x?@*>m` z0VREKZk?Og71f+|{ioa3zgE9k%8q||c;Fa%`o84%RQ?DoRgx=KAVjtxR3ubQXC7sU zWh@;3=&N6lq{uPOVg;7Z%C9f0MqwF;rQ%o zd{K*2H2kf`GA(LpHCMIT^X2=|2*nY)+V2cUECEbFi7$ zDb-y{KtqIeyS-X0&h_O3=|s?H1d)%C_v2 z|N8L9@aHJmao5RmZ=)%vBTku&e8K4Q=uIPjA@Z_iG6kiXOt;O~xd+=M%S^c$ET|SM z1fUuzm;|@9?gSmERm3^pQZJGW(pYDZ{@T8~>#`*I_^#^6-P>s4WF%!@BT*(dMb0%$ zjrJo3`eITXslV2`p{2O?Soc>2+mhLwrV<4(a|kmx`wvd1dzIn)cj_lqxo?nN1~G`` z2=ox8CB)UC_P%X>DN9Fb?uI4rhr4dZ_V;qTTsOUSC=ODSFSdnq3iBGc0acUS09B)zB zog~n!z$s~V@-Z+u0x%)gf`X=MG@1|@?qzpfhj~eN2DsaESx5?XFW2y3Q~1Paa%Mik z314~lK-zyfBX9U%mIez2?%o|*+U@y8cyZ5n)5Rr^-(Q&?kC|L0qOR0G1!Mgc&E8(0e zi9SIUIM$1l)euY(%|cEPle!OXO)0|+vz$Rn`#HJ$o2RwvCTDvmD~iv83$4J?zTz3*HWHlj0oI> zi_#Riq@;<1;}U~i27SI|(fqZ#=MR>}FB<%*`zHzkoSPS}!HPCH7ozAlsRKg4-wZBD z8{CD3Gr#E;)tfTTIeMVFOhvC-cDIa(?K*U8>iyHu?W5X1f*%(QrlXVG9H0^M$Mx%n zDWT_CBjwJ}*VLEn8Sm}jD&zF#*T;0O|KYSgcHde@ox!#G+qZA-9i!pG;GdtqPxibf z4u&XjbH@!xcxru5d@HrF_z|_NNe(ky-1YXpJq?d&{P>)YregV~?Z=E=qm+sYV8*oG zyt3>)`$524tyL$Xno1@+Pip?0Bl~yRa3XUiy0c%L5GTOk-HX=ag^%V-_78pG-}U@+ zx3KH?ii}tY`;qNGE#t(cdaX4cM+aIkPDm5$SgES3|)9YdPr5 zF%_X715@2-@P1I@QkEc_@X5GcqmN$b0ERHooFLL|fZ~WDas~B(dJ!}6s7MHhEb72c zl%$lU#1sC{@Mo-`9=?h>Nj>M%Z#{pSjuR;tJzps-didmS2%}?+4qPxEV)|3_g?>JF zqD0c%1D;8H34KTY0(bu&@b#)`)oh^9b5jS!tnMiOX|uK;P3g;hpVwicp!_3mPlE<- zT_-2K<&wRid1y~`ykKSQs+eIEtp}sEVmfoLw+4n-np-Pq!ZNO!kjOx~RooQuk`If7 z#u(isBwZRarkBIaW+VizpIm^Wm_%Hxf3IR2IfYwUtq`B8N0!&guspGcV6-M4ggx@+nrYFaL_%IXD%m{3y_-B9vi03v3( zYyt=sgaV!m!@k9y07g|ND;}cKs_HQe3j*;!B8f=8DRM7`%GyLVDasM2B$Gnu*yE(= z(W8q9ijb{Y`3VeA8ZD$sJMpndS{fV>!KI~`KvX$8Y}s^FkS==ALM@h9Au)o2G@HDd z#6lV%%2q4I0_3SHY8mbQ{T3pA5(;$tmrrL`&(iacczAx}OCLJ}_w z!ji9zwP`J{o=BtPk&Dm5H*MDADC5;@&2gmEw@8-FY=BX+E{4}oGBURiwCM82%bHUt zT0klrrC?C@5(6o%mK52dwiZ?0S_gYuef?$@@I10Eq&ObPOCU?2Kgmj$mBcj?jKXa) zA(j%7gpfnTEms;=L@Q0q*V!6J0%|hOAH$l{}%9@E@HD-Q5>hOlKs<+0QySC9)r5mz-1E&b{KgHbh$xuBZyQ zTkRs9T<`DgoV*K@6YNSpJ4Sn_cL0sby(^W7EbQH2TRvi()0kK*Lsv+pLARF^*IoQVLoiO#^GmA?xAm z$I=FaB7rDpvb9MR^-;RL6|vHN;*Fx>tpa!7zg>y2k&Z5h2MjBX`^IcSJC2Im^DNr=Gnv$pehhXrOP&Arl81C zoLWWc$J%fps&jydIk5h=izOTcO%!NaTG|3!TwGIi35A1LT?@KI3ZO+W8-EN=(Q!0%VM774=5MUJI69bOECZ>5Xqtc3B3vV3dG1_`( zEHpk0NwUwhQo={kD@;OnQBMD&<;F-D z+a%G_isk?)ss(#G;kq8-tvZOSC}D<`TaMsq3RcS$GsWF)PH9g^P(0t-tJ8RRR#U8! zA>^@G6V_%4HG*q$QDEAQi(9hZpFWi6Bg#V~;%iS0WY|BJ(Tg{WTja>q{auuxi-wxT zbk?{wf=n!Ik!)eSet|ThGtcm69lj6V9nL#0%zGTh;S!^UawMPCx~(b8O?wqaWKZv7 z##B5SE^Gz&$hv}wQs+^_D&!_g6)2&Mv>aBJF@;hP#5rQ-bJ1ECkWxr`eB4rP>z7Ee zB(U!wm$~IvVm)s2_{0eLPFaRFtF&m|C+Zxv2_u7T%F$djD{Q^GuJx0^;Z<`!u`k15 z?Ws~$Ua&=+v_jp6e0(hl>7rItWpOM+aq-$%Tko=mgZ@e**Rbw45lGh)Q{am=vvSjD zH84sXOe~IhqUfIIcPVUE|B-%3C5oAjgMFX{Nq=Q$V+sVw=LqyNoZ zn^$L(!O4EwfA*tq#IKHUJkrNdMUS1z@Uh<%VM8%i#3B+%aoOX(F^bkHN zbXnOT2^i9*2!SEHe*_zq*_JM_oG>{w=P}SJ*q1_>yG78P%*HiI-dcwZkvFbnk9Pg+f5WkThcU;D%YqNiyWgn}UEk@D_wqY(5k4jrbL1dAaq(H1I0VEN~nq_w?0Nd8ToUTvj z3>!$dsRnyN_2(T+EFI>E)8#K(YZ^*nCgX+kgc_J8tI_ldO02AN%q*YZB|JLpC|)ev zTpSSV@Y_uLvn}Tz`tw(0f=f&2c&)zHyMAh0U+dY$=H@+IcbqFhrd6j^qc?I8z|G1e z;^EJI!oJ7edGE&?J{XSf!z)BoFsE8a=ePsRx3h)+s;>+G9Zry1^77g)OhM zE7uj&5;A-AE4+H_ZaVebIO;TY;&ftl=yg(6tm>A&#B1O4E$bU-YjM0T59E|BH@9*$ z#V9Z3sD4=6Xe-fvu-DEovx&wZO0}yyT(IOyadPrB&~a2N#*C$4ZjmnLASi}Z-?Xm8 zl2A&+7A!{1DToN-r6|Sh85ard_!J=3C3Y+Gy2V)~(v5BOawLSXmHCvyMhU>8sy6+E z;%4iUi?e4?*CGuPh`GI(AT4Z)L5`g?GU;3AtY_Jn``8uZ&1pc8f6^sPPD7elvn8j?P63JfWS2Ct;Vvz)+fy`}*lgpu`R(KO2`IQ}@f8Drhle2Dk`293=GUHpz zsO@paAN5eu52c&yjO#XJ|2!ksb8|?&8gSeVogIDy8KcYm438CGEx53Sq27$3mAw1u zEFw{0qj=SF|ouvFlc6ZB^nbKrX_(yHP zjA35<3VDPxOX*v7$A0psIuUyEiXXr22G$qTH#a9eM-6`uZhsLi2aeWfbPMn03YByT zNp=Zx|7N+u*{Y!C*kA@(%+)7KGphg8FxIl(DG(nWn20&|g?smGnWJCe?eo5!>I?XC zIBldW`ATw6VfQ!N{x8R~U!muzdd1vX5NJsJO_!pY4i-dR-zee>!NLuA7!6gkM3Skk#nwUFNnCH~n@PTw>S>x^OIP(`sz|3>#p2D| zoYabhuHSt5vDS<4hK_$a{aC%QYfH7ZmU3d8;^AT9aS*j^7W16@(T~*rJ5jFvZVh_X z8@X=$TjuHMk8{gW`8OMZ_wT-(P#(K-1Trk`6Wy;99o;PN(vRLG6RcuXP<*4&h);}` zSt!0*sCdfUDO-d%$G7kO8VnmznF>3hZm#IcPsK9iQGmd8PPG7AapWu^Y;!Fr-g3-r1XZ`4adfxfORW2!-=F#!4?+kn`=tXSTwcEaCQsYND>ShwhXpc2> zVu#9df*liN2S&aEX^{0D92gp#ZiehRp?=`#kx1biY1rA^+?R!R%=^lvty!-Ls_KNT z0e&@8tXH$D%WPIL+w6lIn|BXr3bIW=Gi?>A?c%EYr_1t3*XAbdgt71Q8wT%P#*@xZ ztHioP8M9Y|t0ObNDV|kCINqjg!d;KdPyBB0sfGoOMphK{2;>Yg%E-{ z>nzRB$f8`?OQj4K)G1nCQ&**bvM*}tyM>xlT1vXdl#CE4LaNd9H^hs{ugtHKwlMpJ z2AT+YOHk{Npr7Z%oN|wwVGkgNyigR~#K2_#&lilmD{OjM+WUqSb>IuVy-FpeuC{Nv zAxlnEx=-)eAACJhoKDzdphe@G-kdFp+ai3-Rmb{*cNkl-YA}K>h`}3TMW+3w)^h5m zy2#j$R~m$}E1KB{7F70JbxNcDm4a9>5-kwE9=(XcuE zkyty%)}K-G9xbR^RWUajd5`g^o!rG5V;*A|FK4!I?nB!gQ!B8a9^Phug#_@X2q-bi zODen{svRQ7vRoJBZJ$|a7fse`4L8A_Ai0GHdOGBw;NPz+DHkXiI~>-Mu@WX_cOXyO zZNJ~;@y?p75RXeotv!}@`TePT$-LG=mLe@ZA!V#{l9&-eX1-BM+bOLVQ8)SK zD~Hg4p8)m7ToxxI+h7iB^|SW@9zTjaF4_J>n~_dxe5AfH3zt&$32)t=nX@Td7H%oq zJq-&}Fm6c{+TOX|hH4%jUfZ}xR^?4xQe9Nlz$iKZ{huQkomB4yyh6KpL1J8mU=5BchAOes&1+LuqXa&$(=zLO ze##MQ-pNh3SwCfp6=iDbav`n)hg|xdKy={O7q$YXQ3YiRx4TlOTqp3jVYiMXSGfAl zwKOLjO-yyOb(hmrk{`FT>-3l8-sX5LLi*UvnJ?3ls+?Q0X}uTF|7!q3?AZ~MRS|(I zr`+f*!c~ETumNf8GFHOImv&`t?kyzC5f*o&|}ffqOZ+BRuyADlY#^k1wxHzPJT^9 z^yRob*U=Ir6U%2XW9fZmQATgdSUSu(rA&HncP+xB-CM;AH}l_c?snP7>Sb{2h%XiJ zbDyf1krh3RmA)E(3+&Azo^6|f*gq5z(X6YAO;*AVKXu$MmI--~-a#Wl>bPOvQ9{lX zwmg}_wc3EDhlW76!3*(4&7Ggv4yJY`G4<{gXF5`X8D#aA?oe)bD)Mp>FU`YyZwJv!2|Ps&D`J6n6U7=oYsUv{?n+CazgXHYC~%Dy3& zQ_tj9r%ne!>se9k_Ijt&kGfJg=d})8r1*1tIRl~O%msE>^a)>r{v(;iiBAD$_$?qON42D z%xP(7Wdx?$?2jP>k)GLBP)fAJ20dDp$5$)GoddN_jdG|8%e)Su5J5-;{8w-~p?L1Bl z2eISeRi*ERT)N0Rw#R;#=koRn5u#Yf?;E2d*V{egj9c3b4S{1%k9yfAf$+Y;MZdle z!_#|wJ~_U%!e7>2>2Bvg9z_`q=hYDfPW_}*Qyx2DP2>~9?V0_J@f7QyO10)JxHmR` za<^($>_P>L4dTJE?lJ=kn=1aLmu< z$p2adl{?o>h72?fpfo*;~)uIt6BFhUnn; z?Pn7L8l>E5>(Qk|&Lwmnsv4{2us&MCQ{S=$7;sK$!{PI=9dvi1W8GWy8K0raD2&_;}f#V6FG7TJ)9q+a|cg9 z)?Ti5Mc*M@=T|@S(FHEm5htaHaqX)44rof&&s}TrK-i<$&6rnCfl(Fyt*3TKDHYul6@avpv4!`#Cj3t1!&n|99B^{>g26 z__g-1JchU_S*)mS&l{T4mto^&2g?|?5wU1DzN{1MvjdJrJ3hWU;KaIxqW>fX9p9_v~rSh;au$UG>ku6O2 zNjSF|wQ9YWh*@Our9>v>2T=vJaKKP+%dPaw*VB;he72>v_@*&}nEvd8!Hsyo&!?L& z)DMqbyNOhD@#+gfh08Gj+6rP8f<|UF^%^vGUj1RC@ag)Md z5ocYSZiE+@OOR=GYUSK4K!QA#1Rj!|Ie$NpU`5%o!~mo8znX>S2P}PRMZ=4(zOz_I zrD;f4Qqc4+Hfcm8!r+-U|QK;!RuenwzoXw3fovY*G^CUl#gu9@aF=is%u^i z+VMxVnaA(TDG!(@3uy0$E)XDdP`M{nZ6o!`3UKpI)jcqVqfU$NQxPG1d?F${8R-j$gHLWd_7TB+z;1h6&lm zE`FjpnIND!|9&N+fvPiskc^OK-wWYFoxa7*;caSC(-dd?@rT_#kd1}m`Hw+tKw5bg z9ix@(+xq}l27qtGk(U>bKsf3fyy90${`6n|q|6)_>YYGDnrD74Gla5nipDIsGh=1A zZJgb3pZ9`+U<(XFv6Cp*vxyIT0#~b@0VNoq`#ba#ex-Wq;(%8;OHiv#{w1p$&u`g9 zJw{WtTsDKPY10-kjb_v3cfGTB>!I7mgNX&rs@*}IMN;gl1_X!@nhzA0c3gv+8$L2j z4oMXJXr(YI0*Fo&~{gmxT z)baSarYvx9<`wN{DsR=L6|$8)wjc0;R}QOd8~1*PKPU+$#4rFEVB?B8YTqXms9!~8 zSn_)(&=$c|-Alp#-BY2m_l8ppK6=g{w)Z%7x|^vta~NHFBAzRw{W-nC z?M`)ij$7Bx?hH4*UG2VEZ4bS}sF5Zk~d{tj_1D;*&XRGVv$5 zz452def!3~Y3w0U^H1W^A>-%RPns4;qzWkcMh)4ZC{yEms5Rs?YfDr^^*S?+*v=9 zJRI^VL_#qsg*XR4IVIUlF|#y648)zrBBeeJmY}tfmR+zVRODd*gXb(TB7jirbVaLa z1_F9y3nD36Xc-4Gc2=A384qKOXt*x=LE#5&ozShXop|;crNM|7he z)Z@3AyHN4cb3={AabvXj*6e3+Qjv_fe5>Ct*v1UKZ!$~~YnQk$lK zJKwaO%PGEXs>>7YXLiooE57l#plBNf@%|iNSw%U*#|7+5)!iQvt-si)oKk?k-V} zSAP5?zw@Z=f&N+-RchQ*p8wZ3^t*3dKkb*Vme_0P>$O&{>osY^*7{;QC z&FVwUA3@{lnz4lAYG&H{+O|y-3YuAteB)miK2=ZKwykP7R8L#2Iof?$gUf5KS(KIW zsi&G*@(^dqv#}}ZDV6Iv^4TjnRO!{`NDzU?i_+N@2gHfQCNO}2xw4=zLODo?rko7} zOQET#8qj5oT8xvB!$hDYM~x~Lmu55@m~((Irkj`|$KU|T*&S@jxg}x< zq`)X9lO(iJa%PBOuqe8y5?0kBX=tX@BpoD0J&KJ27R+oBheKPGmMWnawxVvy=!lb+ z3X(tsakDbg1JP4>2;!`eqXDh#w3#Vj2H@ZCW=w^kKt9r@Fs9;!TC$_aac3jb$;ANU z(-jBF$B2{ErPdIXP?^nvqIVCA-wM9`(o*j7_3<04+q{K^18Kd!w zm`8m{$266HUFW4Tu63pl_xf4q`i~`OzmJ{isx!)YtA9-e5BYZF(v)XVb65M`j)++S z1T1B=N#PR*fl?4`&0>IX>x?MlHhNxZa?`J`;{NbEeciax*S*8DdBUX^*j=$H+T-Ln z)17{A``P0{!6(F<(OD-Q{kTu>_(kEATGWQ|ekF@z9e2FX%56XQ^7*2m?{1d*u2y)m zWi64to^sSGVCarJ$7pRYi!lN^`Y*&?ATEIo5V|F z;ZKXVX?dQacmw8s%jfx{3(d{Kk;P7{T_{XL+os*~_Xd6L0dG&Hq*mU!cXfiSh2o+v zH^IpZ=NsK!Pc%>8qDXU3Ysbh?Au+en2{I+$ct#>ZU?I}23S#*94zyy4K5=$CG`|JR zx8j;bRa2J;1(4gwGe+MfAq5koqRgWy{CXYgd{Z!UN;RC(v_5kBh#PUxHb{j#ulp3ktB(oLTvs%glaqPB!9Z5;~uZbnWCEwxEyct zh}Ha~?qz=scm(h0o*nkQOtkE*sXo=Z+H?;XXF@9VNFUY+fk{~sN=wMF0~JxTkUS`}Bl(hgWZ|cXG(=dEF6rY`Nfc}a?)?{Dk5&HzC@99IT_5$D!R$9t>#jfj z)#1Njw}2RU+5iB?ikJz&LX8$62A~B%09=Imm4Bg)!{};WI2bS(#flmzs{TLmf2b0Y zOF=3!1R;tg5;(`I5`{&lZsz}D59fN3=kIEl>|aa&*rEf3gp#>Q3#cajQy|c(^6A7X z^eMXFu3?E868SHB<7VGc0mwEV{`|T6e}<9mV445`e<3vhq-{;9#M*`>?KX#SQHuQe zsuSpZxl$@)d0cWsmMBzX&CZd6Na`2Mx5C9i9=a5h%!*S-Mw!Anf>TEgIPrC+5=}O* zNC^=fR@DM$#Ps9S{DtYOVk@ddQ}vytEp1{SPJE++iC=9es=}*6JaK{=FA6KDhLk?= zm7tG{R{Lf9iCN6~luPnLPI+m{Mdez6iYlseNHCaqm<<$)kYqstm?(r=0HJVv8zk{^ zbR5=HxQddBT$&@JEx8?e=6u!n{IqFaZUk0; ze-X4Ar-U&Znwbg8=T(6!V!lsXQyI^%x&T z)%(5s=i60%PM@k%eY#FnclBC(@3qB`tPfm@vm_lXO3)6C6%;*bu-gxc`5Cn%`tTOh z92*hF7gpB>ExwM z+`R?&PU4e_QUU@e0t3jm-z)@LOJCpyUp9c1qEzEt=L(cj@t*F|&_FQ)H9S+9Jc_MY z?BBxrl7c*$sWjfn<;c-KjGPC&d1yVqmjECiTb(pg9uI`04h zqjU>&9haZm-p0Q4^SR6&JGhy-M)*&%=pAGjG4T^I(nLzrx_s?8l8$`zOgwN7SNdK! z{p$n2NVrBu)%-2xT}g)=2Wh{uD)xiPzfSV$^%w7_$iStTiRe@^x*)wSDY1!mrQg{b zjotAA5ha=jnmsJqF(+fGmm5SzZ%1Y0e>-Xu*=5r+#hi4AJRPpZe}}Rzl7plSL_dF1 zjp%D<&cRWyNdtEAYi>pQ_X;L zQd*T$tWe=AOVbnQB?IRNa`w(N*jk>O$;YV3f~Xv;*=F|9l zCSS!8;zElt3+T3W8@pxq%L%Qx?uDo|J>D;(M7I=O3yL~Td>Adw={2|0|3J6yfxU5K z)ZAhP-*I&JB^8vH*9WIQcssLQ>hLlh6Qf)G-uVkCRCb0nzsoM#DAiPcU+?md;LAi37^Jn><=BT`J*qtuGsJGx09}Ef0XxW z7NaDtCZZ_sK&8ZAJK$*RuPJBF$bv5xCLC~_c<()UC9Oz9j{xR0meZ~kL#I8IXZ4Xw z6OOjkbDb{H)hYjOHkm@?1#KUjemCAE(DeGfe4iikfi<$%yflc62iqX0VZDB+73Nbg zy3fgxph$O-Quvg{n1IE zq-2MF5fj6igsChpW;TWy^}piyFw(ul&_Hlmj%(0Q_@A7JpJ~7|3YMp%W-1!t9m|LL z{%}b29JgkM_W4PkL;qIHOx?Wjq?xS8r)yk`ej4iKTr<+QXIK1_LwKOZDerr9Qz;ftGX+hhIaUuCS<>QAP}|>d<5&mDml69dh5%c!3*1Vj}_>F2_)h zu*R@g#wJg78O~vbQqCk2j^{+7{HBxLa%t!$pq{gTYHT~P`4|Cwl=O?KGY?Tv%UMR1`u#|4SJmD?B zXV6CYxof^d!@wIXg@hyeZsPoW$5$^={d>RiT;X=ZHG@SDBl2UqNTd#kzJawj=JaW? zzt;T}JnTq~epiX~@Zfo`1}AmOXcQ}(!e`zLAm8k6i=5YJTad+iSjIACvDhck`8vyl zX=?VQc=;Y}Pqqy&9%Cz^g2V0ipI3+b5TwGQ;@okzgs7{+#?Bsef;-7^VSNILCEiz^ zxr&!{omz)OG;tEY5C#Tqt!=una|C5%>fc|Cp4wygdOOJ^MQ#q1{JI;6U<>SNKQwI$0`*$+nZ_o z#Nn<776?nS8npro8i}oiQ^olqR)lZGLw4sVA^AJf%I1{5j)=-{sI0zm2f|muSc|XI zk!)*HnNzI&I9$Z9qQ5p7KOc**6sjX9J7bXOT>nh#yOd5>8QWV&Skd1fUTXaaOie}N zzA4|z%(UQ{)s3xixgxj8uZ@v@vARR9JzcMI?aeYCuDr-ua7}b|WEyk`(0j4w)oG{+q-$tgo+>wzdB0eVzN5kCKsxaa)U-y*N zGTh;$F4tah%L>JJL9u*4Gd}|mLC$@(4o0K??AG*Qi@u&sG4kwsPd;gg9QUiAs{XbW zC&0XBJA0}rFwYgV%OvDR-}_dA26Yc25Nf!yFGJE9v&znhfonHE=io@r^(1w>RwggU zMbCN2LScR()^cvX3PnSYf;v6B|HhF+)ceZc!eVH3Lu=MJQIX808LGy)J2)=^k0WYE zKOS7>TWkSnwrH}5G=Z)Lse47H^x9z{j-+tp6T3&rjD@yb=cIM&AeV3RqN>8fygH-6 z6+>@-k<*r2$rKK21DdSdVhGx4{@O~3EXlMwip^Y#@|4^h{b+9JKq=a8chMQSoDp6O zTKIIFR9FTz`OSw7k8^CJew&-5DC)$weOn3W9jS(eKvZqE20@!Vs22qH$V$c4-U^GC zyy3HL2H3Gwj`i_Cl3dj7!h>nq&V*5ZjzveMxmyyp_$WkCx6}YHZH@8JKVy?wu)@Aj z;Lf2)hxeEwNCD&>bkcLPyU#z$G@a{qS+*f*TX4%5i-??zg}S5-#K^nVWEy!frkFI5 z{^CbmD0#_8iuM!`Fft-)?Yplw9reb6*RXCk?=>ImuBB1M@T6e?5qzG{+s@Wb_iJ6f zt4>(cyjX$h8sV{*3Udkw^<-HCdV2nNGFnh1&ScuzRH+r-MCdKEWM6BCBXLmD(HS1j zE;{@keO3$y$;G)0QwYFsJ~tiKWF{t`{zeK0@F!|H-OVckcwbNKv$~O7x6I-HG;)4q z#5!8iFzK%mK*Az74zydQ$h@|VMB^gj-8P4|_NaD?42q6LRoR%E5g;&`1RKvJ0 z>2xcqYkX?d(b$-{ulR4jkfiyXU~)o0#vGo?+&GpfFC(AB^23GzoRJl^fngzi5+Z~e zpLmN)i^XysNgn*}Uck!<$tR2;!ur|$*t}9}FQ^TSwLEy}3Q)Ki4Wyu~w*8rbX+|+$ zuz-YBn*<|bTrZi$)6Z+i;-iu{@R6va(x8AF^sc}nE4W#w1HS|`JXCLkXPw>=8MXOw zRd`Ro`s8%mUUaRoO&q|};-ux4TQsELYE*{q)}-)dqI+)Kz(JiE!+2-AlzMQLMzSYG zphPHCidmiy4GV(+JtI-d+*g7b%oPU#Nc_qi^Q|LZ2m^eg>F)Uvk4}jKPzZC0jVC^& zAcw>>N3yf#3WSG&XRKPAAub+ zqcZrTZf4V4AYAA-T)jR@JqAUW1li&nEw9!U3SBnn0Kbq*1Ae`rc584TAZ0{yI@UL~ z_5;6A=gPsDj?{)Hs+ts8h>(uuv28-xDarpEc2J89FF;Ts*0yT}$;v3;2yBse>S`s6 ze{>y1zASuE7nxxyeAco^1UMJ)}^0Z=1s1)f#T zka!{pTLb_g^bB>t86q@V)Sv{22w(x6NdG)V5dbJx5CaU(1s0-$LrWBMMF2QDFhX@T zqB7~~K=o%>dGe;9qVx-f90YMkRr!W-EfIL~jP*2?qe>j933N4;Po5QRs`kad6=Lkc z*EsZwBaMbZ#ftMKM7-$4Y(&<~Z9KSk)?N67D2cpWjIrTBq%LU0N}2v?XmSa#8^>o8 z4A`FQRp}`I`3UR_xqET8Bo2kNX6vZ}boN4-VsxrmtWlE-4dJ43RmrhAA{o}o% z@eE@5D) z;icI>Wk%>9k|X|r?SR3&$HLgl6C*)g$s+@l7$y`+HJoBnjK=pjIJf znPs^hvZR35jzqfywZ->MtO=R99p?KJ$Hqy_WPDcCr_rYQS})A(*X?3;>l|6s8cEKW zc_qlra`QiN8TzuT=Ki?3oc>sjT^k>dvs$t&T1+xNDiQOXhhdEdvdJG}&l?trn-suN zDS{2iD}wD+R?zQ0D0@Mvb#cIlX#d=<*ocg>gnzGVJGYB z!p_Dkb+41Kn)Ji=gJU**+wx3&+*hZ_xtj()h-mFc{gz;Q2fi@8MQnYxNtQrUh&g9k zOgSusqx$ZrBhZzV$+HO*- z9`laZ#(?$iN)&OaBv?xWEZyc`Sgu?7fX;?l}t_cdT6Hz0iSiA)O&py%Q!hy|oKh27j>ZU= zbZZwotpDM4Ho2$%BAjpDb=z;X?mU`d(Db|VBz1O6>#@v7e0wP5Q#hM$N90NAS& zQxvmLYOE${#fLldXf1I|<)!NXtU>ma;Vy9F^vB1^k5N?%eH~{vk~0Gn>f2k}4A=Ia ztAQ69HVjppH^L>YR~{8s{`2g~r)74e*V`uBy2?-86d%rBMQO50^|HtPdd#G!`$S`S zuNnFf$g@8Dx07mbeO~i-&Yl+^y~)hccKE{Pu2;j)Aa|M=&4;y{Fq%5n^Q31dwhxNN zAwhYzlAojF#sPzH91Hu<#708E+P!IkXAi@h3Y?raUf1RdEII?z5lXigdF_uM(=x}x z!&75)75IPZHfSKxqz9Wx3V(|AmfmC$AhN8M9hXK(~b0;#IP;5 zo#y%%(3E5f-TQSze%dk#vt&K6BWGqu)i}6TaV2l+p|;Nbr>o zeUg}AN#FE+l^3ng#oO6`q9+;rKOE;h*W8xW>DcrP%2=E~e0l5^Jv~318**0+diq^} zkM~!TKV$u-+StozChr&TW}R_8ZdTI}8l}5j97x=9BZ}6~TGAnRVcwy8cqz*gr;d5Rw z@llgx)9;D?$Iz_8xZY8hy^F@$AfG9F3S)2&8{yTy_zm_vg!5;i!S;jnMMi)?p|UK1 z5e<f=mu#+^yhuP=K&+~;*|W@*-w(I3fP za=~HIq(O6M#a!43D)MV>h3jL?Ub0g**%P*>>Wt%R1Du9;L*hevn_zwL&9@f81Q0_R zqZGz3G^>lTZKmzpPY0W0>dV)!HAo_Ka@{m2rx)!q)su9|6nF)~UMi|BQ_AY`l9E0r z?ho}1D9v-={(ur$!qW+8T67`k2(~CjdCjVyfw|Q0K5PXQwEJH~)>rYcD0&0r#gkuJ z+Cve<=mur-zyoMpdi=+Su+tAO7gIB-yg>#D-*Otmi&|5ip0M5z9zSr z7ca-Ma=)0xwZxS;y*-ATa!ScXV7NFZhm4$@DsSo9%9sZPIwlGBaVZIOC<$ zrABOs9QUsTufEJS1aG+!NF3A`H)LC1+E(=hj~Tf=>aDKW>eXeg#FCQYy`K;{X|r|3 zrDB_}vK53-(`aVC`$JQj<%jWh_4buJy~5i*et!NR1!fJ#iA_i=0Rp~!UCI#~4Bp^8 zF_(Pm&CwMai1>>72uWgUwGBGlCdw!W1-M)g^Kw6wXAYD;ATO&@B%&ZdM1+=1q}8uQ z!@0pAxq2)50}Wjq*7JEiM8W9t?$=w~&!>xLMEp41SklZ@Tt6#J3NZ4RnRSpjr10f$ za%DRgU+31>>kWfhG|_H9WgSZ#e9|3$W#Q?eX9fKF4wmd1Q+=wS&@jB{O!@1BrU{dv zg2*tc=C_OqT~;BTh~s@~wMcxs1z1vIJQ1~F5*)@~KAFc14y;NJ5T>?h;!B9r(aEd%08 z7G)FFJLGhA73Z_@Q}g_2?;XwTtZrZVRd_6G^nUp0!G**Gii#Gq){C7`@njoH0Dc%V z?`!`CGL&@9)Ut9-(q2>k9tloi5Tg(=;h$&RTpvS{IU z9tzfrXdLrQ4`t%QVuGM>gi0ob%3E+n)Ekj&;e&+e=3yU+$k%R0Bp=i~Zg|1)4kq}*Zb_8d23I_*n zX;e+cr7L0?9nB&6Zl~oA>NzMY;5f_*)OL;iCuPf&`({N<3wB{z-{PItQba}T=z|Fu80Vc)h|~0))3{A zI7ldQ-sj|R?RiRbk$F6;&ZSv>)&P`71gbuR3%l&`aI()v&}N@&c#t2)QGQo*q~A!I z+O0wrX4I||H}dEE!Srt~d(_XhLwXqPO924gkfyN9s;1G8TR1i8HB<4;MB4{Nb1!hM zyOz8=i$3!a`7P#Y_eY`X!*w}F=MZI9Mous@EBj_+1dAdrRqi*so9nWXYAhrIoC}>M z$qSeCvjhbBK7ERm8bqC+S*D%p=^X5_5JXx$jB-(sdYM3sLs`KP~$WMpQo)QYOEcv6r z!1Xd0t`Gx;!k<~EcW-Q*Z#;f3&2P9x)4W0d#?SU~z=H>kqv8LrTnKfTU6|?S=90zXW3> zsC3}%rQiey2YafhiF?s>GccVd0e@Y4cMsReh23};ncERE=7gIt_2qsrA(rHtb88cZ zmHK@4WX+1eG>9Z3T;(X)Gn6!}Fclbvo}&o1H4Wwc$-FipXWS~T7Zk}pj`gQdcq`(e zqjZV6(^IcLw+=RswBpx`pP#NewW*e2zdO)pJBokDro2HvN?jcHsh4tgbPx+j5co?1 zR_o4Q@rT^-+76RQHx+67D9|alV$kp=U6e$a#bkpNmFPD97&Y!zbFMG-IcY;6d0Ii2 zEBf=RH-nA&(6_|ZXNB&!I3c2UxauqeQkDS~hzjxtkJ52nUQ9q}&G-yx`}w>t89 z&wkkN4zKV;HkaVO#5V1PRLX*kf{t<`g_PNalt%K+6CBM_{a5ratNXWAo4^yksK_lu+c47MRFiYC<=DA z5sX=FR4_ppmGYT3H6`=rz>w?Hk-96N1jZls)_rf<3QB2QZ5k2xETu}X&ThT4h`Z-~ z|JA-`q+;%cB-cT;pZrl#3WzI4&zdlYnH(z?P+d(#2>3B*!o`ufL=>sATr6RfAfRrA zAqT>MhJ6Vq#^*&Pg%Jy&6Y$hX;q2v-S+(z? zv?u`+MBMZg{jBlOyVhrU>6Y_{1+dLeYfu^<8dO@qa<_@|2|ZBbJDjEJYMbo`J+b<^ zVYi!V{oYaQU$VHqhvh(LyVn&u(bCh?HnuKB>D4x?Hm|4C1pfLmm2JW2?`Mmnk9#-* z5U)9c;2Rb#Z(v>ocKDs=-M44;>#G$}JG$##@5?UYXieG9NyQgpCS586HBzHv{)`33 z2UhvdT++H6@Kz>n1b8LOv34~5;B~GN)pm=9a{y3i|D$Tpo=(l*{=50%tMK=&PspFY{adys=hGL# zWcKE7<$bkKSvG-#uTeOQ?WDnr80?jfC(kUVhzJ4|A|x{YOmzPD0Kf=md=|P_WW*_F zQ5Vb2)4LN3Ev0_eHirCfR`&nBfNa%CutX4600iE%JnwVtiS4rvu{EB^Ah2AG5%J}} z@DgANI0u774$KrLGAshZ`XVwuNG&3S82_?>WsMjg9u%<>q86b7I2Jl4i-1DG#VMpW z1?9Qajwb|K|A`XM6^e*pRz63kJdczNd}e!}72a*7w4vB4)!tLz1o2gcvK2QElePIZ z9jBdk^PjSd59Eo((EBYpMd|WSI?ju=YeG%C@TkSpCv<0C8Jjn18D(KnX<1PxXLV%2 z=eSssb-El3bW&Oo~&TQz598Xtou0;vHSw$2><{i zA?UgFH)=(xGWR;`{4pNQ#;2kASj%Q_1s!NX1p%>uXoEzP0DY<;mPRV{ALbTcW?kgf zrvOF33;H-7Z4eRz$^n73QR=Fp!8pl?OE}EbVOsrgE#@o*S&VFSE&(FGQVzKODEZ)E zeXXLbLRojH-1+${(8jsc=OL2=7fGIeVJgvoGvq_%D)NTR189Wu39wNXw1kwL>B_=p zoER4L6iUW%j$%HlZU<061A5EC;nCjN&8J{(Zd*YxMj8 zAYnWcKm@118iy?+l;yUmI5mc~If8tb(1W@?ntq0@MxK?HINl5+neNTzB3LIS_#@W< zr_H>5DrO_8GCD6j1MZs1ytFB{WCU&V&QM^Bi_7qSQM>19t!EUj^rCa~_K|wieClG= zwT;1k@B^-M>jE+|g2|Tt(Zio2^xK`saJG*9R?an~6&BQ?S4!g~E|V^>EB|Upu@9Y7 zA{KyN;3iHe(EE4uGnbp6Y|E8cPFa0@WWe7&Ffr0n=_WV^0U7_Z75W z5)?8F1+g8r(yvVD`lq*>uZF5@MWw_t$FM=pMMYV`_M8T`SxkZN?LzWu<<|?{JUx3y z(Q_0Cxjhoqp8nKRt<~aQkZgCOl5qR=E=LhQQkBFr?<8#$sHzePB!CQ0C@l6D*e-7| zjR!~NpWd!dsNr#iy6~bw!Rjinc)39$-Zk)uaYEC~cmKzq13g*>6`pJu;9&&{O5?C# z)C)HkZvBrfs8vt-yLIQ{ZKs3Osf7^_VfD}-gu4DS$b5Vsh!iu!Tggo7G7RHIF zKStJ${<&^lnPZaLVi(l|U#i@z*+H${4Y=knAyWtb+Dz&uDt)2d_~#O0)dQfS%H!Gc z4>nl*yh}knRfkk?R=VAKhVilslTM^k#!d+E!>| zBLVlcyA{y-zm37Qv8OjY)tTbI{(n|?-?R1KT}X=?J}m*xzRo?ZI0rIwH~~m<3>wU+ zLa7Q(o*GiSeJ|X>Z!Gmc-5+NK{igHBxY9lopA8>V2nnd!OMX?y2ftq7m0MHCE5E-a zw0VP-2@9mUiZL)oB~Wi7iu&MZ(WjVirW7yX6f!m}MgIfJub5j&4g}>#NmNm|TWiNQ z@T`h24^isu8&(b!o|xU#{5PlnX-=6!)j{lef$7b8xE7^fYMM8@O;a-=q?3?aB2m;E z#{c>5|DV1}_Aj&sB@dZey^5A@G7Dmuf*v*Sc_6vx_U^M(6fXOW171e5Wp-{eInfWs zpz{aHmvM78n9%VKI^)ZZK%9ZD?-kwyS@Hee0xx^z%A}sSUO{z*s*R!HK#7}w|97!5 z=>Ic3`1u=k_Au#=MXbrL4bgk^*%t`E2q9rp0WdNdc;{#_2N6;%ZEcM_za2J@$`fC7 z;g=)(%$DS*8oxndp;4*)Z-jgAb5g*!qxjVRbOJ zB96DF=(SUP_UlTrHa;W7x38fYD7(qZ4l;w9PKvZ(Jx5-gG1RRlpCn1U0++Je-zr9w zIL(Xw6I9`+v(vu|;@xeGX(Lu*dkfQnoZQ~MqZ~3^P)T(T@sK_wmOs}pc29kU>pQl; z5);2+yvyezR$~IgTzA?7XU!C2AC}m4qb%RcO__3}t_;jh2m(KNk*<@bF~U(Oh_8=& z1Z4&Gg@LAs_s7=$QVAjK*~iJIR!Vo{X*yn2!AvI-Jc-?!le`_r@c+Afn>CK8*0yxW zFP_!FL47NXb}hvS<-`6G&H(&$51-=8T3WTY;SRS=2$GkqjgyR#7k_*+zk@#f`8bL-8Z`TUmO$#OGFLf+~ za-)vET%BlSN{Jq@R$;6%zT@GBpBy*-Nnr>kxc@qC!eAU{6yP@hb>RnU*H`E_&Lrcy zfq>U8W>GIh75)E0*~=f^Ro4^Mh|u0@xdk;fa8IVMY>1)-7;B_W4JLDFyhz+#bSbgW z54U@B*nD|4KIi-J$TF^LQO-F6nvD>sxw~oCJMeS%Nt@eMq6tLswrqMDzQZU+J4tQR zznnm5?qLD~ha{HlHvIV2oc?BF zJ6Glt!-=rzzEtiSWD5M_@DT~Wo^5&l~+Ap=tbOx zoAFcm*>egsTg5dASBwE6-v_nFjLXua=tDH;X2zBJPXo_%SPGU-BI!k6Igjo<(hk1R z7?_iI?9(+@Io1!m*){S0$f$wf_-l|?ZC literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..cc652a8a2b2e827c88a4edaa4f08dd02bf87aaa6 GIT binary patch literal 28645 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..fb6842f9cb7b320bc5a886808e8d5269c317dda0 GIT binary patch literal 24589 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..0110d7200b8d82a15433ce0664acf509636f2bf6 GIT binary patch literal 25855 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..deb8764a176a52643b5cc4a53deb1d2f3d55eeed GIT binary patch literal 38276 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 Hz6SpWZO*wz literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..ee433083b6ef7a8ec4c14703c3d1e5d91c55370f GIT binary patch literal 35811 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%0D+aiBRMw4D8`?gyX}sj1ZZLaa!Q7JL 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..f35bfde2038619660d477bc30517e0bb3d8b74b9 GIT binary patch literal 23847 zcmeFYRa9Kxwmw+6yK9ibB}n0rpoKeyyH;UAgCrz4g%|DwEu7%)?(Qx@lVAZtgyhff zoO{POw;#IusbBieG4_(VZ0~Q`Tw{MrQ%9E$fC>Nr&;bDNCl7-ZfXb`yW8 zq^io~<>29J6F?^@h>C#^z(GaD!A8d+$HW0(<1FOk;Qr&FBRW^CA#P3B$(%a?Qfd5Y}!ha<_HSs@$81sKb|2Oi#2>dSs{~sctsiR9f_tYMT z2>^fwzyNRk%?oEZGuhyR!Vul3^}70SQ$|Lto3S3uyu^|Anf zzSRbovMA#(3#C;fdbVwG5=92Ys0Q#saxS$}EB@m1f0zAlzg#1mw<5wN{c%G26W2IQ zDmDqC(D>$t-xH6|zou0C0SQtqCUaF%_ah1VRE761?;;uO)>1feb60iZ-W|L8$a4=O|keJ-x7ST_Y68D9>7&SA>_leCYO z+NP=mF&>GrR~b%4iLu2Y{zV;2uqzKENv#}I^22Jxb6ImaJm`~@haBZoNPI@GAvMx&CWhMm`vt7=8yhdCv zl`W-uk_t^3H}k{LBl@5#Ej&AQzJ8QjojxY}=vL1nn{SaQUJ*RCmv9nWU}83PA=C{| z05DKbgaR~*ppGl2kuXHNO5?;Q&&4GM*kOjshK!P9av)d>3#aMD5`ztKD)pqB1tEMVHX z8A+Jw>G%tmPd2z-tu#|~irUAO=s6hXKNYMnt{=Q4+?b%s`-veV{&mfaLMBR_YHHg# zOCUPhAj~q&swXYwH&@y-jAG{8YgIS39J)s=@G2I;EkE&Bscx~>Ue1H?%5V%)@F)IH zF&>3X=80LH4#BQCbj(r;QR=lm87ObX{{wtEDQ^J)3gPY#105Z#zgI6mTF~;B?Q#QP z!3pHdeW+-C0w@xVObfvIcqZDX(f+T&eJ4bsFB*ZV0M-@D(2 zJr{p!h9+b%iyX&y11g7*mCh`6&A=dLT46#3h)i=HakGycqfunngvn3`>?zdw_e4DWvO2m>)kjrRzFz=;YoA!YdFV{$8VC=? z*~|)_kSfqwzz6iUe{E}74U)(3TSP9#5!dremY-y zVCw{r%Z@X-jrO5*M%ZJPBuh5d1VVVN^#P)Z?{Kq?)3a6x|p-_&rN4K-MZLK^NZVrd!iD5(|4LpxCoD2ep}<{(1OMQ^C{?2cU{NC&4V(p_6|xQ<0sst3G|?vlh^@1o z1q*1<^hKz(^%pf!2r3c{pwp~@*#Y`qlSbTEGo)WlQw)xlRdO%xS+*K11cr_dRG!ZR zbB^;4dLQPbe~m)MDZ}bB(^z zhuNWQ-CGVWFNk-fQ#xhh?mLM5G!>M5H;Mmy#J1}oqpcx_4A;0MHDywjiqkr!C_9RS z+2*RYJWt~`i!D&!x#Z&QdGhN-`oh!^(=drO0Xp{RuR>dyiI}64VdJj)j>X%F)BSy@ zfG7_|01Gi}=W41Gn^E{%<`5u7H5-A>T2lZD%*m-foUD%XUgaPTZ|7uqyP0YGw=BB-JkZ2W>}!YEeKkm@T(K{IeuuCLna5;e82Vs>PO(9;9U>a zF>4~HP*9yD`Yp{f#z)_?{72Wf+RaV_7=Zt*2>=n z1+h;&P*e?PyJxN5$ea$#K44Vywqv!1qAG;VdJt(F!`VBRte%c+!n3U%BQ48!l^vJu zGg;c5K|$a4zi*NB0RUMnt=q#&vh2}KAk4A?fU~u>tR?~{TT>`sQ-ekmWXtsvR?MDM z5~$!HNW?j<4P#eMy*F4~fSt)`>xdTEk2j-XKkA+Xh!pS8z?ty?%xv@`RAT1TeB{v5 z9cU^ONe0fMDIuW2swie!RFJ)m3g!T}`_ z%fmor6)CjHd@e))F$^(>wgg2%0AL8rEZTqVLI0RwP?Q2F05dWq8W~amKq)}auhdJu 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 Sd-`w#$TlVOBN1Dw$o~OADRc1v literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..79be6ba2aee2f9480548f7bfd4a81357d03ad612 GIT binary patch literal 30636 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 IvVzh72R-uq#sB~S literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..a214beb8004f8b4637d9c7fbe4dc1499222932b9 GIT binary patch literal 40374 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..21a079e12b5e2b572d93e31169342212ad9cfae5 GIT binary patch literal 18039 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�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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..6dd77a8c02e63706a826178a7448a25af372e1fc GIT binary patch literal 20040 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..d330c5f607f321f15df97294333d8eff88696e81 GIT binary patch literal 26345 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..a3e8fb297f7961f671164b7d21cb6bcf2fef3f4d GIT binary patch literal 32690 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..1386f62aec2cbfcc90a83d9825c251cb0d44065a GIT binary patch literal 34946 zcmeFYWmFtZ+b%kT4sL@DHo!1A!JPyKcbDMq65Nt7xVyW%d$0r#9^4_gdmx19&hzeX zul0WW$KL1sIe*T3uhn%|RabX)Usv_D%34)JlL~+W007Vc0MEY;ofv?^q3vbiA?;yd z>jhO*gnHP#a<=fN;^9F-#|2=apkRT}u)r8t01(!E0T%W@0U8z>23AonE(imNjgEqX z0)3Zj;#N8NRhG+xgy=)Ba|`Z2rSSiC>TebQ%?L66Tk=1N{~+)m1pYrnKvhE%GW)l_ zkT3uM6@U&13H}=o1puIb^9cX9=lG}0KlU8?F9-M>^gsQ-^y8l>@W0ak<<$Sn^Z&1W zNdSQ3%pO;1T*<&RPnDm=C=5s>LzDDT1@=vJHmyc2{_6a{-vI!y=3{t@r#Ps1ZWG9!U#|Ww4zI}mDOM+O%EBd)w(v6Pf4}}e>Hi?`9|ZpYg8(7I z&|ZW`>LpzJrAF@_F90AA^yklmuCA{34Gdci3m{nexk$$W`2oz@j{%YdNP6}Ig1Lc| z^#}$izcl~@3BU+WF8T`>zr!g;jYH`?F90JB`S8E+Q>v^;qOXuEPNFT91k3`)_}7tt zRqqy)qA3NpuGEBL9kj#}YOqLzjXJHPv2)K<5nruGH%W1(Br^!)NP(q)$a}P)`eu-+ zJBU_h#u74|RYy}&8x`ho945&`f|iNK55+g7DtulffJUVZPJ}Frq@U7W zb+UX+$;V2sN+{QPXm#}C)EeJI>#ECYVStLJ1`eW!OVWw2Vw7%MSQ zzr1_F0vJHmVQy4#qyCi2D=gbZ{cUj@!86O1Y7pg3%$;n>KI0^9B9dHs-1N*sC@~?K z_a{&FW_a}`w$VPy(0YA;sL^G*jxK;cmI8q?68o(ug>^72B>b2tN#)0@I3od*yCBS= zvW$Q@rhkLJ;21ju01*6t06pL)xVk1Fl{xKBfIFL)e{4Y|D@z4W4!*b^H;(~wVXjO^ zt1jkGz0Z~}hDbLaBFqFQqF}e#iapr@PL>yhObo9k4x*W^@A{VIaaWC1G^JS5DWGHXZJ7^7 zdsaNxY@zKMpWb_dqO90eRMb9_e8N*)4lN`?L)mwnjnRyGk|nE-^-%aJCqRr=R?vQN zJKHKZ(yvT*^m|^QxF$Vuln=;o*&f1PVs4M(T8F<`tUZzY*|SKtU7$1b=?g(a^yB zbMvCn48m3UnGN88OaRmOqoDS414UY)X*uEIS(VkPjyyaVaUlC?!oR?7S0LE@U+825 z_<_->l7BxSfIS3)q6n{Wj4LQwkLSmO0A{WE=h_xDFyaAKAytDK%B18BHQeInhw&in zafY#w+t!9AEB|@P{@w0lN~)28FKZwJ3|l+g{uw0;!=@oXIwN^`P02i2st87cjHRS( z2yl+rM_-RY89w6cnl z0vN?b#Mvn+X<2!8nl6$tmI%wFvI`jQHpLhVuaSDUGd|9kxE?iYT*NrgRzCGbl>L{& zwL-9(V7L=irJCHIPMv$rI+JnmE<);N33~E9Mwwg9*3pIb9E7DZGSUBU=>NGY*9QPa z|NOO`wqf86><9LuAs16sA*g@bE&%TzupRy? z3%>P&G!z&$#tU!=!GJ>eXMsul08e-hB>-1WDhXAEkOweVfy50i0#qwPz@HE#@?~QX zi2d-`KVpT)3*dJ2b^2g({u}F#HD4qGyP8D0J!H;9pDSZLHAI1X9+u0rS2G`^0^fFC z>pB@@Q`ml%F4Hc17nTlbaZS&$K+un$qxAt@1psheK&GCB^wlC&sjDCRJ4=!uILqL%WVj z-;+LCIhFe_@RW0L9ag1O<_=85 z;I;NPs|O{DY17{*Id-ofXgy;N)*m{5=8>MP&9S%?ptK^3x#z7|huZAO5=bW8gE(6& zTY=UeU2QhAkM2LlY_E-4h@j_Uh*dD&*q8O)lG~Xu%_s6dEmB6av=;s$_mCCVNcx9f z%1F8;+EB*n_h)5eKW5vX{*8TCT(A)U$o^OS{_pIg1OBp4TlANB0EVPJ0P@%WzaU?M zH8}+KAe2IMD5zLE;he)SIlfZ?QI$|vC2HqmoNzO;nf#OYkX17-fG1i_(%KWL(8X8b zZ^3s9gYYZDpHjsecO0nS_E_Eu5vn|3o~M=X7Z?A3s-8koW7UilZ+aAgW+r{BhQU75UmGq zk3W4r?9>Vpjw2CBtVcpnoGCk9eyTAj$d<@&9Mr(WiUb2mow7(!Ecl1VQ{|v4jG!z?Hm*uMQDxHNcur--d;#le^#!4-`d<}eJrid=^H)t< z;4RR;i$25Sr{t+VBhUa=AVcVR;ia;aF$CI+>*^ZA3na{G0nqVNyehk@I7Slqq61QT z-XRLWk6D5$7f0xjN+Ord&u?$-Pa+o=N;1#O!_VK3OjRTT$))5fMn&XsX8}l5BIF{1 zlfxEN__0DP`5h{9%n29Z!9~^(JPH&FIXHcC*dWB77Zr*Ts#1^&APy*JVtLSB{F){q zmGrms2EfSq=T-k2ZUhnl;r~~s;-BDO5kNSs2ntOEuP2|_2-O7OL2_JF)D_0&nk5v^ zY%3gi?d>0UP*nw^W`W5S_W$%f?CmikBBV~#HRg&ODkLEgO8!{@W)+Y@1`VrdanQ0L zB2=*y4zDcYw+7#@!|oR!)Tgx_3*%J?9Sc)oqdD653zF6X>e{x|rxMI*<7aQR?{$7g z==_q4m!M>>KGA+qcSzM)os&=juki+?POA#gF0Pl}Rl?kVdwuf|4q)H{!RAR}l_Cn! zgo2))EP-BF9Flct^`h#}34z+^Zs%RZk}0otNSjaQ!vULNWZ`&(*0*K2ky=_6+%Ms) z*qCUk*AJ?npD*Eit9(5VB3gN~q6M^%@igWOXq*q4-g8nKe(PUVl`T=HlIx1qJulVY z^uzU_A9vi(Lo#;0c^pPt@-{3*iq*0aKA#q*A?q$uj21>IN-gLb4|8f4}Uak`c z4HP8EeHkxl)T%si3G7$GFd_loak}M%jI~XGyryxKRLT6kaahD`=6xIXukY3su@pMQ4_<m0&lkt`I98+-fL_KcVP>N$xH$n>95BoC zf&;Kr@~5l3meQGV)A1=>auo&hPsz-O8igpomg;!!Dfj8uzb`z?#PC$&3`z<}aH=fX z&v$tdUY%(DBID_c6|j2z8^WH#vCL$lFEegI!XZ{3s${FHxI#Me#hSR zQr7uXPqmEpMYO!J{T4w;XwKnq>*KChz+Six!V! zXIy28o~!u!xvCzT^q7+hXe;pE*;h4$-;6?qE`ehbp=cPV*^H7{!~pND4<O5q>5_csZ`qcNsvrynd4Cc=7HZ0H)1t-Mz@eB>WSXeW-X< zfrn#L4=+XwVuh3Z0xo#`Q`gMa7A~F{eGL@&V;B8tqw0}=*UOXEj_bNl!aGQgZtWtl zz~oxvJjv{9WXsm4m5ZPtUuESh-gvDFlTqpzf@g>8Mze)>AGlRNEIb}R1rn=N2=DpEP6URkk8yV;z|v~Gb;v1bWvd`(ch_JdGFuTg0_?Kb*TOE#U0gRKGW|HV*I3M zJd`m{v%&>>*P$%alg0xYc^Gb%%x6F32Y-2nP%4gQSAKu2%R|Z^zA%qaFlJ~$zg|UI zaKM&U1Ue~_@i2WbPrnPnPc9`e883(;1P?SkGR~ip9f2NQ=4|+WHeQZ?l*^HoO(zM{I}@8; zY?me;DFqrS7>%DWg$OjqiyfO+4ZlNDcI?s~V_ zNuk62(CW=6u3#ZeAK2#hx|&Wmhg~?^F??sU{jp+OHCK0RDlUEuvAHO#n#+~-Sv5Rr>u3~&5cU`uRAmIR zM+s;0P~-?WI$;d0M%knrty!#B>5RcIy@RzK^+HS>(7w*tx+4t$fAj;0^1xXqDTqW=;@ERo<5G-zs^b3 zx;F6G64r;mn1Mx^U4>^3Y6TXjhz#ey9eHf~X0bKIWJf4TT)}hds?|8Aj@E`|+-U1^ zCpXh5ibqPK28f6(n`t@3toN})Vy1O#G8WydSYm2Mz%${?<(##9nR>o97~nJ<8*KY@ zJ$>Of!#upzvEn)riW8BnIoDHuWuHx6P3ttj5xJeVjVo!LcGgb2d7Z;na@6x6=H0!w zfhab%@(q5~(rv$P7480x)uG4TxGQsj=Ie|~+mXq-(*ggb^HDd0r}ojd!*(M|z2&t)cCM-sENBS+ zDE7hEpgzs<^o>sPboNhbp}|05>UFlMcV0zdsJNvLz?5MY3oE4#!)5jx49+PGWn6Rn zX(ygys~iniqYt3sXv!hn;Y*~3u-FMESYE>zd4$k7HIF(huC=Z;;hgl;obV0kTkh&( z&uBJ}YPiBN-keL^(s5LZ;dO4GIFq{)EA6=SlwR8u^7ZS++epng_GM9ycQyY=?Ku-t zUsRVxj%oSk*NQI$g)^66lBGtqcjnTUPvtO9RHG&`?hj!_q0p5NJTz- z-_+1z%z#44kh4jv09Q$ip%avKJ6?1uBo`NaMVho*Rhv;ZTvbt@w4h}vS}Dqwu>EQu zr$P@qI+{!~l~rr={$&Z+l7X$&tBMWMS+K&xI?awx!e~qqp-k&*&Jw3VD%B~hf6@s$^>p><>IsWYE#x7=iaj95qtV2+uX<= zC`LE4cZH@2PClv{GVx8s3`j8&`m%c=JUfu98iWpr*f|z|xj6n_)J4G@edb8%s!}qN znZQl8`$>=e+)5691@K%KwwASZ@U$Nn+Et*UPFpf?Dl!01dZH;MN)4p3MZZ@(QP)x# zXOkw+nB~5t5#VW16Jos3jmhe7iPQqN1S2%khBegAJz*1pKRkU+90l>>YRgX&eNCc#nMvBWnr9U&nZ4&I+BM26s|H(2He4p%6?9SuSzYr*m8uiC7Yyu|*jT}_ zJS;I7jz`)m;K7b^_mIVK8|#-sg7@t^q2s;cC%2xy`L7!M53TWF*twIq?o0~N8JE-Z z81Zm;n+_P|oTqKsfF&Vg^Zhe*{c88)z+b7F&CUD9T~ZwsdzRRiB_*;N`?9-SxiWI2 z<8W6)!4tnOb2iL}5A`>XjXYLqlRXiQ) z&yIyPcLgu>sM{8O84{j}P+649sUGHYb(R(vNIQ6~-dAL!s^AlDztn0uGH)Vd4KL~6 zHr_U;^vx5Fv8p7FDjPNUM!B2YuBozLp>NctCC5_3NQAGk3!Aji(B`W4v)SVB!5;CL z$Wi4Lk!On#9*JqTlt}eAS^tjk5A88_)8#D!Qw(G*p)JUUlCXM(qoaAWMaV3msu|+v zyvn5ELuoTSv2UJ}u8_%oJKTsg0meB~?FN&RTBUJx#ML@{o?N|5AIzGlH&MZB(L`%w z6X^K5DXVuay^OK zx5;r)RQAolCyz$Q-t;{Qb*6)&1?S*2yg?~y@3|=%IF^UY*6{;8! zXA*@sPD6a59M+>F3XPSrz{W-!k!DZDJy_`9alPxO(5eZZQ^vxN@zrbEfj^dYiAHL8*6>!`a%Q0?IGjs)>E-4TPM;ZoiughO0!K3%R9^45Z*goHXQ3% z8`6R(<$+oqz{@qQz77d_dK{iFd9rd<-F@k#UPphAFk`W7_P zJWd(v2F!q^tIK9`6~km5Rm0HCX2DqO^vFu@XnIBt+_of`bul^;j>}y%2%YqS;vz*k z-*F@y*6KA~S+#P4$GEErFt#Qvigt)h2E1o`bZx~3+DH|^Vgqw2;w23DFJ%%4hZD|r zi{Z4677@;~+Ophh??2=)_zHY!PApmy$lqv4_2rv8T;OVXcY8SP?CYJwEv+u%+F&%d z_vG8$6`?E2Hwy@Wk%0;<(Tu$HCR|KA_8doXD7GJz?R+-FHZtCgSNbf}W}Dx225!ia z1W+xEkox*;cH37Ux6}qgVkvN(h_sjcBvR$lSOyitq~b~0Q5|B6S}h!EYF&)^#sWZu zVmrO^q{IDy{iHb+ezfVjIzTY8daHp`i%G4w@3A1@T2NJLYw@ZZ6{OOTriQP%DH=J4iP8?Zs{hBwLJ}5J`&? zBAjLMzJ!ydHiBVi0YZve9E?yTd0zYyk+gb>9h3Ajo}yG%Aiz0m&cTelUP%O-t-Pq< z2FJV@B^Q=94fP$6>T#OQm{ElJn|=K8-ucvKr=OJ-K7avi69N&`jo>Kz2W{Fd(-U}7 znUd*6Dh`x8m=lMAmRkVkjC`=2vBIxjMqHLG1V{Gh87uBTUkkN7b?X#kUObw*wcpWt z_PZ~h?o_5zY7J9b<0WTj*?IPO@pN*b6X`Nxq}h-igX*V!y&F7@PhYK(Xt@|45;bTp z&dY#CNG+?$SKt5n^&AZ^VbagNqo%N_Y2LhofL& z(U?`?2Uod^DL&qv!!D`v&PNeB8#eYz$PwAPo({WmwvH^R)Ld1&G9Q*0cM)8{x9m)tX=#;Td8Y%%(11t}ZpO z(Q8wA=p7<*B5se-ThVABRviH&is|sP18&BAH zGP#>6W%YKi)s!4Ewbgm-r*Yl~sehrH{_XQCC>uplzCD~Ls;sPNPdWvRPMtSEPanJQ z_-oRP)=f3QhYsb?e(BK;C%|ijsjJI)1^Y+9Hr@wFA89FFSvwy18L@{tDTaJQ5-)jt z_GUJIwj(-%xwwpFPp7S&%ErP(mbRxv&2_r{MqR}X{xH)i$o);vfj{Jw9oU(PXBYx? z;9@47o+L`?weQsrc}8AfQge6yi9OjWGuDrtBI+~ll1Cf%hE5c+WG+`h2e)3xW6z~{ z@!)5|hP_}lfffDYK)X&F3_9;b-nq6CwJyjQsQbEe#k9}oC^{oPem`&bmw@Md*M+`n zi(K@@6&ah55caNO7oohbRKr!wF$YEc$%Z++Qcsg;$$J&WJ99){v`aP$Dzu`}S>fo`hNKhI*GA4!3ov92Wm@zohk42Cu>-Oe@L(MN%5UGK{NG z3QvAk^5kOX@!o2?(Go3PXF!mu{7+K!$~Hmrr-_oa@z4+UWzkI*VSD*fDmeEDi z^YyvOv|2T`jayLC{CM4V88VF<>YpWhdj5Ie=WSh!$LKcGSW?fqN3*Jyi5zBgwjQBg4^Rs9<|Qfm8A8r zhM}Z6N5F=Qh|d>(4#J68hxI%1J5PB z6pi7)K3ks#2VnlugG3?CM-OptO9g=0Q1NDS;h@n50f%gF=DyNyADco&1={epF5j+> zz59RvG)lG}2JMUMlCHf(w%o$hDn)BrynoGHSiGL48aiL) zW+_p;?XfOp(_qBZY^Vi#P#QFWt-22?yJ2L|& zMi0V3d(GBh;y5C%!@_H9PtFh#o1-WT4x|f8L`-m#64PnfRXBa9bUcl=UQ86!8@1Le zsbt*4w4*hSRy$hOb$Aezf|p7diHM_Dp5m+trp>niV3@ru1HZ`hyj4~PnuRKUXA$LZf07@~o~6mhElq&^ll z+|w@Cy6Fef9P+@PXpYINfA-qSU#+5ityB2@Cc!JwbvAKr?_t%ujmEA2Ggw73XmK)( zvB?r}hM~%j9f9HkvrVjOA~uh|cDCgPAxRzm9YnagXQ{%t z=dz~d8HVM7AJ4+90+psnRyOJ>qh~lLCK3!5X(0rzpr~`g0@nLX_$|Iy983#FW(0oj zezP}Y|F&r#llz4MByHzsu{|5g&OE-t+gEe=vtmvA;oQQ{&6hBuae?F^$iQq-1@h+5 zx;`%gy9M(fAd>up)`!ZaftGay-agrQG%X40GJkqLF09ur9!D|ymEo<}JLQF;vBW;4 z_+$Kl_!Q=kfvS6ApSws^zl~G#b92!wGc&9;$sZyFmBGJONv_HyoWCn*erJ6$aGFv) zv3|b%sF4o_0Iw`0tl9ki>AVT-K=&Tin~1l0f#W0%!Quyg{*r&P0;6AG>-;_?*;L+R zLY*HAjIGc7G{_tid^?YI4*fd+tO6;a!v3Xor}(XU5co}6V^jLg9qk>RHt?5LWJ=PL zz5Jp=K>>jqb5HOaug3m~7Y{hA2-?*cXu5Tk#087!&H&*H`8Izzn-&Z$87WGHsu*9z zV=WKJ>1WU+L_)zVh;W?!GE`#XGD4`1Dl0q;7aQt=uyn^pK`RN1hGCV|$e`u+RGhdb zz|mq@aR>XuU@9f^7(8J-Sy_XOA^2wzm)Kl;B@kI5VgzXvyA7U$)GPwQSw{PTbXJN1 zqPZ%m%U@lj4F=2tSy(EN{PWf2sE8`z+Ni9(1i)?x24JTKD@K@+jrbt?9UBG_8t)_^ zny^L|Rus>oh`rQI)KQPcXQYR#$ik`<6NY9_Vz@-FiU*CRzye`~67pcPB2wBRtF?Si zavO3g6|+%uCCmJlxjKu>qxEDpoJSR%f<+MjR*z;!7bh*9C6|&oDu;|}7A-uMG>s`_ z3pZ3IR0%d%(Vn#%Q<;zdK(&O9@luv)$YjNGzuT)vtgNSdS22^Fk*UHvLNT@8xgsuZ zinYWcg#jR?bZVSb!a&)*)Dz7UJ)`n>U&GI^Dw-`J+~GmJoMJBZ)QzUS<5IQ&sT<5A zf;2RO2LjLw1$Wde$nG{qzbS!?*sBuSci!e2vUrkr(q&|7_G2%2)(Y>%wUhZ0yq=hC zJwJN6;(XM4n`%xEeV{`j242GOwUllcF|bN+zMUAit(Ci%O48{M^JSx^`cLmZWtdS!EeGK_R-J zE?_jELEf4H2ZbM~6$@4%M8_T#7VuTs8-21$ zAp#4&kQG94FY08F0xv=hMhnvOPV7AB4a6%x(A97%1sdB;;5}S#7jmp z$q~1Ezn~?)bem|D*DR6@Pa(unR;p?UF)KA;D8xiL%2OeT$66s7_w_RQ_-^0(P6R`GZ9Ida^@RDhujkCU?!IxIBOB+W$AF9p+nlSe@nO4P zX-~%<%2LQI1Rg`U2!e!r=rb9&vnn|m9JpkG=24Zj@Bk6z5GlbVRuiezk}^ZV`BH{q zm)^6(crr8wN2T#P&Q^3xt*yqTKW3UUpSPn?4qvSk`Zd_c)p*@pxeE}3V-al(q2{3A zC|SL=Pl$>uhSKbT&`%h?E(~*?q8Az2)HZ0!$J|}|XwX9_yfQ7`UzY@tHJCb^l=q}u z5QfA6!SES}C1+F0tk~PO+23?durgsSSa}Fj)L)?A6tl;$p0$o*hybB!SWEz*uB1wm z2MLojr|7HZVIT>J`=%UeX|GnlpH~nr8oxHJ?j#t5dlewoTnDXqMOLT99 z^sGO}0AczM#@Imm{M_B$8NVVIVm5|YbTo5DISxK5f!k4@23{&Exv&nw(Ftu<1;J83 zZDPi>(-C-h->Q}PYkS4K`MCPPOnAPU9M$T9Mn!Rec>nl${I4r=mts~WY)o&6 z5~@LQCI-fzZ8w7WXS}%{;lUtR_5&;7~bMzP20U$}uNz=kR#>bPKL3uVL(Quzpkzv7fh3qC> zk{Fhju%bbwYE%~9lqPPpC{z#iuXFFe!kKF`t~(zRe?1-}*SA>%KN^tZWb_VVk|gUG zlFSau$k)7(?Eg`!&%9j>1KD)SZLKyFksHC)!l1)RIZ)D9sa6V2*8B#uKEn@(WQJR1 zhD7Lfxu9$Wp=}ffR6%xrG9^L!6blB5xgv|9m^2T&WC!rglOWh6X{9nuGWLaAE(b4% zh4W0hQ}AF({7H;{1~SnrI3vC-?>k)fSzOxZ$_MaaY$bUmtznCXX@p0uT=<8F+wBRp z;~{*DzYOkZPT%M+sh-@D$FpUJZ*l+VbT+@%Qsk3&R&0$W6U->j5{tiK|pswZELK~B;MK3nY;A0Pd7vuT|+ZE zSkTc67zN1T*TN&$!%g#HyQJcDWHYD2Y%dxz5DoXS?4R`~g-f^BI#(@_le<@2g%7d6 zY(|;1^L2R5*{XwzVTIUA>$bhSx2{Y%y=@M4A10n!n?h<`w4TQ7NJTS>np z*)ZQ$W!Qh;CzP_(#~D*H*)zI+$X{w?CAVzIYa8mO+DRqzl6zQTEEb+dKsI|Oxya(e zUM0zbCkeKIrKpBbjHvP7x-#@vjrJiU$)_xo(MqCs(R5HhCJUS6h9D6s!79P-3>fHq z~87gdIv(4dGFgoA|+!|MrL z7}7Tt-RKPPKM>4a5-nGYk0qk0MUTpQm`P}R#^t&?k%lO4YnYE)s+3BBIDS##q>`12 zVkA**W__lj7c4+kzTz5T?ZBnm6|31!ksUSH0b89TQf+i{*_o3CG)G16cY05g$}J1j zMp?rdME)+zf#wk+SuFAiU5m09mHD+fpF}H4rCsRT#QMw7))lk~b1Rq;$UY{Q7AD^@ z+vi^R3eqjUh9R+9qrlz%=GnA^mRp?xlT1?dR<*Il{HNE^fX-favjbYXBw}#`buXaD6fq>%RR|@ zlN+wOro<95>;2|ro8`J(oi%;M^0{1$ySCQ(UAhE(d`#FkzqIfvDwIuS<_{{MA>q*~ ziey?*A)yS`)4aK?Bs@eF8l_-^G4m--SC=}2Meh|KOWJ0KDGn1`TMNZ14@?c`bEvJ{ z^18HUb~KBuCcU(D3v=OJ*X)}}X2$tO+J_4-92ArXkODXuprBYJO)-Eftr#72(lqSR zbI6f2yk*ettDe>Ub)gwy#XGeF*MC1KCPqawN(mXM$;H9t#j*)uc%C&iJ?zXS7ei(^ z+;ncB%?lphqe6yI*#H+`G)d4znUswhPI*dx%u~V>(0bt}^ElB(wCPvx7SDjCXJNCW z??w)Sx`{=Je;H!uc*(7WZqs9RMx$wvNi^)JEM{toU-sTPcI6{-)euGpv)gzrk-hQT zx0@3u=Ic&dBOU9Nd+gFWK{33$$yCv0B_2i`dYyz>MU%x2z$n2_V@JlRVcFFxY$ksO z5g|j=y9fS64Tm_b4;-W;vgS~KR&s`7Jh#~l)$RR#4eox^i!X*EpY#3{cs0RgGCw0$ zI>>r|tmA9Dcs;$V+7%$zYHZn0J&z#fVHk!zXGR!ClAL2^%0BIUc(c>?dw$ zg?)D~0;f6JC-)$?!i4L$-+%#K6u~8qjyWDyV9TX1m)(~W=MBTjtqG@6UBd$LKK0%u z>yLtAl$77zCp_*&Hh$j-eQ{;~%6*!zWMWr@Fu=(+n22SMK|U0fL}%6(Oue?PrOY4h z2s%X#QlHRIB8=@Wss;w|pq)TpC2U+0KRN)kdNoKmJ2M|g+h zxJ%;L7DO7BymQ~ZHR28Illbj#y2V3MIP*iLvm@N-%UdCq2G#m&i5a^^o<W*sB|kOw#K{b$k8zmF~4c zQ|cQ5c2NUNWd^#E3XkK&w`!Rq?`(^{dSED(^peHmd?o(YRE#RUClpB*5T0e5PF&Y= zoct7oK8iyYPwD(1EYF&F$Z&avmO7vq*PD;^|K7P8G;_YZH0onNvQWc7?!As}2=_|bCI z+c|Qc$8m;)+k3{2`EAMiJ8Are1RqY(Th`~YY+W(AhGcQJYzK=~Z)6GI;)Z+P@E5#( z{H*mT5LT;Y%leIQyD`M6_IjK@DNkl5L_SRhXEJ=1{g-EC=CseyLL$s&!K zc_|*95}xaQjG$mWKGE{MQrTwr`d?^!Mn4U>jSStyjWhCLO{($MT_4SJ>`hx7`&?^!aifjR~j6jRb5(8 zCdU$W^qRzD4)KOY$=#N1N{n2@QINRmU$!|mekk-1XXW3rI)K37xA=J`SdHtfXX)Oz z4;hDP&eY$9V(lt^Jg05u2G7deF(CAAs^v!{^kT7RZrgZyh|gqHfnZvZhM%&^x>F;+ zl;JK!%@Q0G(b-s;DnETACKin(Q@~am$e$|GF>a)X;{^P%qMGUA)|T!vAW~AkO zUk*J2H@8clu0Yf3uzb0vI)0yj<|LPp=MI&OB4}3 zL|3GfJ<+5v)96U)pb#3d+a~##W;?H=*Xp{Tzi$V{e!uM6!kf~NfJI@`5=`6W9gOF(6?>}g^WeF2J=rX!nC^C>?p+fY^a9N)NpYrjY;(vU#^#3SJG zUOYaqI4fNGRyE=IO}Tdm`7PgPM<>){32PdWX1q|dmJem72TwL5RC3-A_@4*13j0}q zXMCY>I%|Bnxw=|Oszv+z$ok$}eVYvn-WsGl5I_{nZ`@4kOYPmDNKq!Oe#7_V{ujlUsZ@uwbXoK(!q^kvX;Yy=>%~jMf4G5x7 zl})f^;hI}9;?Rs4ePep3xW-gKIuP;$BNI);Bn|u>n>o6cfa@u zRHS0mnyg6C&MwS^>YOUAzKy|PHc}hM{j$CI(W7}A6sL_N=BtcSZN|dU zSR_d-Gs%Deusp+d_GfrA$C-@DXHSPRl!Z>bh;1x7IhRn+dwWo?m|C2jqNr?Y#Fcf~ zv}V(AAndXfxY5ZHTnJqgIUJN&5@o*R zf21Dwdsf4~R3?dNDGuZbmH#uN*)v4DVbzL(P1QWrdR2VHL-;6@_{951cq{POaN~Ju z#t@}s6RA*8&X$ame+qB8sb~YOi7#5E6-!jx=AczhyDD=-%1DK$3Q71_-SZ6R*)%lj zL7i%QvoNJ6m<_a{Cnv__qP9;e*`OxEH=WRF!$Blo@0|(nZWcsBR+c7(GdFF{S^K`R zqGq&9Sb0m>U)E~x*{7GxNztvV`@F0kOfeIIwqCAs>nuGyeU2xZhSMc?`m8R7t+%@r zryk1zL+m!6KDoqZ&JY8{;7MWOm#Ay)t<-`WD#@!4f8?L=H{`3&KH#OWO+06Lo@XDr zmZ$*^qMJhLx$gYhzIV+c@T2%=30i0gS7BI?Ob+{@P=)dD;@>vEUq6MD{>)1(dW#Ya zv#!?_VrK0)-g?*~w`69Jl)>42qwU$d$`o5b)k4T=VLra~i1$yPAu;}1&% z+mDybS&ypN@*y0OO@mf_qc@<-Ox9kpTx&_Tp|mk zN*jgH%lYAW-T|5R(~~m;+h2c^{@L^{-N2W!D8PLl=E=1s;hlLALlc&!Ii zJBuSoZP2WG68reojA*}xGyhahhQCJb7v)9p(PUnJBx^OI?7#g~5thWz;M|TPp>Rs4 z#P=O%+4N%v-fl*q#{h=akA0^}kt-m2I#=-HPj3O|ja;=b?;a_-BgU`CzLECO{{QmO(yY5E|XP)kQG zwQ&!{H(Q1PMWHY2%O0B}!^8Wi17^B8ze38s52Q@sQ3Z1*7*FlKkxO9D$&zFJ#ka!9 zhuR&&G+8o+B->isfm$!1#CFzR*Eejp1~E&!o<0|AeEm%1 zb<$4@c5)@JE*oRG4Rd54tnYqDtYLz8`&FpM^6eH941O&FBSecx*;jME7{8M5s+c8~ zQxcI-T;NYeNYW}>tv`n_G@(%ElrRPi5=gpT)7*Yu_`I|iq9yr)B(XcmFDW|j(BDsF zMl4}&Q=rXb>vQ)is%==mOg4@0;HTGNt9Yf8y&4Zy;4oKaY zWqF4?Seq_8hK}5yL8SPnyT-8ki_O!~^i+f-$7IAjS_jcgGoFZ-YY}*f{X#Fx!zJpR zSs9yQMG_1;o;HLarH|tt($yFi%xqK*U)6N-yVWNj{eCZ0RnM#N%7Si zX>?Qe8!n1;9Df)jfsF$xEsb;;l$mankho3)S|3D79y13X!5f1(O?-8;DWUJN8xO1E z+)Yxl+n!8Om9=zzX@>ZT<_Lk;LTzjc7I>^`-sHt-5RFwT>7(R_$-E~wyjK;IcAlmu zEUZMhs>RKC9bL%{-!2HUGz@&KDkK{Sja;@D>~uNIk{ZN^&T|_$h07 zSfHf>&0#wG0>SO7c;Zx3HcaWRZeO)RVVEN_s1L|jg%^|xXr!UV0HB{5kwaA1){b6;P3=WB`kHG*X^Ps`RW_9V)P z47@FLEE9>-8QOO@N+Nq@m~;b)=LZB!H;)Cz=l8L+kGHm`rzg9kYi7jgeUAD3or7># zSaewuVG3F_7K(6B&NP+JI_0Y1BE^(yv0yGCGz64t{T^T)^g?$)iQXI~3M26OmKG?1 z26HI-=wagBPt_o&t-n9q=4on&-wJQEM1x7An-~RA?A=MrDP**>@WVMskR^e@8^Bbs zkoB6U`iq!smS{=sQFJ+cUNt=}LgA;YC9fS1serdLw&Z z|20xJqet3_6zj6D4e7YBMV#Egil!W$EA+VH_7^EbV6o1eSuzoxj z^>*_;BND@81R7M8MOIL~UrYLhk^H-B*V_o=XC1-ZEbYN#WXj7(hNVB2i$;Uud!ej} zl(2dS=;-}S=wXlHUup$0oA^Me$mjW4i^(TRbnopyqFlmK5iVGy1WE==0kHS}@7X$* z-C8J*+f;++4A_u0AJ!%C?J8OqX9V~@exZzs*Ap+7fyz*|;A>Ys_toy3`X7D0byQnH z*Z-T~UfeZU&?1524FN*X65QS0tw3=P?of&bX>qp}cbB5YiWg~twoodU=f1zY*7JM+ zxU-H-*38*6C&|jnKHoi`osv|=>3!*UZU%05!()KayZc#Vz+h@laLHAuuTR;Q|K#dO>Xn-+H{MaR~4Dsdl6ivAg)7^}kmCE^V~slH5Q{EeMi zYM;hb^N|sx)6+05>bjOpkca8e%>oT>sp0fKrXc4tY&^6(H4Ii#tu5fQO=H|^7G`v} zEk6AbGFTss@CzNUpkn+Ej;#*Lw|90B;nGmmnXsoMLKf7<tL`7ISH#~F)=wgK6h6bTTaMNA}XSjw5iQKSyfcq|19GA__KC=*UZ`4NVxxN1k~PO402YY> z?Rah+YY7}_P)^j%>&jqp2X$C1-IcExbH&|};)()6Yxz=!xP5?WrrWO!nlvi|{-eWM+_JJ7dg(x=w=cnJ;+^;{~1xe)6N%q2CJcVO8$${_A`>C9(r?u5Cbu`fX?xQ?Q; z+!;nA9x05n_g`PENiN+OOi&hgE{TtsHRfI)XoeI}zeIrbLDlY7R`U{g_2~|XdO`p_ z0^Y}li?pb3J{;U*n^cV^0J+9OS&7p4@ry`WE#nzJx(a2vO^p)M^ej^Q!#t80!S@L` zFuj-wQ4Fg+O3_}(DA(wz)ZB%H@@L+YnbXc?LEJQN_`BZkv(I-SDaqE#u0d5FIl6T! z<$@+CcD5#DY(57%gjvfv)k=&M*1nYK7VWU<_s-iV+5Pl2*t#4%H29RvdqaH)C5yaF zoeakPrGf2eqWZ3~PFs6j*j_^njB>%z;X)NUyUIh!$*Iz^>Ff;cU>MjOoGQ`wdI>mo z&Idc8QUewxV&Yt|6R`%POBsdwRi1qufQ0E)OpgOO+>9BNJ~tKW_k; zsa~c%!n&NN!%3k5Td<^rWLO)q#g}8`4Zz`a!W^WLq!eHsY(TstA_s~eoyZYSha$}s z;jkTrrqOALSP~<$$Oix#6!b6@1se#~V&kYaM9fy=m_b_3Z`~i+2oli-C(5h5o3v)l zRInW95Fs6ij1|g@jV5=^hm^y)6v(0E;@Lczh~XjVAc8tkj131`7K_43;-R3epdFkD zuf$JAk)miRtp~trbXN3ur8d^l>166zN_pkBij6gx!ju*B5m{WSWLa6d!sLYbIdq(~ zlOm*f8X432Lu zo1(RZs)9gVsH}Xg44!K1M3`{0tr{L&AU=mbLsf@NSRG-#h|fU|B2cLzr*NXPN5v*< z;2_|Nla`J79Le)DX||;zZd{lLgt^A#SE-6;__R2#gkx{z=sw7J?>)xiQTtXNJkbp( zM=K2C-ITJHm9d_)6J$0PHIA1J6^*mHmNxPLS?BSDC{#FxHhtu7p4)|Tcvz4NeR(na zYU?*#z`wrCTm|RrZ|-nc{36_#x{P=?j?kM=G@@Z$<3(Ol?NxuDj0DXlwI|SPaENn- zBb+dzcovHOrVZ=PJKW*2YN)4wPibsCe1eB=_#)ZzJs;o<^@`k3?Std@<5szW zcZVc=o|yEmt}D?pOyZFUL;+UDRt49nwm9qVavI19-Qqb3Qu|%WhrsV`t&JxQ5K1} zMGY@BVN2jIy;Ih7n^|w=ztuQhr?wiR{IDn*JKu&u#r3_rYO0J-(nAs-kmwej~7w9M6fky~LUB2?{{uC`GSLt^~$PBv)yN z2vu^zfCwB8VSK(jekg+rp6;8#@1w2x77NlDa4OGI74Rr4hO2^9^QnBN?85mR;7Cno zaB)yyu7eHGJRmMqJOnv=&+}I)9F@Aw4t99^Jn&9wY4uFF$utuk6Nj$s#Sac~K zqLjc1LkC&_#=)bMd-8NFwRLReQ{RV;L9(gFXHNdMi9bWYrq~RU@GMfjqyS$1Ak3_s z+=Olj2gYhRYv{ahdYbPC2~w8iD-y%ENFo;<_05lTa~8=^_O&;FRK`z61_x3YMewbG z4twh7P zZV6vv{f=udXDj-GziA&S-;v;FA;=+t9)izQ2SYx)?|`VwIKsO@;PeP*`g~5?^@-3*?Z1$pNBv9FQl^K4*>`pi$IdS^m7UE` zK5+b|h`6%Lv9*$Ljd_y3|Gf+nfln6o3uQJOC0k^{;WM&1^29J~{e)7TnU;q~d>odN z?Az;;ZqH38FZ@v-!)zTAnUSOH>XpFm?$5m<$D^vt<{SHEhy4ARa*>K986?s2W}5Un z_bJQ&pmSL1IeXyB>pxphW>r|Egrbrs=9`BJ)9nS!qT%X!mxqnBiJW`?MRmBuBbfjI z@YkT009zz00199Q2m^%3i>nu^YNid5{)v3L4yARj;B;N({Yyj@0XfqEaGf>N>`p>7 z;(X3Lc8&t6UzGM=28q8ei#}oo5Raz*V~p*QxA#9>k^eMEbiH_YY9IA8;mu9s3RpPq zzpiV*;k^N1vcCHNXG=V`?h=Iqzk4WRP1qu-pQ{GNg z080S>p*%R^gk#D-RvqU7-vN+$jz<>Q|1$O;?9TsHFlx@qfxJ)`SU`XH7$d@sThF&M@|e<~rk;y)a8 zjFwK_=#gXs>2^H3gL{R)4hM@+s2N)+QIE{YjK1%UrF3X3C^soLhIx~{qpc507}K@O zvm)B~;r%PAl>k*{9o2a_MiEr~zGn$h?(ZM3{YEmfeurJ9XDEOzxX6iB^NT8ggglqp z=@qq6Z7&nn^RQAqdA`msv06k8U>4<9VJBFk&8lg)rqYuicvA}tU(DMj1zR>r=akCo zz6|?=G8b3oo8r^_czRUl_r_p4t;h-wzWa{{%yWabkipQ>`u4Kxv;Vm7S6nZZEWvAo zD^*y7LQlOLf8SS&D1DdgfZ=~Q$Y%+e{T|f*G2hP8xqcNoq|{PGS{x{03RA1xsFg8f z_jzf(N;sKLj=W14m&i`C%e{qV0l*JaWo30G|JCw)DZ~ek*ctYc zILEYTHX*cLk9%$62|l8GHQbq#aJEZvKeK)LuUuE%_GjRS7h(8I`M_6OwgJ|V^PjW7 zipu-VM|a|m)XRd@t z`!m|!gtQ z?)`SymimsD_zbm1M<(yyL48_7wzQbLjnm%raka4jVY@j@N8IO(3nh4BbE{pOWoFRn zD7jNs{5kg~`~79Urtwte_;}q){@AqXgWXv9_>G3XUeC#u!R< zngrfe0<>P4$U7R8rcBwh-!?YEm0tBUul1j=#rLa)KmTGWjX~+#>-IwzRXl_XhMvZ+ zIW^P87o$%pK26L7ppQ`u$TicTLzTP`3#~vqcNlgcUC*qofk@8YH_up>2$QU({5!gi z3ZZ+{-K+9nKWz9>l%r#`^|MXOua;6N1dC%;}E;hNIb&&1D-Bh;4_DYx~3lWlc zeHS>3NM;K>1nq2Tg!Gtm|0ghCSAM}L$1BT)G18iFld|sb>oc;yXiU$cCRtn)*9 z`v>vzOP}Nriwak|F1XHZnQ|Ez@1~dm{tMfD2Y*xc`#y z??^S^Kt-*#QgW~cv0_&9BETG^vE#v%IJDGWS??%AT;>nj#ZQhu!o4=Yc2MfGl1F(5 zcpYbzy!y7CE-lYB;=1rPxF1O{iZ5L1{PKAY{MNNka0tlEqD~lYG{2P7JkLX}mTK^t zMAW6X1{`3M1la0+T6f2n(m9 zGw>W2A{s?d!vKT>v1r5bf`U&fM^Y4ALQpKfhOZFmU8+Jqv+y3# zgc=uJx-#sC^uOrGI6|Vy*!C^^%$E}C)`qXWy+cpQ0qU=M8)WJ%fGNcnT_aDGNE~lz zCx57SmuR3k_L&wXOP{{ZNH=tJ$yG7`Te> zbNuknx4-ritag61ccaoRF9w!G-l;LF3w`W*_0nl`!l_3KsKX_XZ|1>b9JR5V2jp$n zO=9IG9>eBJlY)|02qJj0mdGgSI&a5wQQ;WTI}-ImD4+2ot1?;D2x+khk|2FQG!zrvmc%iPU+b9Jtq6?= z5Waf+R+7FMK<$6%d|hsRC@eA$@5k10HmVRMd$)7Qu(^W;d|832vLfJ4ULShO`IGMf8>f*L~=vJ1@Ae?ulR)f0GrGs{Y=X*bkZA=^fO zAsUZ^%op{^EnXxTt0Kd@CYsGp45b3;;3dR_(9~0OwxY+QkL8yWFwR7E65HHu*9VfF z$oMx4%5h+4M@dwn7&`9r3gKkfE3Icv+V5>Q(!K&Pv~$Zj-NG*OhEv%zRko0&y_E3) zb7PO2s=1y_>&`>swFt7LAg=RTa;J=W7PxCTX^|Bmx~v~lk6>WqV?gY8dp=$+Do%b@ zUIvK7S|kcKfUd3L`NkL#!~npPUz#?h;|K!~h!dNNXy}PY@H*$7_OsvQ7)d+(V)YZ6 z@t;X2Qa04vl7c{F;sw-3DQV|*MjFcw%!(pSCL&wCKB2)`{eb>n!+)^%C+lA%amh0$ z2JpKcxag_%cyt`sv;<|yo`XkIH9r)3O68kwaH}7cK;azI_ylvJo(59)3^!cM&;D~okud)H zb=P-aiFG|gB z2tDE3%ac_d-Z4_>lEUParR-~KzI6NjxtjecH7AHyJ^7tP5^-STAQohGNG&Ma@>iFQ zXaqsgWKbw?=R*hU+tPXKrE2Tth!2~OSh{jhOxSFQ9;o=ZP24ls!T}irfS_q`)TG*I7 zvyzzsPzuVpk^6)yHe2irKGJN^O{XqrlFH{Z%6tK@rR$H8CDs@%lcH;nw|i3nH60pI zcy9ByJ40(GY=rGV5Bcqh*yJLebaNUjC4x{(+rZ#U>%F%c@jD&G0X86MPCaGffdWMd zJHFIxpQw+E%s{zK1UdIis~6)l72W)8xG{*eeMXa>%KfJDZ6z^A`b&mBLIg=u+2;mT zwPM|H02LgKj^SeJy-A?`KHQHN4!00EwgRs)k&-$`O!~S|HN>Evzp9e&(!$eTmTWJW z2xSnl5!%Jy^lu$sYlZ>DE)J5aPDlbYCz^%{3Xy+ivHGx-e!k#&Q^iWskTgPPq}*C0 zL>jsMSx*&)U1{P!Cr`grx4tLu8-($1WGh{hl7nv`vA2KQ#m+L{v_(V`>s;A|?&|ix z+;?g^{v&{=?SI_&KY#xHdA0KD=Z@a1e>;AUaO(f7Sb}zfNC9|3{Ve`38AIIf0zSok zS`8h;HCaF27AoFYlZ&9<%X%lowAqu%Rwo5ugfi9pUvh`Y^{gn-OalNOEdW+60E8Hi zHPTuX9*a(f1w;DPxim<}A4zNzXaJpjftaki6Rns``hKhipdY}_O3ns}CdaSI$3G(~ zu$8GoCzOl>0RI6ZLjL3GJ|2MO@qNqiPEEEtN1;s%@0KgLBM<06}GXI1J z#g)oc+Qgmphf7PPA`!v!S*y52933uHAOdj&qBSrVF*N{~@@I|!oLB|uf6QWV=z_n? zBEHLN;4Ckoqckwp)l+rI9tn^lI2sxMaorzbsKD~at~|UjF0{H17v+X+aONT%F>^sg z3FJ0>;q1}FcXWz|(9;t`gz1EF!mR<2i8a-fjJL(EH7&OF!b9<1Lng?|)^;^lQk0Ue zb)_1IoqnQ78?AhMOfxnVV5p*F;#TgGBB2f27arlNt&v+D-J@dituaf9uRh*9az$#3N|69aT~uXV%dVGY%h(G99&bPA^dmmIuZfzIQ&!>_ zE{{uww0lxr_e`7O{8?AVXK#5vWtBn!Uy%zzxT#u{V3O0Lp?X5{Q;6M|;k&_of|Cv= zI$i=KRd|VGXRNd;*Czuac|MUG{nBI`Csfh-=NN6tMgO<)JdC{hpmJUVipUK8L0)kl zPWz1LX>HXRPW)zFmBtLd@K;!WatE_jgDJ5Dn8uF-&0VVKBCZ;)4F-2Mqx9l@5;HH~ zKkS+#YBJvl+S%4L+f4r1vo9Gel`_5eu}4-(6;XUWajtUSjf|mPuFE;%CkCqgC$a(+9#4)aj9|jA_$vjnak2t57Hdw33IQ)WTLWLAJr=WgA)gT9=2| zI3%8Y^t0RgNV4?X=a!30Rb0i=_VGpn6^P_cFVnGvx>itdDH)Z(=Pd#SR&X9Gr8{k{ ztuV8v>vZHFsFS-(x4-#9NyqYrxX}VW<$n~!$IW=W6=E?inH;<@*%Oo zRyAc1q!-tGgn`KcH^);H88zA?ZLZ z>ok4)Sv>mizhZHsD)T}`_^F$e7gd8a$$M%C0RZs?q2OFOtwnTcs_>*SiP-=GgC ztMJ6@*IoQ_o1V7Z&%rF3UB_&IpPf6bUzO7L6`cBtEZ%=!H!&?ds44tIh96Hq2-mnU zOLjl@GHSNmAP0cpa62^Zojb%qh7q~w@) zR|dxK6N>PDUwiy3M=;;`G6r(DucDP zZZ?|=GcJ$r1BE{VdCU9~)gv1eIgXMjoX;AB)UDfA^V__>eKOW8s&t!&Xl-B6qhjHt z5}@$0=~V-{@!xM*|0$lBd1=szAh|WsEa*MP(S}{lMcuyq=d`2TwbzsL^Ae#havh3G zS5}u%uc(krI_OnoMQQKi7yBk(PFzOC%f9C|Z-kki7pHgXrD-^8(n zUUh0I#Q375-+^tbw;)f7v2Ti}NGm`8Fe8+;{X2FS5YDqpimhL%dwRxVQT2<_3>B7< z(*ngnRnn(PxNXC}84)1QevV8q3wC}PE2^+t~LDhY%j-gUnqctAzD5txki2r8hP%Np+m#OaQasf8q*-(17v_D|7r$wRt^Ac} z9aXYbZSUBJG<9nsph_uT_0W2`hi?)qV)c?#v}IM4x(+&3SidMwl{9%F+**2F7WX{10u>QlRiM*-@H<}uZaGU^`^eY{6f1sqpw5%ivht=xwUWY znOGrxU2Io;Vq$Il-_Wl>nU1vPI2tzC_yRT84{`=+61jQWwz0P_Q@mz0{iKpfWK~HQ zRX4Lb(9<*4`32~h1^1eCza(`ruO@k+R>hC+>bHC&q0z@!minH4ZbM|oU#F*vR_R?g zow||cO|`|Hwam*5qV_M_hU@XB)TdYd$-qS&wMxrOR8_Mi%PNpiu2WWy;Y3%zQSF(m?c9{#C2*&E;+GUv0; z_4X+ZavxH8YCfgNAgWKTZn!+qFF4G_T_NUp{)?Z-0vf{CQiSD#9z#z;gbPiwW$5W{pM z6cY)3OuD*7J=L7GT(mdcd<}{Jldf&)E68g?;lZSCPhJdXZN4N>U&7HC2 zBu%RE3mqQ6VTB=qQW_Ge3*|t1#$R^C-UWoojF<~v*%hUP#}9$ZnB1Hihu0x>aQhrf zR|c`tgo@>vM#>wr#gywuzfME?R5TO+zCa_>NDO7`+P*|7o}j)E%|V%{QUQG}A&S`i zlxHvZWZQJnS5#Q$DK#1e2q6cOSk36h^HW)td=V8(+1%6OHjhkc<_Syf+b^J_JQ0ij zj)$ZMepx@5Pr`pAH=#{xzCUlofmGQMd*+xNo*X&S=z7@Tk(*jG2OkOU<1UZm9^P#( zdC~YyNCvu_rJY-N{M7u2v~e?TFHa9nUg7U^WT) zM5NKOYk5a`@>&Cqc))Z$q=1sr+4S3**0;H`YIQ#dWAV|w2C*K0rf2$V*+wG?VionE zix|3LKq{tYUfFvpmU$)RF;Mw_I&uqCJ`F1GS5gkszQfWDF5{K4=9St1f43mDc~JRk zI`VTm@_tzNm555vfo||3uS^;5^P(&kbtUEFbmZB1^>p!ZH^clx?1x(rG|7Ak`c zG#Igs1EKe9xbzWW#DD2e?f(&#)SGgY*1N8?(9NAZTzGglx1{nL4G(_PQJL4oyQw*7 z>6wdrDY0aKZcxYT&HO6V=lYJBST31$mr|I3ml{kq9fKHipe~t+5|Q#@d<|B7uY(k_ zpsgm2Cy~lp+|E$s)P}O8{QM9eu;fLp@eRn_H{yHxwa%+SWux~;Us9U^Rb5Duc~`-J z;sI7^G+PD{Zh;b&DhbimZ#_RLrjCeW2S2(+DIKC6oF5*2*RDS{#QF>@OdT-fh1NfH zN{1ckCfnG!iEp!hWUC;kEIXC2HT+a!kOyMNxX@J{fR@ci`QpVG5r>x9=WFwkTVlxCe98GRa3JXda+p&1ur%OsIvRon!S)ZxT5XEAc zUX64ohWeaY@G4N;?ar=oJK$G@W9iKRv@`N;RoQg_pLpqo5lZlOASt`pf%QD>lhl|t3`5;XbMn1oyP}v?+{oD8``Epe$=y%%4 zsD?|fpJ26Gf37n8<-kw*@f_S~FTA`=^o_r@(7GsaX@i$x%#h)ICxL*)LD;qj8|M2< zghbyBLn|jkjryXcA-V%5kL)E+m`K@nk?4nt#tyV2Gb1I~J+n@7no4e(l8N8HE;JT# zOnWVJP{>cj+8SjWWgDqz=Qz6N9s<`P^lnc+HC4GY~*QK05ACwoTW@cUS#@s+(-^boR3m%MCAyZ zF{LF&ljIB#Br@oLwO=c5=`7y?vd*z32aZJ~BYikx64=HK*Nv)i!e0|2@VkAwztvJ} zwAixYo%u0LgS8+;Y190~DdD~Yq(nsq?sAC4p`1+=P`HF!waj)gk5gHpx!&0H zqaM~Xef}H4t&p~c98H48AjQ`YlG`Aa<%lP^#MYHb)dY&8rIy_;lx{#_5E^LyW>iHm zE;Dd;%-L_*M^Boutv-Ijy&K18E@P-v#Lg;AM zX3A?hC@XS>^}vS{P!_b6L~MULHX*4!bEfsYT=E%uMrV{OjZGRCf0sB09>HC%pE?V% z8b@&2TUM2T^F#^$vM0wO;&j6gKv=n1^ z9+$OuRjbM=gf)mr6->dStH+7oD%BCgMk4V?d49-YdpPDfY*$TOe@Er)?OhOL8X%uJBf@DyD|!U)eOlu)p1F_2>wA( zR2BQL#jO=Ym~ERu}@0 zMTl@`qiFeV>}qF7Z6wq(edBFoV)C1I|A;XVFC@23_uxHYor+INex>S0i7`vMFaE=u zCq{GE9_P#xczm2N2oU=82yVEn2sS%?d=mr|Nb{_OvCI}+dbMH$O^|f`K2b8mh8)UK zvtR8DHZbeRUvxekb)iUK0d9lb_ImP(J7PZ%IW_+9$c^gz)bd23w?%$+T^u>FvuyhL z!}dn`hfi1fAKyuOkTzspyfbm?sxb^4@J@+{&D_4cFjrDE$7(KbV`?h3u0znRlHsfSSzMWCoNZm2 zZcoB%J~7#X>~Ae2rzE0!;et{$l2^>^Xpf^^HA(yRq;!%7d?JrG@hIhR)=m!RljpRm zvDdfWk3&GQ#NHY{9AS$Ye31SncIaoD~fl*TGR++sB9TCY;SF z61&|Dwq16uiLSd^`^1yhnn-jO<7J%g18o0haa8a4rrvB84l zu;=hsJWqq3@0MlA-+tcw(XH6h<~1;-II1SnUxwmrCQHChBTbG1TG1Y2Xs_W3sDcay z2vywRE7{@B-pu3eAJ@D9+lk`TZy8}cTyrtPNJi&71G8V<-<1O(d5qiV;vVC$CppVP#kTLBJNak*MuTT+!8IfJ z^=kLaLYu^kOv!p&Lg)GLI zyt6&14q5dq{rsMAx%uR>3hf(Yli6IJVWf~IYtqu-t|FmOs?htDUq;NFZ%}1|srBe0 zwKWJ4oSExJvM*7;C`WEO$+Vj1$IThCnvq%O_efEHA$g1Etx$LzM;J6AFi;wWgB=BB zl^ z$P3sE{v~yRiogg$q8uNIiHj&I09SIxcBwlyZI7c)?RX zA*&v~#1%e{2}eQb0mPWld4S{iV=_Hr;N$u&bVNDS5r79+(twQHI?g*1LmY{5NGkn#VB9D`1!k2(b_7T__Hlj{-;dVZ>-*l7 z>R)h4`0+Dcdnhx6n(vtY;QBP9-SOm@=lEUsQk~nL9!QbK`cEklol$RC%=}h1mG? zHkMl9KxhpqVZ;ggO-JL-CPPW%xy(~G`d3|U%G3}!2;t)E$~s>)RlU7f7H(AbfZ^(4 z(oL5$^&2(xK({H|UoQ?HSKYKn;GU(uEdvmZNlWBv2@#Lpa0y5!&LFi>x11M7N6(MW z3(?a)nfvS=0QPbyP4R;~sb%7iKk8FZ{zf-mjJA!9EianQr;YJqC5}@}OG*@(o+U*l zJBm&xyNMIW3$MRJ7rN&2KTymquPnFVh9vJK62E?Rh$ z-jL6S*#;b9YRbgr5Hb6w?5_qc_vWPM%PGb3XLaQ(I*IL$-i9=x$Mxj$n<~Tgw5|T{&mu^W zkOk*&!S7aPbsz7HLQyAAZ?@zcR&50=pW!!_DlS=zo4hkoSl)76(>6vC|N4@YCesrx z?zomiT+42Lc?n{-pAw!%T9T2AQpPjUwPJt3Q-gPAanp|DkgL@l{Ix*U$2vE-exOa9;@r zkOP2Nfam{qSXlw-M438HS>GS!+cwgw%;n@lopE;7iP%3z)=q&1?p--!(n#^k+JX5R zk6Lb`*6s#Eb1CT5Q6Q2{!$kE%L^sKWqI;1%f%viJSy3iy(RQisB3Trv+e^S>DRtuGVFk6PJ69?(*1l=}W3W%23 zJ_^FvkNc*zGiF?Vo;qF}#Kw`;+v(ozyRnq)o(p{jesALwzG-y#7um;d09X1(BQ{q1 z-v87Knd=Jc?s~TWQ?Ju~flDXH>n9x@EvV{j$u)RiG~KT#L(=77}nyJZdSVJ!EX{8bu zY;a-Y9ZbfLX(R~-x;|I=4&)~F`wB_DSE!VE;C&9$5vetXMFAzR|0SjCDYU%27W5(% z2&}7oaR>W9=E09+l-na@yO!}LAGXBqhCV)XlzJ^H8f2v!PG#`M-DXv6I>BBQ1-*kc zmY>$5=4JS#KD;Tk{Up>A;r1=~=IO`it?no=ESA(XjOOQ&pqQ5zWnJWb*c*MC)rv&> zCf`=;Np^nNgM9tkhRK@3YM;Q+@8#mNyTfu5uKV|byMOemNu`;u5e&49hLgDw-{|mOHW&xkF?>|g7D#JzvEsAJ*zCt5S01r&3-hPZhF_>Kk5!D50WQqSFkiEXR~yBt(;{g_D;*z+3Sv*@zn*F4$cPJSw@@w)kJzeuAb}{3O5SREY~2}Fiy9f9WY3Z-t=yX!~TK| z-Qr%H2WjEMyWFYuiP90}pe=x)f)0<=LH$$bpWH)YF>Kr9Vz@qj4+lYO-cHge+B~MUOXM|p+tt|;lnd-ALGMxf!+V@>brWH;)=@K?%n3%c?*S#c| Ithjss4`Q>v>i_@% literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..24533001615b6665c6d83fd95a953da4d62c9d41 GIT binary patch literal 33849 zcmeFYWpEtL(lt0EW{a7bam3&eGmMxm=8-IBW@ZM9nVBVvnHg=NC0UHNEPMUD_q!YS zi`b3bU;AfoMs#IWc2`uysmxQ=UD?WN5E1|k004jk09^kncx(U+tA?AYi=>OGl^dnJ zJf(}}M+Z}H5-u(ncr*Yq3=A?795OBfG5`sAsQ?+}p8^gU4gq;67!3&lhyo7-14G%F zYvfch{Upuqf`c{C>(Gq$&r=xxbL;OA|C?YU{BOU^UOc;?E5dB^}qE0@W($U;J@tuE>-_mh5O%jFaS^w zQy{O&T8=>RF0N`(zu6p1iY#ediS|WkA+1^^{_5i2egCbWPY`f0l}EuQG&E`P4G6cf z$y$;vzIW`-sBB(!WvVYKX3Ou6w=QTUWEavP>tvGu?)P8)Uj+V(!2kacz?9Ip5#$or zqu0=j-N@4g06>9%{yb`FX=&WhqNpGP_$u}bwd{lXahV3`kxT$!o>V)7Oa4_LbXIei$tQTYV;OLOSV5#W#SRUQ{hOYOgV9s zunKuq7s^B=nZB)nfQ7*1Fa%1Q1pu%-xbTK*L>JDKq0(9cR6Io&G%-RX@gu8}lmIRn zKUWBKGrO7=v(S&&jED5kshHY_zQk0h;k)cmWN}pFB77FRQ&LOQLtrC*x%fPhS%kzX zj(~(FXBu|;L74;sc{7?xQg;{8ck=AD;cuoeF?CA{7_a{vJE|BERB+*I0WtRO@L za}r0;D{}(4MIj|H7L!46Tf|T`g^I#xQ7+{o@)AiIFkk|(Sgu?N04&(RMnuHrfNYi} zX{f@0NwAd5U;tWh5;>-`Mufmi3ZuC+*Mr$);V2iJpL?8icy1Y@T-wHI$1M!Eeener ztuDo!UuF2YZgbs`85p7)@>RjvRBoQSc;ERB>}iBfN}#Pw9#$b&U7i)L-vFsDrN{=^ zOG~U$`4e_<&LEk|*DO-OWN@Z& zz9c**r8lN?b9b=#h{|RV5+WYWCTH}Ct$b0brdpZ;J{%u4HfD-1x<@^2O0Kkv2)&sY zG937X=*s{!!`cKX=2sKl-8hfLFT7?1RdXak9l($wY?86y;3xG?2c){AR>rVZ9xkRK z*a$?61Ex~i6_$uz^m|rs-f-|LQ8`#e86s$E5Zkx`p%BLo89bv!?qI`$Sk#Zfg?>H{ zLk5~GfRKZoxx(;`2JOC_^0>PXR;ZM)T<<8nG|UNI-+Iz&gd-!8OxI)j;s&c`21Qr$ zAz5{k@S5)b2kHq!yfPn+MA*lsTfF}UZ@j+lO zT+m7?*arPyyuAS6wgCVHh;7S5B_$Are*@v|wXnV_|~;CMJee zCISFBvw{|w)#<}QZ}eeYpufTmLWqcnQ2rYk3!HZLnI^JhAfmSNz0GYl16V-q^jyA^O!qCYI^ zYN>JqYSH1tNMQ}jMqx%lm+*mLQtkZf2hw$_v+V3l9xxi?r9veg9My9tmlQ!Ar-zRS ze;o#e3J`|q8!T9@kI7F5BNhsjVrn+qO5-9^Hc+r3E?+$2znaazUWfIW`FVMQ%a?HG zw#TRh%8GINo?T}3qxPfr+sVAPpu?z(#a{OKmf3pOiGUIVW=FkQuN6hAINcwUKA|cO zT{4E&!0_FYo<7y8t|r z9pm4)L&*6bCqO6uyR9BvRt6Ch6B7{wlMo_;mj7}d8a*ZG|JpHv)ssTFKr-2-3kX5W zlnWrV9006L1bDJd#G|$=xj{@?%Pa>0su^8U7s}ejHWM;r^;M4hTZ$@EEM>!!6?xp` zaa&D_W^$+H|LFifGZK=gyAYr)MVwaz2~7nYc)QHZTvC&@{kF!u{_7vz?&spev!xHZ zhz)h~-?>L<^AH&=CfKW+KfmBY$%f9t zN~v~`^AQId1`E}YkXm%E?h|z8x2o=o63Gb;&!uIc|HaQ!lk&+#JGC*lwg%jjoUz3N z0k+xvx9j_Wb^4xPArXtU2K-Yv==9uqB=poRLD!!yefixON{~a$o1NK}aU9KWHyb}@ zTZsp%jW?#875Y#27rE$zhBHMU5nM2f^!7)0l2veNk?3LLz(uj)%843PSUvc~A%xeR z|H-zbB&M1G5uSf0{r^TT|7HK8womG@K%P&=7keEv z2@EuAOCv$78Uz3rP}CNBpd=mRGk%mX06zfCXehqe<>b23X-|A7BA=-)ASg>0T@z3U znCbGl*}MM&0C1Q90O;3|CDoq#yTh9JyLP#3g_Qms(0k!8?|M+bJvL4KkE^K^^E>bC zVn}JJ(#Xg}#KVdgCBe!B0c;DA26N18Y?N_mK$>sLsyGYsXWynki{&|7^mjQpTf_`0 zN#QNdD~HLKT_3L?&plb!D;yIm%|) z4m24xGO`sBFDfbicd0=~=e8hE0wBcyT~2HZ(LoEq!oP#liBeM`#rQCZDm^l!kQXj2 z^ZvcFus{SWo?L=l9$XIQg2f~TpygPg1^o>SSgI0b0766#LJl|RpZJkKPb-zMiC6u* zH3Oal7RU>UZ2$;Ci-iER03!i3EcxPPl#?}PK|bXRkE+V@KXE3jMOH;sq0%Bu72nEz%9mF~ zMd`7K${~G_vr31Gs&lXMP}v-fM^!0`DpB&P)*y$9(x<9(&>Q4jR2dyTnyYeQc|~9SnHT(txf75_CJg7F# z@xmHq2{>Hqb)>PtUR8jvt1*|Yz5T5DPVkolOuYYxd*L7VjW9o2MtY_SMcfa))N?)- zN``%)H;BP%%|1>>#zlL~dGVh40f(w}oQ}rxHRU|qH1H$z`e-7?W^DZYnV9!TjXpuf zp%dwA%^tyl35%{}BYK_PNG2x7D=v+J&rNr5!G^IBU^(LzdqW$gQ(WFodPzUc6i5pR z!)=wWE|o<>wh4Nc#zjU|iwBeCoNmA-9u&C0&T;k&<{P8PjU=IPRaIump(xPQpH~WHn)i_3Osfj%Q|4(l9QO zbu0($hjL?TRw43M>I&&NEbxeV8sw`51)?wmn<)1~a+452Ljd}$;1VsE@6NWp0I^yy zGwX$dO!EShnxs81U$yMSvZ5DNt`V%wyRj%d9FXLx6viIQCnMOV;X=cNpFFq zK)}J##rY?0nN8*j0t~iV19+A>bU#-~Ik|$vLC9odW&5aCM$ea+`X`Fx5bO;;hxB|a zmo5o@OOSBnY8r#wcv3;Hezpp4#O?h^;0N6T4?7JT^TdNK1vb3sa^lsfyVwZ&nb=VOg^&d;_mCJr`F|1!J;Jpzw2|jX*BXwJrty>Ba_}XB^nIuY4F! zFA@_!iH}d7{UZH!Wt1vL93^%^BF^tOx8HdkbKZFOdQH)~Wxe1e#F3KyVf@a=^KXLeskO)>@3~%rJ@%!lDQ&%9`%DEp1r>HdZjUV;PX7C2 ziRE*uOzX3$i!b;hjw$^VUVkV)EgOeOd-x#+5NDPd5_8q1dugl+ovO4J-t}_QG7eZg(dVk+(VaTXt zerk|tzpVZYdfrXA)S)R+K<5`R*?AD+@7wJMD6tH%Jejrfd~>>%etgyQ|HBl2A@{>! z>d2pr&5!u$!A;ClfYc`d$H$nUYw}h&`exl}^%n0n#p(PFLtpvoa*xGlYwz`|yTfvM zPpB zOnex)yNp)Kzq#{r3<$XF6Dzi8c^~0K`3G&3w#m_M`HMzNPs2q zQFsHW6!ZNH&_NufiTsH=Q;IkV!;bR0uyQ4;G^)ZAs|wFu4PyoWO~Vv9Mlz zSzJgLSO5?c(cprIwId2$RtH{~nTSgY;xOz$3Yd3dhzlDUVt*p2C!sA~nRI?e--v*_ zF)J#D5g128auCM=8Kq1V%3yb~$+6f2xy0aMy1f!!r`n$?Ixchdm9Jg)U#9@}o1*by z0=KwbxW>3Dq*CvM;kk)|^<{4CFcS@6!x1LoB7yIQScBEFCnzZrDQvGR#6EVPPiuD^ z$*-^O_aAq$C1ul*6K(0oTuR_})+k1$d&Hn{%Z$lCE6kxYL%Y-3Y=?wUpx2je(R(-w z>#_lrLhtlRZf>vcMP8bZRRs|T5aOIjLpD9#psp&OnvXoPUd1WMX<&?BhH;*dAP-1m zb*Lb*LrgtumJHGl#}CqZo%(nFne2`C84p+7uUFetRHGw17PfQTCRuWfqdgg|hFx?m z5$KsNwWhSTBk2xv9K>UvG%rV@`&>jYAgyO?1cZ~7?VBs1?tD2;qDnQ&e6z-E1y$x{ z(|O011wwmWv6UWdSm_w1(;&9zP7^ALN-YHKoiYNWnBo`dZ&niObjdsvu{`=ro%)4yy*}td%jN2OM(0l4uZCUJ zR}*6ObOv=D*xquknR7l3;pCnT8g;anemi5dzPqjg`7%qU-|U55t;^=$3-62S_i*cW z`3=h_25JuIMKVF{Ic?kdJv!zy=nt*RV$xw&sHw!v{`_bm8{Xu?qzrR9mv{wK26X&LXvB9$0BlRi9Lker8S4w6sAxk zNkh=5PFk5p*lY&QSjK;)@pdP^$LK-l2&>OEN@;`K9dsUgZkt*#r!yX;cU}7MKGbRx zZ5?XIPS2hzx3be|$7dGtdzP!@<2$$QS=Gx@#j)#KW!(5^6UHct)NWX5+nP-eWr5lZ zmDX5G7PGT-)!S>eIfgi>zS_-|OJ_i!Iw&12(x591^69V5N5|t{ zVmfBoT~;a2J)3)M?(^v99y=XEr>yJRLVKANo`UVhrKjw>&i>8cx%$zY&qeDkg!z2S zt{(l|BL$xN6YjL1vsY&g^U8mQ_mMco9)=b?E2hqEX>Mi8btj`8oVKxZNQV?Bd}j@V z=r=Ym>u(YWwvqdk+hg3%Bi(m3S?&vd$?otyJ0z;RKt64-OzHHrAotew@qK!5o$W!j zb6fPcQ_M*yUBc(#ey%fKFk&z?wf2|ph*)<+E6cEr-Y0FXj%i^P?yEtlZ?r{a;ci?Y z+BE#R>%4B?k}06sRV$S8`0dtrrH;L1L)^CDsbD{VUvzG2$mGg0l9$E|PwuE+Pw&}zcXp2}_S~!I97L~@nBr`m0`dZaetPj}yo%XtC zTwYc(3NBazE*IJ|Rrq!5p@`Wy*my32T>5LoGpwBow5Ie%@x0z_TE;2zw64baRK@fm zwbda{%16D`$-US`_=<{B>Q{^KY&B2eW|($SS($~4m0S1SXG^=@y}h=zR>q?cpL9EW z_R7^68-4tJEsc+9SVg)?>hfBs8Q28b_R&v16%yLzdZII5MVlG*;fZaQ)b4f*<})hK zPchFAUW>kq*viz5PUoC8Io>xQ^!?$*)WPP(F407lveBzOzgbf>lQziji>cjVopX$? zH)s`%TOuldPJ@=(R3Edbb}pXzi&YWq#51UWjI?S(r1KmyGxvOle$;@rQgwFcWLvvh zuP%O}-ZUDan+`vQpj)mfy=!L*Q?9!rPpGQlx+oks)zvp%R~!pZxHhI_u4xi4uj#-U zMoWufoCd+L1>kw>jUs{>?KMm2V^WEg;hkIzNYW=3T@87s&Kg|QA#J;BjMdFr3Yn%h z#aojWrk2~-lb1H}z-W89Q1CWdax;GXj$;cQKdZR~E$#$)9{`et{{u^3zgW1Yuu+~n zk@)r?QOD(eoesX(u$Zf`HB*XR;xt&Eh#1sSRWsUa%zW#Ua}w_(M938-&&-RyXA*rT z-8V#k$7>5IrkoVV=Gq;tlbf)}vodUru`ng*sq7k@b1WU}S{Cj$+WiJ!X~7Jt@0)fM z=t(p1L<(6zVRKoGx2^m+m1_}xVtlVQlVoAj(`RQ>JIA3<6^n#Yo~JPKS-+JkrC6Sg zeGH2o9Bm6_=ha)OmHAqhsU6h5e0*X7f5<)>=R3j3#vJdEK4i~*fKEi;JdFiE0oD#L z%iCSpL5ia0?UaHRBkj~t9Xvi;nSpM*>aS+cFPiXsKQ_4g))=qWT~)?#Mxfg9p;TRY z%PMrabW3;Td&HTG4&e3Py5`$JXYppP;w&uLI8B(B!c)qaj+J`QxRj*BrYntk8b5qQ zZ6g>f&tYMQFH>_=v};hO2iY!p=H%LA@&(6tW!kJM-I$#cKvBE+lC`9(kZ`NjV zPy+@9eWH{S#uPw`)InKEK&=}C^n#Vr8kD!eXNMS9)wyj?8ZqBGF?n-4=0Z(Im)l?# zT0!~=8Y3vxRB;Z%zFB&i3e0^v9xFii@7$pgp>im;wI9V(mYVS?HBt3*!j3;kMHB~D zR%fp!(~_@sn=L{;9c#5&e14Ue7_OsO5oPz(Q!AM+)zwqd45Vo-V;V6_*n*R>Wx&)O zyfen@eV)U}t$cgmeLmlwy1pZ2<0rcM3KkdNb+A+tJLKx+M)EKNbglUwbe-uBJ z~uAm#p$P7q{J}ucDapVchx(P;F?kYS~@}bvF)7m;7IxB^G2GeMh%-MiSG5Dh&0wR7)12aswb@eODqfV6 zF5+UU)h*E?j(2p->SGCDgYK~>T&{a`eaO>cou%`NpMlOACC!rVbQ!X`W^%N@P7p4} zv$1LIbSkLl4^d|l4!glugUtLz5(G~@ezw$}b{c8L`o6A% zSOhsi9sZafuesiE@m(aj#!I)oYR1BoE6`;Ed48m}-L2h=E6X8yUQ?}M5HW;h$ zCE}?UPmGnN2|Pc@x#G&>ecc(RkDtyLjE|p-&@dk`+8(*D$q`)6G#Yg!pz#;&&7mIk zM>yYlN!*T(=EgQxDh)NkVd|)T8 zN6?`7Jar+c$l5B-6{aYvX-Y%qDi@F#IC@u4>B-acBS024HRu9?k~3u|1CusxCN7k{ zCjA3MyQ5;{>9YEF&uwpD*<(lMM#t>E*jglxZ~N4J-dWyglo+{jkmOW+`}>B53ny3p zcAbxyr!FjJxFPp7TdzWa;kfSzJSRJJ&Ynr$?|;T!#YmJ+k)aJEOriv*;1UIfil>G| z1P02mq#kweiv27XYImHwV&+Eg`z|3NE2Mexo?*NRj>Y^{PVa!Ige)?<|9AiI4(l?p zIlk;!NqJ0+07N}oRSu4-d&aB+7h(A@oAmTRxM+{!7;hGN)!sA zG z`1TU2F42F?SNlRTcJIshYrdf8edXxr+|f@_^x(I^merHDz{vZQC&H%ylM*Byolk$r zJKALr2stVs42zEenH|6KrLJLq1`9vellp+)%^NSTT^^~T9(%7a{qTKzem`41qb1Vl z4elq~GZFasjgV7Ue)hGe`%k|Fan{f^cAMM;sPH%?TXozp?f8;(yp6A&$$Nr= z^WQpjX0bVC&_I>fw;H!sk=eKCeEO9X05KaIQh}H&-blsvuV1451$`kvRY=8o%j3I; zkW6pKiq7q;w{fD#>h9LeG?c~U!U=z-jAc_z@&0q~M3Tik(FCrIOQKZ=aTP=9K+5<+ z7!xTZtmF{C95OC8s@qDJlOpW}RB_TI93-l9%c$r9TFl=f+Y{<#2dHl%D=60^I3m(i zwz8f8*l)$3Yq+)41gT^V$ zktab9N$4YzC_-70p_uQ)7*-;dSdOGUk}w}k@(iWllWN@-c6TP!!&p;(5tlkQsbtW> zLjR?a5o2!h$Vt|#^P9TD6X$u*NU1G2E#$(iJ1ce{ye{R3^ym6pkz^q0j?#=OKJZ*J zCHg|j#W`SwbVT~k1j7fc_qY&@RFtrQUOd%REIwyg9-K(v7jdD^%+78sQLo!ZF%aOZ zl&Uu4A42BUm=`V$%0W5sG59{zK^+ga%wS4^QXK|gjSv*04;P~z249US+6W8-lmScx zl68xz%>*)asT+|P&6-ejfH0Je1PD}ECMI3@X22+ME*KPm8Um+y5mFTvDiE^_1_ns1 ziKc~GN>~aP1NcJO4t7kEiyDpUz`r0&GWD(AW5sifb`OT3aXHV_MFTq$Xm%H(ny4d{ zAxQ%PjB2IC(wIdO>5PTMQb9=wL3p-`Rn5I?ZQjJI={Z{|b@B#Q+o%RgYt?CK`1W=& zTN5CgSi&N1@hbgR;x;^ss5U!Rnc`7%J2shAHGTA$HR_Emwm7K5+9qpj^O}a;(kOA6 z9&_b3rv4UNtzE5FF;ZKrZc|g~TCIa!%#fB|8=Drs0$+?3QmyWyls@Aaw;7EcC)Cy^ zLP@K(tf`Hc4GUhTz5jGTW}kRnP={WfcsNtW{NP8IaBBK#{$XtRnL`6CSG>D>H)Whz zP&^S3F27C3MY5-gQ3??WsbWW3rmxgiwN^^)7+cUHmJ*va1oxHZ^u>zvVIDKGIuN#% zPbTj5oB(5WUztpGi7YHdU%aLet*s#-x;Y^x&Sd1EY+uOBxdD+^h)sT=lMsnmj0Gxn9 z@-CG@c1k0XXt!?CkDmzugC9vTKP%yW{``3u7ETG~%;nJCG0QZ3q0^|#!T}#9D6G11 z7%&gUl*`4>3+m|_bSDmG@m zHC`QRV}P77-B-5&+hj;{96q&A2<&mPy9NFbH8qvB^m@2zwEM^xlV^gwL>gOG zd(=%ecBe^omTsVQ`46jA>2YLQZkV)Wn4nVlfMDvIx$qD`@IHermVGu@}1EW?l&P?($R8JF+Tcj#>?Zv%k$Ln z-|7t4Zri3w%sAv{W4*T4i|gREnxGxEi;8cm$Zh%ek@H&zqtO!BA4eR3m=;LnKomG} zRHPt*5&8utD&I+N=ry8u$AHvcb;e%Gk4GC;E21omrhDN$?Vl=6*~2L!1xRS;k_Kxn zRgQNtp}_#+chqrQryygU%=CMaii}?!n>VZ8yify);vxzwu^HdCjLG(Zk8WR8Y}ONjntSc zf~D{yq>J0ror9>ox!{4sWD3jdc;Z92Wu)h7=31Gkod#h1N_8r`%BJF)_FSHx29dja zR(P*{q+Tp#Etf@{D!y%t$>eTDO$Kp}TJ6t8 zmcl%Gor2vKFH=rl22H8vOrV*%@VBHWV%Tq(?`R|Pd1ml`Fc)_ztl9HK)GiyvREJH3 zd|V7u4~Yx1r2h2&9G}OUC}%UHC5c58M~H)nkjn(6UV}!@du`2mKvWC9U2|q|LCs3) zs8SN1Vq3URxF=WBipRPb4_4^@FCkTu@nA7|(>V$O6CxJEsvwzEq)eEmm~cTfd_46Q z>9jm$HX@ia*`)s7>M~d4OeOEohpS{mejbM7M75wh@Oo6jT(ifZx3zv{gD=A%u0z*S_pE;qO*oq|wy(eRD6|;{eXU-UbMo1VNU}*eq1*!&1^62IDW_PQp8f@I}K>BV`6{;kD5y>hR*Td8d-Nc=Wms=1$VJ zFShTo*}D=JxIyt(pzb1 z>l3*#i*s%&pE*XC!YPv#X%)j-QyPoaJRV#gsWzMj3h&JKtgO7UuBXEf?ZaNwMIOXB$)6ucoxOQkn8VT_auamWRyZd#x3F>)B zU{^DoZxQehKO?V`jX0hpW zS8C9hGN3f{;-C+Kl!Cg_e~`3Sn&cev(rX9^mw*{s+!scS1XWfRAmQO7}3(U#Jn-wvty zSaWCVT5@&ADmv?T7;8T3@W$(|G4mp_6L@T_#p_n{#>cSX^{hO;iZ$3T^*(VpHZVVF z$HbEu5VLWQ7Pp$kP_shtQ7Bm<#S)fii?muDax{`GMYMJql}Az*H0;Msj>3JSd$;OTz_v%nl>X)LRY6B2C#=~_6r|(6&Yvw~> z#4T|2PeJMcd^N>NY4Tq~Z>OifD@>nWNmb?N+yCJHM*o|-6JyTAD=xi$c{B8diZYpo zHYDba$%54#DZB|^>(yKK8<|}dGdeE}p04lx`trK^r4`VyraJdiMI{wQmUqC;^rMj?ieuNrXL_C}Pq*Rw; z191q4U4&JhAm~mHbGpEWk!6iU@hDphiw5}`I&-pK>-frNW)_*alH`-6BT_M`m7=LJ zM+swCOKACCMi+5sxw&QZthHQ@UFFKKLr`hcxUl@M(AU;opdU!StaED+x&p`f%R4sT zik=G;3I}pVQg{xp49SSuW5+IQdae&^JQ(9_^e$m%Eah72pQh8>F22O22axGR6I~a7 zkexWOIy?41nGXU>fnjQ@a={>t}XdGR%u4m+Mrc2Dl8u5C@6%&j3ByKg z%%`;i*6>-?i8I?6>(8QI8_puHISpFMVt4%o=EuXHbtSr(~qpb{7B@t0D?MGjU*O_xdYFj>xQ+K2N!QMLmPA}sy ziani{%#&Pk0*&rZtK!4c4=%^!C}RPr$!x1D9>nUjgmVEI>q%NfyCov-6_Ax_E~Sj zja!b3fHXdc>kwsMf>W2k3Qe1?mO-ogc*ZIMgZH)dNINd0hHgvsn4vhjwul4!hwV`Z zzkJ#{cTV&c-pslcRFHMUm@3WB%5ix=JDmXv8LvXw(?(%k**I9oGSA}Jr(k^%$LjBh zxnpkkG5)T>18rMX9rZUzw9=B6z~h~s7@o^$)YOBx$B;=%D)_QMl-tdp4TK(~jR1WN z(_3sjLUh7>dCywlmpT{hB(fOKV)l2qzo{o)yrS!5CCJ9>Z+-9FOaK5oYJeya5C?k1FQ;;r8EXmuB^>S;(GgPs>g|)}(dGHU z_sOZx+s{Rcs40N%%s_u&*2nmL=eyr9%3zx2MSN%2gSLo$?IZ)I0`t!n@FfilZZ;ck z$y4#ovqD?L5sqjIu4nkw{afb;l4O+w4PH|ksf-HHnd?cjXJ1u!GY*^0dPD716D{De z&fFJ(fVtJ^))#E61Rl!`#+mUUUNm9Pc1CWeOQQGAxcuC+?3$r8tu_T?%9GI<ntVN9c75R>>ZJq#qA# zF$gC&M$xL=vGwSsN&{aiw;o%TGtb<7lME7hU~&zye} z%@(((kw4V|a&$!fNvQP!Q%zAo$I_q#kKG1OCZAOVs>!x3N;++6<%yh>de3X2q_$3P zN-dOA@qOFz%z0g3M+Hrps=>_0Ae5FbmG?)zyd`I0?!c~oyYz9$c+bO-Sr_EO{loQS z?a2e?%D1a(J%~;C>YcR0Dn5mF!19{rxD4g95wAvpYuMwniD|Aiky^154QrcwEki}t zQ7J>5P}+z*6648uV)g;c754@tRV$>Vpn+M9i?)GfU`MW2sqdy<$*S9jcZ+t z5O-c}R;SnbR_;NK-Jo~ws!KVoEu2PciKiRM?%AisY28ogS7d9eZsf5!vqm|jHxTtT zXZ?647*|$txrrjAqD5t;*XN$#Q$FukqHUWeqgOdcs7hOhj@b9GjE2^hesFe9uy2%R z{B-iqnAtG;T46hV5otdql%~4sup^W1zsYlWTWZuVJD4X&BtquMrIb|gjfzqyA|s;X z!Ff*JqTZa&*=i>-glyU;hj6+n7`(Z`T;wDfieE@)tFo7w)GZN*k{}3pIXOv|^u%3%&*K6%hV~_RtKD>-I&!5jb8qE?w zJTGe}P8ZCc{)#|5T#ZqxN?02JL)F>Lp-Cpo5Fl zukLnR;q+80dlZ9Et5uA8nd!>Z_1X_lso4!7u8*{&KUy@Kb<@T5G~rv&xX}Hj;yMj% z$^L##Bw&cot^w{K?QVXuQqN0HNbqMf*AvqAAj1D*_Nyzkxlxo+or*{=$l`idP%H*X zpttxFJ`u;ZbwP6f3b9?*_F;4FU8=>y<;beEDXco)rf$1Y#@U5g^L2Ak{Tga?Vp^|j z`&}7#0`i%vqHy9Ic6FrX_#_6?XKwESW_JWz$}KmyU(Vd0(@RW)K|!DQFtaXZ&bQot@%?M354S(^oeROLy5bnWUjFEA zP7CV(M()gDE)Oms z)ilF5^u49=jOPKW{j4AS{m=V?Z@m3r-e$7}O%iDdY!)gcF}on6LX7qaby_w5jIR?1 z>d0g7(^Y3hVsvGjpWun<0T#_opgoWlzdw$ZoK~Min?55#{}7a0bn( zkCub`TD7dJ`GJFy!cUY1DoOwz82a~6<>w>9VzkddAwB6i$BGpWtlnva zr9Hv3LsU}0ng@|w_AB@;&ug4e4kgvw-Apri&H9n{y=fFPjmmiU1?I4l-ZxN)NMu6 zG-LLQTeEBVyxGsI%<8HyU8EE`_H)fN&KGJQ2HrwlFVVM>gtIIo<5bF~eks{GFMP*X z&vk4?lK?Df;Jx?WO21Uao$}BN27mWrf=#ytBb>Xh_50QYAHH;nrwvZ6E2I*&%JML>eakK)65OOYV_V;sB8^`S^yg z)=g#rG|Lb+dbLOn0}vc<||T1`R|Ui#ouSRi8b}ape}eSq;X?DVrO4gFO5P_ zZ(45*LX-FUzJuxKk+75CzC~jp1fj5lF&o;ZCudcxtfH{gF=wNG!ZiePG$~*DaZJC( zUhUO4IC~)@vKR>~)@Xve%iF(!5f%cRpAhkx@cLg{A1b-x6u>evSYfmnndM?X_qX43 z{%WBreWr78u$?h73L$tP0j2#a8^3!`ls_Dej5L95w6zX!SRH;p(k2Sa*3;Ei1kaP^ zT7`}khA$x@kB!AIXa8At5gssjseDk0=ti;OQ9`O76;i#KZVEvAdI+-?K@woxas^E- zup0h~i4qnw5&fXB(VnsbO?nvnMTU5dHyNWMJsQV$xR0uaPK7FP#vUEzMstZiaW2bD zD|vkDS75dG=p#AxtHx@xIuC!!`*$`TMjq~$s4}n}b9ga`F)gSa&>W3=7dNV7o$^9V z&hvfGx;nfGker;PM<~z7gK=LybLsox>YPnPmHKHLSRSAn*ut{26oT*pHm93p8hRQt zIJfJ%RhQA`qv#~4Ey|MH&i>NYaDAWpAyrKn^AG@fuJxZWC}_n-6w?|?0SbF;em@N^ z4_>2UfBu0Q*cENr+xsL^a9?omm%I0^`KH;}NyhN$crTU0J-@LOvDq?FCSTwHvg_BJ zU@MR1VoMBbuDv%`?;A-l65`$OP!A!j^=OhNO5}4{O0+F(fmvU%6E&VsYo78ybcrbCJh)+=S3f4f(@G)Z zdH3LJDpn$|f~|eCzX)oU%fZD3P28KfC5F$jQuvsO7HJ&fE*Qi&8Ae%KHmALYIL-t( zsUch*oxZWB?T-qKve-1bW%v8%-#=E}s<yMWsmkA}Ld73SD+; zQo~b<()h9URJ^Vh!wh|RPpNx_o?0nkj$mo!=hcsPjZqewN-;1N5N^x4Z>#=1D1F!Z z@sP0LW`XE3GO3=FDXSR9Dx@o$?{^tnmN0;I5)zTGN>ak#fT=+ZpIAP#TSJ|+{o*cN zyT8BiJiac2?Y>%m+xp|H{PC^rBkeiVdti9$34!wGHR_J;$&j?0Uv$$Jyw^wktKq&U z`9)WeKR9z+AfX-QNTS`&uag6r6gV`RA;^>$zb@3c8ex$b()1#6Nxu*awwjMAm2~GV zXqLdS7YBFBLiU0o`+lT;2v$=*+c(@|+i{wuR>(o-~uG1^eG0AL8l;9E74$)itpPQGnvX{pL z*GgH6u8Gzc?{Ig%2x#q>V?x*@x^hJ4LM9@+CLG^UXEz5k^zq?8r3c#)PN!Uz(uUE} z(3*hNhQLWPauKQA2=bu6xpZ9IL`hSVoU9|XBO{ZvQ_9qKSY<$&kPv!1b#5~$aS3x7 z>M094Sa94J4v#4svwBvtWig|alF3pEjhSsWJ$jUsG?K#Odi5LIRfEF)79nW0(zVh? zp^V9{_Gj~4VxX{H{5hh?K8I)aizW0)Z1l-c^X*rVL>XKd^+Yq4biJe6>~s#ZUl+9P zOus?7uA{=xeRG}GXd|DcB!Ao{EMYgl@N&+z{(ReUvK{0w4a8@oHktIl#H8%-GbX=y@;r*_~m41yx`xYsM7-)aSGX*fAQB`bU>$tJuR!_aL( z4;GNSP=FtA5o1!(pa}f_F2=1F=Qgq4F^`z2_8uYkoXYIAVpynLHO6I_Js>2cU_;Gb z;HJ|(h1qwBbY^AUT6}=lOD0x+?IbWB9ex}D5j_rc584YgJM`fxq z?jD?{#R+_bg}Zld#6nBo7P+|*gjhoog@&q3Fb7Wx5aW;FG8gU1UA{dg8FC zm^GBs|6WXe_N0J4`R~7YAEWSnQ-jn6m-RiyUKa3Jbh_D9CT`|wn|Mz^Lvu#jm|}cZWcNJHdwF7TgmcSV(et&v(|n z?>Rqjb@y6T)jhlFN3WW$z4!Ax3_q&|YtZkoJ0(qXhTI(ZWkosNowRt5h$B7ar{2b$ z=daor>s|_~>Ozg!9cHwgt8Kng@ac`nQrOhhgMd0{HBt%~vSh5X260$lXKEZtW}M&- zdG_^ON(}Q>9mov>=d+N3&CkWUa6mHYf^XkQ<;aGAn1-P|>0zz_16!vq`p1 z^W~;1^YUUa4${TuWMNIxD?|`!DI^YP$$?bSt%mKRlfoly9QX`~>?~9q*fP+oDQ3#h zDW&o0`N3HVU^e=sRK=vIvUxP=bh7bbCzZ4gdgnNPW@H}KXa*viGFTdhT{^8|B2coF z3?c^}Z&6XC$RJSRMdVX7D;u{!N8>cpR4gtTO=W_>c;m{#6PxMsC_rFdt3j14DTUl5 zlq@zu21{O|Rm3>3AdmthQI?stVge1sIFYLoO`AqxmBa`cNtK+Ci|31zQy5ktq%EhD zRA9B{nbV}7l0i2|kyeb2Ttu|zRLn`kAfsSpCa_Sj)2t|^=aG}M$caO*njpubARq!I zjyt8t+gTD(D8a1E%2r9R6qIP^V&S6%WRU||c!=qvgiKfpi4*j3^k6hJ{A0hG0B3?Q!}#CDh`T>S&l;gDbg_>uL_+{?+lM@(CDfmarDT;Y>-rNMXV690v&<^ zgn3l#oy`NTWHemj_%=o7H?v&j4qd5GrGk&ph>Rhxp4S_}HHiAO_XyFaxM&X)8HrFn z>xUSeZWgBSunf9U*eCNe`7ggRI(Y1!TUT>#Z{IRL$uEer{nbuMHeKa#a1`c2xWJUq zygb?Bc|wKgM+V)zUH8WE5qV;#W+R`JI)F%;VGu#ep(HX4qqlU+XFUsZw?ZvLX*q&| zfb1mQ3nb`N?$T9PEfy@r1tH2p`KFv79xfFU*gpmYQz>>Nwr9`<61YqwXT4KdJcYb zd#VtIsk44prEGd0Iw4mkWqxOfAWpt?)lNFbk|##^3hPncFSO`N5SxV>eClgbpYMGC z9{6;KMiu%K>MlDAc8NbwV|^U$DoM+ytg5CK+`WQ{6s{ZojIuon4zt(~e%{!P z6a333g>~ZwN3izPH2)t}!3IXJENZ}GjbP#YzE5nMr^J^b>%6X2K1XBxV*G;==M&J? z(G8b3&~GN%m5(eZuWm(=2npBow!ezwLVSA?yUj%-epj{#TMxWz@ffNkBk-C;#vroO z2*=~=?rY!N_&O1&EB!8H(%_p6xA$RLi+D@F=-weY|7Erfa`?xj-2oxg6LvDgVDy3A zOk9=eE5=5!H9>SdYh-E-gOt%z|0<+6v2uaF(Djq(;v48yV(5eY09-0#K% zu!C2BxcB4TifM%f2dhw~CBER@dB+ZFsNP_}>4W|SaF>aLTLA#*E0SgaD@|H}B!Cvc z3*aFrESn3+J046N!3URq%JwZPk=1?wAEpqx;Zr^UFn43-y>f9b=!Zk@YB(OozYJo3 zhw}pf0EHJ*{}`hKgh!Bi$O>zu{&PdPTfOeYCgMKs!%fo?D{sude#a?2unPbp{!hU5 z=l|LKuhtHhB;X0aD)BOi|Bv@ZW$TWD{Q`9h+Jnw)hjFL&Cw%@4NZP7=DiamVD(G=- zh2a7AJaZrhzyhBQ%#L|n+rlhQXC=3~oo5bah90+{qpH3n2rCrerKuRDr5Q7wI?FsiwiF^`FBBq zEL5v6i61X&R^Vxm!U}V$&sCVjOXXCOC7g z06QyOZ8(-xS{np_0oVuDSOVTsDxQf ziX~B0?xeed*K)~n2+=Ew{(Bz(fk`9DNX{Xu>*{L!Yjy}PkNh`F#sBL?RfNooV*}v* z!2TS73Ns;axF1M{Kw$AVp#h0KDSRw z1`=cbu0is`zva@XK5vUZq+&7RoVsKpDB!Im4<{MphoxPc?HNLY_WDls5I^tcLaq3b z-t5oa3%pfv{B>wT$saE(kVJMS^U!VF*3?H?R)@)mQV7xEB))jFz(T1-82(tZtxSf$ zYPT_BE< zJ^N1SO16OHm;CnUKRpNtQ9@_sSrc)0nl-DV+7d0A(w=$>YR6ZVsFJG5TtIOK2ZDyTd*V|w#n(2+6d zoF}N70&lsHCUto-3uz*HqQ4-FP$=f7%%r;bW}#Mo&5qTg0?u6yo0UVn1@p*u@qZ$? zO&UvRaWPYv{w=n^csg99d?1s^PQ#h{iC)dyMtIo3$bx9zMu+P51-`0-!Zu#Ju(@J5#G$Bp_0W=b*?Kdu42e&Z~kDc#}Bv`STdG;hP^5 z>mNeT=`QGvGa+Hbd*%SjJaAr7mgU^l0JRYF=ypEN`(6KOl!Pm1jKR>Az7H@D6RvOU zgl0~kt$WV95{W0uhaDQ8RO0E+czKu#B8Rv-i#qkwQa+jA5QqXgp*>qvK57sFfwjM58n-I{MEBrcbntEwQU~%>W`M+_6%sk z_29);-Z0z^7^8|*O`vVUzH15MO!|~iAPF~HJ%>1@1mbH;mjH_+`K6EsTegDtZWCuZ zl?U=YyN&X0x=+Kg)IH*P?n|({jpyw3SjKxT#6p?Mc^MK5qh`!Oj0+9H@5kEA$G@qi zLO4v=$gk$MJ6AU&KMk~fE=$iX3 zF?Kq!2Y|{x`|59?c<1?;v@rFd5bVpm4nBvBKXfYjKDeqa%=2`8Bwx>4e?u)$n{gpR z^B`2|t0(;=x$;S#@H%daL&#l(BvyxJmAd3CImPde-BO+$y~5Nc_!R!;@s$?Z2Z1O` z_>)B$ECZZBDwMFX=dgX%zk7adeYR9$b+qyRl3{?!#^2t3JVD7T-1tFBPyX9^wzc$V z;JcCcJF`*yGtt`=!X_hJBNUA!5_gz)5Xe07uqa;@k-Jv8w=mE^$ zrM%|L8Jf9HS{H0+68!ggtQ}HURUeyW>sNCP@IdY}yg@jxzjgW&Aw^KYCUCHACzGa_;wc+;c1t+n+p29^8kp7mgPyZUIY5CfA~r3Czb(tNXti zbZp+=(BDdtBcx(1)IE#wcL#p@N|!N=|J@x?*SF3p5$mXy>c9q6m{yTm;ZiK<;RK!E zy{n14w4uGDw+br!1t2$KOMAa)IR}a#4Ol3QLK}~d0MCvPaY!Y{W;_Qvj1`Y$ zg9w$Drc){AnUG3{@M(~#*g#9nV2TO|XcRV)T5@Rf&~z2PLDQL=y!q zQj&l!4nG4K8^{@%n-e>tB1=S6%A6{t1=VC_H0K4|Lq^z9=!tmfftpHI7ToBL^+D>3 zKm1T7{)9Bv|NZ=HqwBTBpZx9EGk>9gy{^#oPwT&7TXxEL=wfJ|fdMl1EyCn~Ta=ly@lp)pn;IN5X z>pL)`BAKRdX!m2!n1`2tb`?KP3L|t+DEikQ>`>|E?*8~uRQ(YhnUVyV{kz}!G6N)! zU7J*uH9GltKkAUzQA`C6Tf^D|DT|utx4hY_!ibDJGVP>{)vns~isJW7xuoJrx9@90 zWuIcw(2P&PfnD(0&W1uNu%-jm?-|1Zvj7`BIDpH0{qs%A){Gm)&2{VmO7b(Oj%JSo z1p_t!l?TpfSn3st_v2eIcFwO+urD=$Zm7|dWqUGp0yz2N4Qd@EqKy`X8esMcW*vVu zC^<|Lh7{n(V76FGf@#h;-&T0BTheH$jY5lr1nq#t{Tgr5mGMj@?U!0zimgW$vjbx} zR#Opbd!4&D7}plW)>jA<^F_@%JF^{!=i zW^r+QrNbS(+LQ>wnUDSIF6|2B;!oR7pL)Q6$Ys$Q&`{t^V=UOs=g zT2QF~xZe%u-boL1H^|umK=l<`uolxvUjiCxPC)dO%IKHG^D;?5AhX)Fv4&a0Nbn!t zgI8Qi2=ADN{hl8BrHL;sCvv~)y3KuD%rvM1aQhr>w^~H?$X(L10u==m94_)>O_&+7DrNQ5rkMUUbRpT8+HA=Pku6X5{wB%o`kGoGRB!Uq41z^v(P=2r z1ee4dU^1GK!!k13lVo@tS8ZUTO_lv@*54ZhCqwH|H{`xsRDDH?qvT7{#e<+ttaK-6 zK_Xj2Q3^mp{MmrPSgd*&Uir{M7*12iZtPe#5ZSYGq7V&KDG<-M{)uj@V&T*mwo|`5 zx}YW$hTh{-fVnh*2JA9v857pX*ldsk>*4u(YZUM(#3DxE!s?_5(9d>&$h=s3U38^! zM9#JLSP(1*S)L{2*E+Jtiq(=XTLzLijEv`ElWc)?G=4kM)8CUuO`({wC~4|SpUf*l zde13!tk5@*3KeU-cH7237rdK;jC3^a3))`R&n$ z1xzwAI3d%zxNw)7^91`$cc)bkO}CV9hU;}b@HywYE|H!+O~fTWi`O^@EmANSo3bcQ zDLtUAKen>alA2fIJWiTk1r6hDe;#c|`*UW&3l<*mJwg&eZlG15#*V&XI@yhu%v#t# zV0AyB{9b$VV1QW@+jy$-DPZW((S>OoF!-7Jr)c(i#t#8i!yR^@@+FI6Lr}V?%KZ@@ zh33h12OET`m&ByUdGMDE8YY|SmEm+_Z-n;C$9r(b*XX^St+_KtjUlnv#9h8!&WR#g zh4&{rytSpX$@U0*gWSmn@8p=%mHiw5oY}5FYAvSH5QleUYukLan!iDHSUCrWK8uA3 zSt|tAZTQ9I^9jepuvmm%yOi1uJ3UtKOJ@*+Dt;-bw57 zLJuFzvqn$0?(>;|$^BFbF9C3UTKlxl@0Gr38A)u@HNRR51STolW?`{syfRD*FCy^- z%PpNO?lY<(C?>V~B0l}_heX(4=g}@>ASF&R0hQf^9)6YC+i-=CRukN_eu?#?_1Cuo z`g$jtmK3JC+B8lv=c$~R-ar5YQim+$#`v!)yT80)F1~O)P`K#eMK0=ea3+skUOW6C zE`=AUbC2V^UhmNNNoEGSqW5`}pvE~1fb=krKfl;escL42NZep$NjRvhWd{sKN)$LV zQ(GNNbVqQcog(kiznhh5h(I(T`Arf$KgXQ`(N!|fll%#HW=EbqJEB1|FI&@@vVUQt z@R}kjigwSuh1XI|NPm78bX~@w8k^{u<$a(b3q}}VR+Z31x3xNk;KcxAjn_V8eMpVf z(2#U6%nA%OdZ$arb~&P(i$FS+vdON`P~(&3(QhWnj#K2&pm>|Fry`t5?)hCSmDS6c zn7@!G%*KdeLh0b#N-{h%mbK9M6c3_0i`9}>(3JUZr8VMZ(}pqbP<}m=%coM6&TK>u zAWDP!975$2VsW2MCx~{XC7Ur(BV{29TD@)fT8F83>P@bf|8@uD5{AzL98W|4*=cX; z>V__b-f!!M{@wO|A!7X>#f-5x=nesKY^w;NAV)N%;FEX?Ze2>k*--FR!Byb43b_0h z@q(f7qW|6v^UA?FMe>D@QWCXkOUMPDykDe{u7sE{Uc<{S0TBx;CIo}{P_zNeFf;ZL zqPs|QWD2zLegyItO4hj{P1wtx)4o(rssb1rhMq=2SISls0wmO)L1M0cLWBY40HA-! z!J;7`KmY^)m_G%ED`}w=mog(%R4|}a0FV?T7lBw2zJx}j!>0fTYI<=78Z+8^a5D}*uC(o+0EIPN)-Wq zivL4&idvn~4JJB|?~}!VYSfZ}mna0AoyuA$IA&6zq!>p zciDLk<*b7)x*U^XRS5tMXIY!`^0SYJ8%gqt)OAL6LY-cMDR&AwKp~`PkmLtTj<*^ zF9_W|4b6T3x9)!A`P18sqw~Pez7}X90dIvCSML6}mYzMha)0h5Sr+{I*YV?e!kUnP zzOFun^2d*j2NWQ??RRHaMJh0uT{QqskQ;B4*@0`p>$jWIi?7`rQcrTR{;lOs#XVQl z`}m!&w_nw1Mrpc0_UOe;M7{9i*i>xdKm-FH&z@n`hO#L83x~=1I>mJ)W`2%TRzw#T z%D3s#(eT{NDKtdghN9gJEG^XBTPz82Qd?tKzlrV3Tk5~@RFb}EM*OB%fcI^HSaxYD z{VY~P*;1(Xurvc^X3E@Iz7AZT%Xh zTlsg|=#ZZz@g1(s#o*caEG?bt3H*jit!3bv|K%ovp0iGC$j5HS@qu{wszaZ$r;6R- z{+Ngi-C!<%xmf@u6`RqnVTLlIAU~LuQ$hfV*dkZEcWqv7D*>}fad<5i2;g4(qo$%r;7pIh~ z?pe=Q*wd-n%fvmxmxkK`eIHj`M__-syIMT$4%ZvixeJp_dOEK!RzH`P<`w<|v*k4B z&qxk>-R3qC+76o^?KQS`Uj$41o%eRnH`ln(T+^+lh%P55Bdd$9t8u8PXDS-yP?!O! z)GR73IV~7wSt@h9;2PRhV1rI8Z4)o4=Bp!bI0)=&T7R%>6_$9*afew%G623t7~JY8 z#G1Y5GW^YWDSzy`kF)jb#}#Wwr#bHio;B#eJ-jCfqYn<&s0?9E?_~}SI~n_YUMLW7 zI_@XU{b0(ldvcX^J;BGHlpwvTl+EcZs4`qa`&UNx*0~Y8Ica^YKbt&yygb1;m_@{8 zR2aL>7|*TYh_bew>s=);yXaWg(Dd?(Z4B{wvs%yt@?}dUXCBjS4qo6^)+-6wIX~zt z;{W1WEq}zwHFe$7ADe2j>t>qu{^ZTic$>OJ#4~ z442IYAKtMF1~z)PW7$63RaVYC3j{em-Cv#FHG=~^0@Fc%^KL^^l)Zlo!C#Lt|NQVf zd;8=-qOr1}^V4HVrF*BZJCs3ZeMcg9Qh`omEDo@JRxP%a$y}Nz>a<#9H^OyT%ILfa* z1-sMF(NZ0|f>mMS5}Fq-d0^2tJ|O;XJ2Xb-Q%ejU(b#E_va1YVp)So$BEY& zCSoCPS>n~rB@`M(@>e9Y-Dz=>Lq1#n?Aa6-YE=6mXs@7YksjO2D224&*W!ClQ}o5Z zQ}0c3A^x=6{&v=14J-W?iF%KQ;3U@$_)vDB#3nPps9HT;??;X6K4;aJBj3`Xo$g2C z1+_SJP$zvaE}wXrQ6qS2PEX@Acd39}h<;d=pfe>UAw_0aK)B{&6(#*j?eE#j<2{E( zAUawkGtgD|Ud+nQr~$a@R;}!`7Al*L(2~mZdhAiK4z2 zhbKozhbN~$1J&x;O_dDVjQ0{G&>HN!3psPHk0$cCg9E(ImKt&g6l&6I^ia`Djx)c9%wVzjtXIWP*#l)Q8hU?dIc@$qLR@JmKHzr1U6Mm z&^_PkAU%wy=g{L!Fp$b*vw%Y=H2uNgqoA)pnqXvZd;4{B3v{J;x-CzE^p_|GwSOkz z`ANJTI{cdLoMn12-gC3t?|grmoa44FzilN(F8+sGB`s@7bi8D+u(}@U*tZ+8Ey&ON z@b^Sf_Tb8uK?*I{TO3u4-?JG|)lnyh_D);d$X`7%!7yt+S0P;3@f*S)E?+!9oQO!k zSKD}IX}=@n<}mOWcHbQ@H8^Bew=-@%-~$lufg)JLh^a;x2~wmw2}eK;#pAv-%}`CP z9*u`!(P|S?unCoR?9PdZIkqOfB3=k>Z1F|lebCqW58(lkbH2DaJE7LIyKR21cfrRa zuCKMPur*KGP==g4#{9GB*C~l83Wz%f&N@yzb%}cMc+*M2)tGHY#m=tA;0kNM9wv36gvKv+65ms#csS z$+H%|ey1)EZfq0xzhI7ch*zpnQes7{={1YlX0LSq<|IJDxz5|dQ{P_SDp+bMld2?M zB_S*pG)_(&D*g-cxoeqsXAp7b^uFBsZIDYwuK75{k`0?Xee#~*%a|tpE)S`4DAV;P#)aFdA z5B6R*vhD`G*XckiC^{x{_>v;(nCC*4OjVoJ8oyVX1usb%LIB^Xw_3#;(%HpTlV>54 z7umDYqF|)Qu@~5lys7;bAC#yX>A}tdJB_;ZwPIZ}l?9dF-o5GIbNKK$ibxN z!GGnmeK3@sf+1x&IyJq2x?ng8V2ux?2J@2hlDLCwnQZal;V~T(XKLZ`Y8Nmqvz!J? z%_BfO1>`cH6Eg%c=7e7jODuPTC8!Ub=f(u&zj$y<}6`^Zf&xy*sx4G`ix-p zZ4$84uKXg7H!zS@b3d{)URwNE>E#p&*W8ONT}GGBAxJS{qMn2LNozjuvi`6qts_X$ zVWLq`5~E{%7+}3-BP}6FX+)RLB1m~T<#Yof(7+<7{{ZVfn@*n@G$cn!+zlFl%zE3$ zz_G3)&zK@Vyh|z{5$SUCk)#!w88-vY*2Y zA4o5aMd7~vzPLClTT7)IOj;7cqwpWw~SfjR$xB>fTg^-&cV18ne0c z*q2L-%DDZsWkn`(PYrRKwji|>>si}lS7Btbz>od8Axt?xq*gS^^-{4J_X>ubyWQ4L zgFEGYH+}3&0{@cAJ~?+|qBFAdD$YHJ_=;TyUgM#SRbMw(`c7mI-#`8_4oYg@*vW8B z0zUuu2rqiuiwxpDvWrtQF0Ko@VQawBx=cC}bpNm4H>=iASn2Hl&biHlaBoKeJD z>g144CdTgE2;#>(54)#5zn;9M{txN?)hdn3a3GcQsDkil;=c7jAS7K}Ly@|f4y~NG zzFaHnRW{8}`=MwIuLBFU1|xNuYN&^Y_u0AQ3dxF8HUip)N-tlKyIU`Z=p1D8X8h4$`YC>Xf_OILDE5lewO{ES6@^!0PjjCk3a+ z*2>Uu&GA!B&&O3fcCki6Ttj|t6LdTsS^@@c3`T3h#{A1AC7pCzD|DO;QlDm7iRkRS zk&5poTBss;p2a|8&-P4e2J(GF5-CkCU?GN?EHs@gaQ)>z=V_(jwN%-&Kji zNEL(8w9j4%4;!(fm;|QMFIj2DnCdF62wbkWzv`C^KZ#XqdPBP+tp=t0CF)ldUVlYh z`C^XoC{gpqx91uY7l7y|q|Gs)D@LpxC($XwH4~Gx{FMRfcQzYPB8AR4m@4v7d%#YC z-M(y=%bJ@Crm4}QSiLDzmzERRikF%G@%HBEr+?wqhYDbeNvx!-3Q>V63=BIH(h+PI zj=<2p>-Mi$vqYyT3#;>bFO-J&ZjessLQ6IbeM~*;lf->va2p-vt>$NngG3Hwlw>w^ zcLgQElCOR{!(}=frC}TO1&Ff&dbm-3SKd}m>DcK~XqQK67Z+Kw^DTJKi?{jqLfr`T zvpe@b?R5yQmP?ENGP9fMe0)N&2%8@MeY1`T3Hi_Tk0kROHQ0E#Gy4xVr6#Cm>gkom z$J&Ak>-8et-sGu_VUww}TwvPxnUXePMuY)cwC1nP9tAS!7#DN|f|3VP4t&CkC-rI! zONhSBZAKVIH8|z zQR;@ZGSx=n@u-`UD49a zWaR#}cDi%2)D*!wQ5s_$kPzI|hFRBjvEB zFn}m%m=!U8gJd5v{oFglAiGS^^=rkWoEL({>t~=px?YZqN_>Z6MeMc zmeR@YKiVnIAAz~Q9xAw5r*S?(+ho47g1&SlaeG~2ZoSD6mS^OO<=f`a$0 zSCZ)IX@kY_MdVtsoD;u_nF{5wnV1V zy}S4BIBPes6zzBWAK{X!D*5~TgLGslE&)x=a!rKnZ(cVwriO-gr9<`RZO1N~y<{pc z5d_W1->Yxtw~K>$WQy3PnJB6rWuLzGD4uP#ImArD2xGZ1oVAk+i=Y;``!RLX<+b?m z&r#3*dex^x+)uT&bvEIGRUJAN6Vj7tL7IU(=qVQxz+rqW(h7%CEvPfVDF`4TbieeY z@FSp&1!pdZ%p*Zyj+0*oB)GDUJ4Uqsz$YAW6cy=St*)Vv>$%~#YejRi(U*}K zJi(g-zV+i8rZMWL-dxhUsgYy{Uw_24Bxb$VS)#)j%aYwv+(8%q4lLC*&`R>q_=2ce z3M?gIBPyYju8I82S)ECEI3deR9e_$Z%pn-`DDmEHw}T#ymF%i`Zn(Zm{k!7#*o8G* zFh}(al~zwrLq`vB^1&GAf|H|JbxhaE*`!XC7}{MwuALg*Wbcu!tzp zYMc!MYFh`*Z*Vp!WB14W+uGLkYP#4~mCh~&1ue)*TeH~D1P^R&xp8DEx>})TnLC%{ zgx#X?*xEBWkSv|1Wp?d4U&FQCaVDzr>-VR{Bbez-WIb>p1l9rg7(uNABS_v9$8_1d zMYIn;nUg>S!i%&RcKvX=`SV-xbm<9wRR>BvMmjCKu9YNfwL?c5h^r~F(^}eqcA9B{ zBS4ioBZ-wcq6CZ0lRK3ShgM-2m0Nm|;2Io9kQrVQ7ms29DUNeUN6#^kLx(aK5v*e* z?Jx1@rkSSS3o ze#s6&naJPjUc4jmpPiI=Nnkfk7S14^gh;RntCNa z#dtPXxJYp;kt_1A*h;mlX4j0n^|F6_kH5_tM4A}WDN|ScVB69d|DfQ5YmN)Jra|@_ zOT8oB@6o+6O`#4(m#JQO#ZwG7m0?IPzM(G1WqZOE&lU>l9TUobBg&B8&XFqK+FI+P z;TFRe6Z<$4Pyg*z?&1q-dUCMK}nS!UGaj zaW!5vlqgUl#6KK3P?^P(4nq5>Si!UI^nG_Vm;DFA2yY$VBvA{5Bn@FKH} z9TuA1@I(fB^XDEf`ILaGc3|T!s zWFGo)4c6EZ1I_Vo)lS4omQ*Tk-GMkW0qqy8hR{tk3xq+UVIq8@=n9cR^wySdiG+{U z*j6?8)fZa9lKx5{D{Sjp=ZuE$xuGGQWz(b>(L{rJ6eLz$I&l~#7&=w!$clDNvX*4A z6ZrIe7;FG*Eo`G=Hlo;?2r{B^Wcq>ha72W56f=DDBHAhJ7CJ{wHJ1I;vV*LrTK<9K zr@y$_7ru2fdO{gLY#q1s(pBJ)CX$JFzjcVsO3C7g$Wp=Puz7m*AJ9>JJWT?6EV3rU zmp(bba4deLZ|i9i-_&I9l%)krrcrm3*DAx&A4P zHky8F$&)4K#+L1@QC?}mC z`ZGBn>F#ie0y+xa7TCFMxzqlhBd zS`5(op&D3xI+%)r2-whtaBCDrEIduKHVUhlD1w{`a=%U_M?7gp>3F%9co^jS{IcBu zq5}DZEEkywsmOFe_Sr6_^;dn?B_gcw?=3C&nUwfa=7`O|&A#um>FSv#bXON@Uulga zyG7xigo>*Yx-tkE3Mi1FdNA_XX%E)DdChCOwAtbmFDb)LhC&yCN_H*c!Doe9AQ>~YWE+Ees;F%^wW?42wlmG6CYcdHL6t`iW{D6PxLeGwMxVmThuQhR3hfEUya9M%?2mlB`z}vsuw6uUU ztPE{?=ugng0)bbV0Z+`+9%rDPi2iM8VebcX>CPGx)fBv}8JMeftzp4x>uJP%Cn7m@ z=%-2dqJ8%{tOw`fjbP0HR&mwImx>RTXs@}Jf<9Isk?S&2e_M`{eAR|`1Hy@95DjXH zXQis%a++@z94f9OBnHAm{tE*@H(13}^4SzFr-JRTr|o~+e96UM^3U>z{BkjSd{Vup zK`2xHApDVF43-qXWtsHl#{yA;_i|7ZF2{6)$4U1;3mw77*S{2q6aH`Rc>Tl2t$+G& z4F~*s)Oh0)IlNONfFBaks)K;lYYfA_L7THuA0{JO8xv38$5VVhv%8zy%%*^l2w2oh z_S-*H5&#*M#?PEWmSu+u9oXnaSo!X{w2{YqTxulMOm0YKH>K6)>&H@-DuYGAQF-o& zj{Sh8`_|YM>3K4c}rC3@lI-^tIj}-f$qIZuYv4@elH%8 zPcr3Vzu4bOYxC6@Nk<^Ox&HgVWwWLK+dT8j81*&^;+=4`$?gq-hj(9u?0h5n_)U12 zA*l#I?cdK!^2wF8wMAXr4!?`e6NWpzmLZ;HO7>Mw*dTqcR;BoNgkyg;*?;Faq2yu! ze^ov2Co-xX;`=uiZ@QHDf0lF@NCXFi3w>&HbR}k?ni*mJocHiZE6wKDC=!h^_fqxN z!*YPWisJK6-z?@7iNz-!2A3Wy-J@k>FAE^6G?IQ+4+Cd&*jw_LXIUhUf~X#-Mo!nY z-mF3Px6TyzbDi9dG|XDkQOubf(Ard9utFj2PR3gKR~-sKqvvPwx6Nrv{p-JF*5&bk zSvCX>vWI6Qqkr9FSuH)D@=!p-y)X(1w^8XORv1AjcC~IS{;*TwQ2zVLv3L{F=plEmW zua*d^CZLNUUZ!E8YlSJ(e5v_MonNtF(Z_S&Pt~%-1P&RiQC4YFI5~7rPnv$Gy$Z&C zSROZiWfX7d@3OGGc!SivEWN{)Y*ats@8M(`EhHf4_eYwg;xVPB0lyYRb*teL)ZEB1 z30>I`0QwuLWlRmGvZ@IseSkgem zUq|nZ`ET-+fp%Q2o9+fFC?&wt^me_giL_i)UGXzQXF@lqlfQTflk@gAE4?y>$-^R} z%>`XWt4m=HsFefla=XSeLYtqF3p7Nc=o% zN>qObb}#pL^ZXh6Rh3*1U)()|MoY~87VcigAeWh05vRaivR!s literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..50947ff7ef5d2f453dab3de8783964b8d8f1a094 GIT binary patch literal 22660 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 T{H|*gMa~e7&F7ufF)IH8P%HxS literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..ebcb4b7cda39a770b9268b803b78e79b69f7a294 GIT binary patch literal 34888 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

  • H3CadCp(&*n0tb^ZeP0#272S|3sw{vcBypt zWLMl$#GUrNRP|%eDn{1N2PgDf!jxOEqV{$&p8edqbllelzJO_PJ6@R?vDXNT^=)?C zNI+Y~s7L1Cv;W#^E10=Z#A)hkZP#2?gzX@m#3ng+pba=;0WS6~z=`M-To4&vz_u}t zNV6E;fM@N4$BQ+*P~@2!TPNu*kFa;wS>{3q+UIbh2eM$QKx>^UAdzaJhN(I3h-wTX zLzCt2r6+@SC=RgrA4~X!Fn)o1!JjC!#BEG?$`bs))O&72;XwdYssE_=&KJ-A{$0C& zdNaBA{nh%~$36cK9>(YQ3LEE_YZ~Ylg8^^_IBvzUSEhhMtN{MAX(dWo`SUMe_BmQ6 z7=Tic|Ey+1DS}Tu*U;3kGwE5I!0E(-lF!~qHaGODxkc)l`TyE;0>J-gi}|nds;X&Rc&AF=`4*q8(OfML&CIZSK;V1NKXUr6ntpNwiIqD02tyE zu;F`-K?tS{00u*g;Fc&s&%w^{0r<~N(?J550q7wG5V_%^IopK(DI4BrwH`2&>UpM9 z0yfVvIswCxrEtuEX9t_-*plX^bGX6bjcC>l=39&~p>Wo4@}<6F2|_Eswgoq7aXy;L zs_|)buL8?NnaLc5ueP|%+4rR3QHOCyI$Y5mUOz2;_(IXuUcjz3g2(@GV`fsP&q{t# zz>%w0X5&238NO5mB{w8TT3JmNlx%YxG<|#>{rZC_Z*FL$k`i0EeE97hh2Tsq-|4Ih zT(`l)SJD2YG4t1t8`6Opla{}T*Fm4(6dbhuK(nn!v&CShqRg^KSf~Yq?YVyx+CG17 zydG%%p~b^3c~t2kE{lq^cPg)cgEpYbHo%YZBRyT{*f}rMzs#v&71zGN z10S!{>Upmfe92QsLjKtAHUfX>Fs!AEEq_qnp@CmG0BK~P5&L{8S~Lkkro5%;StCP! zF_36#8ynO9AL&zrXq2<){j*?9mQAMgsTJFnOjB#Y`G&Fe{coMX1?w^G!z0mGo+&Sz zzKzB0;)@XU{IF@9rPqFX&yJ^UyaNsJgGZ78u(1J=IC2OaOiozgH=WXJNPSr6 z!q2N=>xAocU;We2%yKfj(Y-TBr^Mb}<Qe~%B;D+!hqD3)zn}>6LN}CI2j!K?bXHB`})fj{tE)t>9T^$&VBAdp8+zr5$ zj@VEiw+IUM3`W#z)uKFrLmY`vzY2r_Kw3m$;za_3Xp5u6udYE>{n(kpWMBMD_Gjwy zTw5Dy%v!9#S?qY+xAUK1e0(++>}nlB%>okViEI8}#F0bl;+1*(vv+O!J;jC_I|fc^ za~zVEUCY+&?i;%euRRvFz|g=z^v~bcO7dTb=QmE>yYY2n_OC4b(|*EkMAEdkFEIyi zOdWNsPb={`Z1vR-YWk6qMiUYAvSwF4%fAN2d09ZB8O2DF6S5>u$@dQ=%NC54_v^8W z$X-}72fK3$$UW#Naa3njqy{Yw^Vd^-9l=yYSTesOoK>^Vqz!Q5S|IUb-YdB{X|=y} ztAEJ+ElXI~ag^Ik9#8rLs6rz7@jqb!rDtKZ*nlf_5pH?;8#Q$^-Z)02BZ% zsOc{z!0fG+qZ^+J=l`CG5&7RUZ+_*Sv@e@Y1OiahIJtKN{%gtJ(xKD@037E703-ku zbim8M8xRN}5tyuPn{xXcF0`4bEO{;_OM8eOG930~U~cP`>G&n>ySS#%S!K^ug;OOn zu&KQc&qNG9y6>e4RWnll7T8X3Dk@aj11u;%nkdb)z~<(h_v@%Qph7axY%hkw>6(bH z1qedu#r+zhSg0%3?WgO7`UNf8_tw?+zNtUs* zUfeOBk5gfJOHrf8SkYG>WGd}p{!j0|o-qw8ja7Z5vHMKOKK8e2hvDCifLD{;B)5r; z_un!ho<2s+L&y5R?b(!=tGoFkCL3=st@9R(?r7bv%0Bk zS?UvQm+p4q#7|S*l_--ZS9|b!=Nb2!G>bPV`*yP{X{+kkXE|;O^KnPHiPo*9fp2ov zM$pihP@t7!BY)b_!vE0)7R4%|XDeiulcNB$!$d16oXj;N>*ACui0Bw~LwkJBVfrOM z?Ejt9f2X$i-Ri_S@+W(tIXj{3L6`~MZ58UZnCpZ!Xqzvbw)nsM{#*XvSNp&1|66Yi zNJH&1`pbo;Q`PvY_9HJsUI&cw+)4KNh@X@Q!($$Qi=Uccnx5G}PJ9jVJN-o|7By{w zB{S4YV|d=`i`(;Mr_8PAQ*^f*kJwk)5{chzFJ-j(Dh*|VQADr)MkgX=8-1_1T<|!( zYD&}}Wd6V5nV#=aV~vn(ox>javMTssG9hf^8N$bJ%)=CrfO2d5W*W|?P~6lMdV14u z5|$-0XU{E5Hpv+0sS>?P@#a;z(%%90-N`ub&BN%z(;ng_^{iVAEF07}qUNG)U-<$H zd-dD>sT9C&PJ+ZX(YZ3a829T159S&=1FoezMs%1DW1Lc4@RK7I9XpUnL;cQ@Kj@CVDfQlt%P)EBfq+Q!~U1_kYgC^BS&K3L5>K zEzLKIf+@j>$)m?S)@EgfXv2b74nZRKUJWTqE>cHj+Iebm2fLs|g}lW#ME)HHx_ggB z4P_hNUx~?k!KBVrB^T(LG`~P>#VA?)X1_x>qviY0fz!Z)pU)GN62MWiZ;v! zz_b{nDf$|Io2NOhpvH#ehkK4C-(Foa%oYuW5T%3eB35sL6leFs^J;3TO8H z7(S0cLeHK&(sqD(Pn{D9FBH5I$=A1}-Sj4wV89x0EzGpz@1CjNIVBS^7!cUQzD%|;ltvP5uIU_ zfw$w#;_NlrmqnRP);PnO9`E<|ufv1|6}pxhGF= zE57ix;cQ%U(T~S0L_bby);%9i%)mlQ{v>rEbxyJOmi)lzu(81cQvn-4%raP?LQ5MR zbJGPH*|EMck$pFKwPNsrRl0Z4W^7%)K4pFJJwCze?wmqoq}zu|4>Q+p z+gIJ(Gc>U}!Rx!P8%!7l=wDdr`HY`t5lW-M8tUGFd-2qXyq% zD1SqjV35DNJFc*sSa>s>R6Rwo!(D#K%BeWx%(Uuu(AC$VUj3Hr#gOLVZENapPqKX~ zlvuUTCfprXToEaZQ&`HVW1@3fY{*f?(XhRa0~7l2*CpcLLkHs zd7k&I^?%>B&N_G95BJM`_H=jEF6-*OYj$_n{#9#e>(Bu}0000R0PwyGa3BB>kDiZ} zmx7m-y$=k9f_d3_xLEno2?~O6hyeH?5I!C@J_Q&bfQLVyi%;d za6ljstUb%Zz3lCc5}y}2*_&>cMxwu^NdA>|cZ&Z;q~QO?{)hRG1pXs|{|_agp{)a* zy*po&G5~-DzyU-l+{Kju0N7m`>Hp}*-!gwmOa9;Ch1|cxf7y?}QQ&{^{}pKcSIG0f z(~$rGNpRe347NX+;sYm~(CP3?GDU{?QFZvOZ5`+})0{{hp zv^50~Cx8$D3kd*#K@_+=A7KIC-I(9TLAwjTqpFI~Ye|;kJ0$cx&y!=8r0^I&m z7Qva{-p63_HHoK`ecw_ADM;(HR~wcUR3jDF*{FcDhj{06Fc*kG@J|6hMZh4wzkt6= z@CGOu&J&EshU4|kmuwWK60Lc_4LQzq*Q>GmKL5q9PlhhkdfWy11l$%(q}o6Pr(IA7 zw8=)2oQLD}8ONs5+?!tgnGeR%BLy3{k@j}Vc`sgIcNYn4GJ9xK05SZeeP#6dB&wFR z-X_rZ-L80;x%G!&uX)xJkP_6Q&yhJZvcK+)qCSZ}{|4%ZX8SAc>IrR{H&GqT*&M3( zaiuaak=u`Q#(l9cRee!nwtZZ9|4;*_&a(sn5cz+g2EY$>VmVc-gnSKwOiO?q#)+0O z2G0>gK9*b7BF}l^v$h%}bJk{1B z6d5PS3}s>TuBDwV1YSM1Q*)w|%vlB-`&0y*C2w}bwPeB4O&aq^7FMBREc{N4!;5%NhK96e{>PtN7W+4w`>Xy$| zrKHo}VQII%%1*bP6}@y$%I^9#1FOWJZ%2Q8o`agpu#4mys5T{78#8NQzfw1}nfD&1-CDG!!QY10d0UQGW-^uWvo)a06 zy?8xNbv%C-0nWUWDgXeFFP&3&!YxMt01HT{XjvoxKoxIBgVyij+IiU!h=ucw6w{u_ zk0(JaLmApmKUB)-nWs9o{`?VVH{=jYSUA+u<3I@%x%ce=A0zPjNXIuW9}^_44Gf4) zj4qR~IW8~Bq2;O|;Rw>OqD{pP;pf7_x7#MObmVQsSYpFqgUnX%9Xr|pmuZyy@7a`X zEyJ@40-M4ingA;qYgKL@Oz}p*4!rxUL7Q(aBSMpuUO_=x~UPVtpzAXC!FX79b}I;+fSKp;T-<$1=kGmQ{Hl zSB`%4$5-0l_pgprE}y~mLhwoaqF(i>a)Xk!1Rq@gcGPPjTnxAWhs+Cp+28?yQm?oF z{Ml(90$#w+NmKz}Oa4$F0hs_Ec-rA(mSX_d(LP`|HfAwt9`N_^>t6)MAg}^TGaV2J zgb)G?MobJWjm7|I)R7Jzhy@LBXlST1#uiwRkC=-GVBv=ogG%6z6^M%@77(zAg+)OF zKwJ!PfI_h}q)VaaMs^l!oqDnk)K0}3yjjapi5*rh8EJb#ILxSaTS~*E8%ybLNp1(f zQMxL#-3E{)>PU#b^Y|6Fi2AvqBK>oc=!x&tng!W>ncu&$7QQcne9?6MK3Sv(Y&akP z;Oxj)|8mV3E_#Oflr1secCQHN zZ_^=kn#n$4ePlN9IvSU>tKPbPMz)NXO{LmIB+*zW_W21>bF#(3>*37=O$s>2YvTcc zPT{aLUUr7cv*{aa$@+Zuf9QWC{}BrS$o=R4u76y4aj0Wykb;5&3sML$I}3Ff0|0}E zz+qS#h*<{*2U`a)@~=K=0RVw?%&Zeu?u-lSju?$b^KBUvGeUS?UBlGfUT^ol=fdD4~}k-2Aj68Z*i{ zzo&)Ao2=|Xm*#O@6q=)0frBJLau)L$l53MmCOo=mRAwS?!7HsE$*>2>^}Ds@S>n20 z6PHsHNtb0K5mKRF3bJ?kGwAQ{rta(aHTf9-h4gkY1$UM_r&ZVx-m4U zsq00lg3rXOQPJez5{z9EE+3tKDG`{@{0g=7LgF zfy=76{i~kIvY%FbX>CN`5*>3Cq8Bcs>_S%^awCI^gE@3x|NFmBx|37pe2>2Qfpy2%Tf27}M|H}Hh!$h0hiyGai>esj&2+gEm04$!-1|U;! zethzwc!UK(h_Sn-K~F)kwR3HlFSy$>H_-1Q3g-hw=bz&0i2xu*3{VH*n7_EL4j4l? zXh5w5$O6k65xFsXu29bJ=}R&dF**(8i`PUfPz_OXy+!}rBIQhf%r!VPtei1_cGdxE z?Ql1e?#2-~6E6Tq20k>G4_1IV0D$?kSWHDoECnPO<8Wt|fce0D#NX$le-TIn9xlhG zx4bk_shxf8~Md;l@P;jWMa0E)E;Jh`iMjkvo{fH8NmzZ>eL0#%~LR+gkw zw1CPaXHk#FPf}(JVq*)<6vz|+3ONip2GX!$pbkVaLXM^Cc;n%H*p8*jF^KWfAh~eB zkYkcMW}Fp~=?{ZC5Z~Q`W)~FLG7;eDfKp|QgfzhC!QwysTmv2illz115H%|u(xI0p zM-hygs6Sr32$0opjazD@n3!2C+QB$d#xwFF`uqh`%S{%$p zi8ooCs8&DDg3nwe7WybF&c(HNN@Th2kz1d$IbEt8@)W)k|EpMH-k%U;=-1B_Q9r=R z;5Fd2Z!3tElhsJqqWf&ZTQk9?vdr1|I&$@`LqFwH!*|u)k9zmEL)K)ukLug(ao<{y zE7sAfpv!&G5p-J$phCA4m>dNS690UV52tpUnV7!X{w721(rEA~X2L+`MlEdPg}H2( zM`jG-wt}&%duZL6LtNP&EJMWgymGTQEB{S=(&LvMLnqPWbJ@=;s4Y6yt&*k(W@-gw zg5xn1!G?a|B{Dp>>}B&Wf)k*cSm~|Zk^!*?Gp^1&O;;5@61+`C_L^~-Ny45A#VGK| z$LHO#o$nc~VHtay=>w7vZ^Sg*dU|&+G$e>JL0FySd>FDUITFkn=^958lP-$hI$&D2 zw&f&&x?C+3S*U=Gtu=y@Y3g4cz#S+q1iW&FkC-<{+VHX)n4jSmndK;eStINeQ|*xw zjrukc6a@{)6p8MDoNrN|4I?Ggv-nw9`^C-UhXa7>$N(W&VWwIKxf~x{Mo}ktJu@KC z-zAp7ZBkpxc#5QCLS{FmGbGfqzSXpGwk$g3iLQYzh5nFcM>7ponPNncB+;s3$j1BA2Y-l-Abzly@G*phv7CImO8nxMJw(-;<7%^79`x zzC{@+EQn;HYm#)-+i=@+Iw zK~OT~)ey5c)vz)l#6Pp31d2Htr{>Jf?R^Z)x!U!`y|2v!c_=b9DQBFxSSxt8WIOXSoA_WSFV_Aj0n&`tnj z+A}2(-iqZ%@zu;Z5*YzBm_JM=KNX9y}{ZAASotUTIbbJ&AVe9t^b zUfdjSDZ!-CuETuzqSiEI`ol{@uG6t%(eXXCjQ&HWP#+{_<*oAoF6UxqAJkDip%}w)+X#qR<2#_N({j+A~q>~^@XVP&Ln8O`C z9Mf(H8a8oC<*D&J!eOC*N9B@fUQ1=o49*;d?i#XfQ3{GV(NyVH%-3tMJ=Q{dDRV=nYHwdC4W6vNtpCqCVeJu9)F=~TaeABoxjC+8ekEWxuG@Hcgkg-0gti}UX zAW>gm8NtG~YlDw~D+7xIf(qcF!9)<%h*B&9t0Kixe0Bft#30)&;Z73#$%hI_q;``r z13@uV`?z&QKsie72_1#nECE3}bQCu)n(Kau7|DM5M48vFNPFvUOFKJ*GgFn4=fHu4 zQ|g9`dV#NVTBt(txk3XTkFj}aLrnPl_Ar9?>9yi~^!hpN@=W3iIf)(sCRJR?v3g?; z7YY*;QKGpIozJ`1UT1E)x9u zaIv&Z?w9xu;UI(+H1v+_59mfk2~>Y;R9lYlXiuQ%?!4xwmP}2s0fvP7IKr7r5taI1 z*OqtM-U`wj+eSap&DihUw)=j8l5LA~7}9pBG#M~cQ9b#*c0XzU&y48uvGZta@737X zy3~$hN70dCWrwLKpiU%N$8(|0^bvBP;d<)&hBYxwva`eb0||SSfkGoZoIm_&G8`xY8oA(8(3J#Rb;rnyy3{pTd2EQo*Ls6gAPog ziE*uVG!AFpIC%4M!nM$4wMg4|n5Nn^kvv-S_Xp-Eq4}joogyw%!zD9U`N{@fWi#}e ztCOLrwkr-LW$Q4nX=CK@H~ZZ+LbR!gq7r(@%&x?=aw4&6D#Wvp6`fpRVC!0BO{iRj z)^Dz^p>wKnG>oj(EmdU{e<|E~Sr$Gym;o(QJnUZK9kYyo zEj^vD(EX|Voj-r}%_oN6W~!jmuY!GiyU)^Uk1j7-`=;dr5&~;u1^79*oU|(Wdl@dQ zKDWPsK^QG#f{~~i(Sey~MJ?;@dYzWQj)!0&+ZP=tL~UBzmp^lBc;t}ahVJrSlEPJH zUe)y#tS4c`pHAb-qD1SrY4t_62*$j9B5uNQJD8~GAqv|NhMm44b~fO}X?$bwsh$tY z#SK;Dc{cosf!*zW*5lAai;YhWb`OLT+-eA4KAmY@eUo#}pyzM*2J5v=3wCI1qB|n& zfnI*;Kv7kp1p2UI!H8PHQCEdl-HGH~k)G;r0%lFBoD_w~qLvEycyY{=rwH*ATE=&C zmoq`E@WOc&BTv?$xgrp5d?LiPp+2_QgcdxDn;Z!F$vf?W?GovgESo6yRl?qMOLS0a|mrs2l5j9E;(HVA*1&eQ(ZpA!eQ1s6THJuZ*>}q#^J-ho*!KEzx z)-9sD1GjeT{^I(BtwZs$;}@acZKcyUcH}mcKh8Kdq1&8UD&R zT<@zvr@1J0D0KcX=OUx7^VGb{!<$cJK~&>xzl|F4k+Gu0!@Y2uq02CV+|WR|VwG75 zmLF+tuzwQ5s#-zGT#%4tsD>RxV5+Q))*V-KX`D#W@rlh*&@BjHGG=gJ+H~)S2o@3O zTEO?2(TP&S5SC9|Dl6Jf`gRp#i(_Ml=RR#i84?Dn&8Zy*rzMZuz{6a^(h+sU?V1%*9bK!F)3SVn#`!tl=YVW{%J) zoHdMzX*Sa-UghF#je!)0Ame+^4?fW56Ds!w3}JcJm`A3_HS-SJ_iH0~@dDq2tl>4N z@&eIQHCxvj^YE3aO;0@nE*3g{7o-Vuup*pkaerw(_|R&TE&Ykm7a^VL-Gu2^j##RV z99)BeI=j>O^9P>ZB;?s25)^Gv5b_@LE$7g|q+nL7ibVa&w1numz={;1l1Fe`c}jRO zK?<3t&$$6_o8dj9n7^Bf-5!}suAcC+>Jl_b2g#jiYly{2D$7~^@YJwY0{h%4@UaBT)rh&%U6EV>sC^c1qnzwNXBhyq^~ z4RJ0$E+12c;mZ*tn;i@Ltq>`N`F$w;a!V$C0_*HpdVx}9Yo?m@vwjOUR+03B5RxE8 zu5e8}jijdx!Jyy(y%zJ%Lf~SSm=*Ta} z^5?n_!?szU#MqOeS>?_Mf*Db-n>GRpBtjxHv_XDFYn;-k@KJT1PrUgkew6x9f7|i& zBL;RArLG7Y{r-9N&lO?qYMfg9!9F*I9oB-1o)opho}9?058YOj?kVQ6WC>m_JTxjz zhPR*F9xIvA**6a6C4rbbCfAc4^7M?78zr<77hQ{sq}&m|iVhv^E_rKkj3|;rk;cD4 zJ)&{coPjov*{gQr^z&8fc2yA%dk=VDkbmTZbc%tY6odD&e4h3vp|qz?;#T|W+~`}0 z&-FePYM@7ODinafq9|fA^bHgvE7WjX2+!j2!xrijhfY#4oo2@cw8H-|FL zy1bzDs)HNEku-WOz7CihLq;9DPlR7CYz!JpK9`z z)2~JqUw1ol!Pd6}rN7vteSd0bW2GBMm=Qz$#v|*@3Xqw|YQD+TwkjsCL4UrHC1FKf z>c_^_9#T~wsf0hRiD+|z`a&e2;bLKnOzE`*)ztn*A}_K$lRmDLR4cz!d*-S_57t#M zO=b4CF(6$QN}SNCf+8|)9;g?3D@)J&5UJY!`kc(X#+IUMx8pdwWYA6|#TvO|;Y^$B zBtc;z{BW+qsO76ujjKu4wwyVbxmi55BNZ1ro!m7ng0Y}FgoeB1VX7T9F@A)h7*9kq zlgqn_#HUj~3zhnnaOfyTHH*=+nEgR1k}-262Qc;0h)`B&F)VLJGlny1S>zFkk|o&g zi~@kc1F_=48c5YakqHj3ebes;z+nn%G3iZo`Ln3OSdTTn=x(>3ZyV2QeI~{8$Zn`m zCtSZpw~AcqU;K`6VOUD)6F0i)dS>}qgr*QxqwDSd)5nc<?V`!|n{fwm5IY*AIw(YMapz%SJITQ@(JZ2A~gcAhQqPhFZF zLVm_@+s@mYuhw>=OxeDCUf~xv3hktJkkZ{qITp&PHQVGLK(ngX4!e*{we$I?8}5l8 zl5KXR;?2Lzp2BKH!FSSi-Zh?$$$CGW6P?7nS`rlT4-OU!-ND=5&WXtP=kd*ry6#|u zXdZU_F@5h;V{?06DWR0+et$X9k5)SQf&W^BnH9bj{L<^`^?FqTJL~d&+E>>Lf*sK+ zyp#q?oa%lokMP(?K1003U)%69uC1PvIo2-U8f<=kK{Y(Jracsx8nYeGd!g~d7Gi2% zzGa@Z)t34+7sY1c6s2hGE<(8_@!a%HMnFm!gZH!cH#$jnOZo;3g{{2a!!BDvU>2sC z+P7{UF6@iX-ddHvTVHwFdjw_p`kr4M&1rBTZ1nuNXfj&x#8hjR(`v74!A3crRQu(< zUOolgkGZ-(K2-a~uzuE12&yd6Bc3Ke%&Qi8Db{%dkgOmXi-J!7h~?fRnYE^Uiyp2VdFXHI9&>c)aLpx zoP_GLRyzcAdOt2a2YTsBH*1wbs20>m*aD8urn#uEqi9MNV=ChcbPntM&{4%%lxBYn zWX)bbTt5D2+QB~J?-8rv<@E6A3nw-l0TQ5j&^cE8iycuHVYHXpGW`|PW9Vwn2m6x@Uhq(h zV)qWs@rILy#@e@>rnSv|FAMjAuKT*mN`QnU)ya`0T_AjcSr{-52gL_!Fe|917)0{e z;8^zr*^KzmF)SzfYYdU_&(7RlC$0zxXNuK3zLY2pT394hRD+`{IMWLDU1k;y5NmmY zXYPLdv|)13ZAYCpLoM{$oy7RJ{P;S))0}pjW>4uRJ@cu)=l_MV|KJU`^n?(!RPv)R z{_Lm!XMon00ymkv>ZDmAU}7xoUGrhmg?^{V;(u4e4Z&otU`Zz-dh&9zXy zsJ*S{{VsG@`Zrp-$0lTB97l`_$34zlvU-*)N86}9X)&(ZHb3IUguF2AUk53PCs_+Z zH!n{&Z7#YG^FJ6bIJd4(6{+cFiB43s8mMVh=&qTVR5UJdbDE?^JKARnHrY|QI+mCi zj&nk3d93a2nG*z7o9%5&)hG09T%!Z>li~9e>5=N8Y{>L*HaZR~0VbkE7Ev7*9F0_1 zfqE%U3{N4lG=6f3$=V?jhc+Nwy@(^Y7%@ge%ZauMFA;kGjLFfK=U>6+*=n_}&@_sV&{2s& zkJ+VQ|1QfLp|E<_)M8zc;y=@^OLb$znME($t>|WiM3dhpsMNY0r$_ewEwow zN=^{{q~2+HyDn?8Ce7B<*C0m!O#l7Yr`~OkzeaS8jm^Q;B3OqER3mLsCn=(uZ<@TS zr>C}sGAU0s*KkEA-0!{jj_cjY`N$bjJdZC>tKB;*(3OQ9->dW+r}&zDc;RaDL+F5l<$dM6;+;;0yy?xSuila{w)VU`ILsVX zzszMB_BY(3ZJ%(>s4HLkleHvFI~k)USzVc0*i^_qzDb)j=w25(+Y!byY4_ODW_0t} zr-5nfZDaEV=T%8?p6^@hFLf7Q#LTxM1S1QdykE3LCKj+J>L#*jVm+M{&i)wa`Y>uw z=B@6L3H#Ku8K15T;g|EDD0fBNlWUXQ6WRTT#Y5*h#luc)J{;Hxv?TDX*EwGZD1J27 zjOc}~D4yp?u~S%O8Fb=oXC$lbrFlf%YyUlZO6{d2t{wl^6UKdW=JcJ8Gja|8g>0Pp zjln-0WhWu}+yDUnD$){Qs{;cd0Wg3dKmg)|@z0Xfg)Ul-J&h3}ZBaDZJy$IwfG}uR zhFDUTQ|w0z&ka^vyj#^uTs8kkYs43ecTgXI>Rmg3TVetP2K~Die>228w5pHogT6-O zUDYpf2!{Qm9z@!`2>=ZL>ykUa+kX7{{^!&0zufOPpZ;|I`2FL}pO1fYe#~O^(PIV7 z>j!@cohP~$($Ztmf@SG}9FqprH4t-2*MLP=b+(v_yIUJkrhjhIqGO97Vr(wh1>=aY zs>sw@Vk}ymt5;Wb_@d>cz?eLK%$T7ettU^B8|f%WM2@AppboPVn8i|v|B`77$*n90qyvQn0D#atY2D#y@Jj*e z0FXl;ApKuF+uaen4+dD!02UPF&)#90z!)e13wh_k1B?-aV~GD%>hA%12SXqN2ZAIH zCA*JzA9cp3e#lEpt>GvV>zMf>p)~l$oyEnditkKkG?Aw42>6P(jMz$dYwxSU0FG5% zOhNgKiljVot&pX4(Jt8Q@-kaJTUH{6%rNF=+);fr==M0_r6yVq8}|kiF<+!r=|pOH zx{m~DW*m~v*PAwfjSJzVigckU)!_Ub@iMr#r?tGCrR;0%&zg6$xpJWtcW*P)jnS^; zQQI5GOOgp;(LFi?=C={Jv=dJ|mcu%&^a=BZt~u6vFrKDj*(roE1=YOFPAj(xBjm+{ zQU|of5u0B~Lfl~u4E9X@mePhOMoI-)+=9T^mnLhE@k@@lQr!eXZWc~VM(N(J_u!VL z=Qwlu=B!l4BrEhZNM~2m2idaG^~K)W?e(u!Gq$yA-{gm9JO)k*fh&gRo8v4hx27Ii zt5GsSCXLW?=1j#3GBqiE%N*7yz^{wNQgQ+B1ezPE6Hd$3Zm{5L=JvHl8`;^z;k<;{ z*P<~mxUve&@m8z+h+DTWif_lSPoiMAFB-{Xr~O@bxF)zb3d{2=!y`HB3yE0p!lMP? z%v|}A(Og^u<*-4#K)m|OdV*pOW@ZlN`oe+m!tz2qF1P@5C5ONOT#%r!u!?|yqrQ9) zgjYpKz|0)U%)u2H9xY#9&CwSgSUXt{uN21jD@hay#(a2a$^)<+jv2Sa)q59Dql>J* zO+uJen-w z4Vw9p{vk}wfoRcs}0n?Uj`3#ldZD*+F_ z>=73WF^Q-L0%5*89e-HH*f*vDmA^^7b0gqbC%Ne;|u>Vqi9yHFhK0UVM$et?3cIpCk4qvO~%qTiZ(n4J(YbzyL*#n zkJq~D8=g}q%T&PT1Ca$tvoVG%HJW(1wuzanWpM8~!%qFL%(GP-#>S7&DTq>ziu16{9D|}r#^3$=nqc(mkk4l!u~>N5Uv_nc)@J) zdbV?s2n0Sx8RQa!0AR1*0Stk~uIemI7&ZXNK88upNp%5T2Q?+tq3sYi*hE^G5@d0o+ZAsuvl^@clH*C6V6m9^KDbZVM2nx7pRyRBoo}#b2-czy3G`h`&KU-b8a+p^{_BwTo+3oHgZfO1x+d zs^&Iuo5nzVaV;*#1AW#RcFP6d@WAPoq*Q^)6AS9qrx;`&Py;n=Pxn5J#JL{xjYUr1 zV#P2%1|J)wNI<^bmz&im+8xB2j}3$7DIqi+Pp{UjNst_pyGR7r{Q16*n<`N|d16F<(qWnMRxL=@$ZtQAXzPWgKz~DIP9v#A#m9FIY(knQAon|Sp`VE2_k8$9Y;UC4k97VMxvJ;=@dG#M z%7EsO*Wf>&NLb?SE+v1C$lf10ew@^NSzl)3*U0|y$v2+Dyn@r8rj8GE^6fbHljS1e zj~#B}DRA(QaE$>I_mQ{a%W0Hr=f=S%01}#l=<+fvuApC34<-B_==r(qKc`MhQTWmF zwg6Ea(ley0XN=5asaKo5t~$Dq_TIR_k;(o3>ONf+*MCoV_J6{7w2BZlFBVu zxC!;9`)8QR`gO>+7!K{Q;$0ju|0;_q*rBM{kTPF3;`uT{I&g|Z+Jhigm0&5e%!$WS z^vs97iWQXKY=~m4dn{z5rHvZopowP=PWnDjaQcI#H=rgJ>HD*qkKwnqHKzgCtXPHC zwS{e}dnWhxoHm3Az{ZWD82YPd9P2fj43)W3ZQ5ZfP-}| zfZsq0goH=UVc`xsj`DA70X^WWq97QI85tw$GG2xvn@c9G4Yx8R4G4KRRNygmwM9sk%frb_BY|?_r zHBmSE2cfW7&G)}k=+hU-d_#144R*gx#&z@8;LKtC} z5POrvv0*WlI7i0k!MRuI$ve~{%7GfZ+tmBNTbt;zx@YY2_@!w!J9;9MH<)9QNviq9 zj5+0?NOvXv*%Gbd!R$$2X#Byt7BIL0)_}TN7qn~?9^#o{Ut4$H_KA>?u2<=YiE39r z|8+Y$YTk7Ew7JW|uJNWHpJWq6dN=WPgh|@L&JJKd3(lK__yw>VqgL@{@{<KJtZT6(Kl#aX72H&Z( zX*X~0Nt9z1Ne@23Cw|hdlVcGQS;?F&bFgda)JGr>ncu*pWP;2?&`(SP;*%fePz3Rv ze{zjzUTrls=Slp^8p2_$mk~dX#mb4Mdgz122BsjOO4UwEkPsmZ)Fn4EmjY|#yK;E! z7}Cm9G?&*Onc?H4vzD}8sM!&ixrz#`uf=SLG@U$c-H?2`IJBvH36Y^dE}xZl$kPBGLgxdq)M;gIhZZ9r`+~5o3#FCP5;}Vo;W<(gf zLLx)nTBK)Gh;>wEw7Oa?mn@gm@{F|q3S(ypGX8*#8PM?IvJHDVeQnFF%ZO*Hh=GBe z`hYv+_%+?pPEMR`jo4$l_KLJUNQ_B-^>_xUA}LIHO(IR_F>K5ih9k#p&n+ZJ`iy6G z7#nl~vR1P)$BReuZh3sDa@q+7kb*}cUTohojTIE-dt(=w5|lD))Z{lJ1~e30TL(rw zKH>ZK=#$4BEeK*)4DeBGsvcQ(UCY@{Jv`p99&q8OQr|(&_2c1eRm^Nv2f$Gs1*tU4 zdP!`wV7(L)Rp2-Pp^=2*XZSE3yPhsx-E3VKsu7@^k;YtON~3sy4NND+DsKS`@xuZu zXdc36u}=;NnQ`Fi0Z0M_WeJ>~&s%8FJ6-$G#bMS#SeU)&)7MivI=TV51J5Ya08=31 ztA(?UE_R3fJtk#D;N1`TfrB9zyHru5^WOqC-C3F8#&+=B7W1G7}LPggznbO&JgK&3SrAb`l7uPp$xZ66$ z#rsBI=HrQ(y=HFyy6hfgim1AIdh3}v<5yKhU85hqyzQR))5se?to=z^+vHKB|95}< z1Ac7C7);N1fOyr6c{&eag4Qpla28xFWjC3xX#Ch}{nn4JQ*~>lZY6!|37AkRtJ^&qe49;vS*{^19iCAWP<-oEo5qvwW#~l>qpABu zA-_=8HkQ8rvoaaU6{)D!QZ042e7lFD-dF9z`3VobfcBH0GETF)q8j8C2EeRN8kKWE$qy*0;)xP$ zvC|(EJe-n6k4aH}r@Q4c?7w;Rq_m~<;}eMW{aiDZk3WCby~=lw@W2;1j*jDeQEaXD?40w*8B&nrsrpy|B}pzr|s0V{*;*Do^5;#H78`b56=+ z2?d2F$I|O3i?L9A|Dm#Tu9}4NV>Z|m&F5$j+7ctpGtrH7FQN(j<5I%CK)96-<}?$oRXy zsDgJdqLV?&-l@ZEV`KR%$Kr9O`T6{3soL8U_owu*ul7X){?Rqt)IAxsbL$ETTKy&| zIEiG|G$~doi7An)fBwCW;a1=H}@bp1ajMo&d)D**tb*LPE& zXrCElVC3)R8}n!-Ma4c9TZ%m`{Y`DOtt~0C7*Y>(5f%t%D}Y+bD9k$s2+~5I>n-L+ zWU{cqz|oi?#DcQAlXNL_Zf0o_xOCnUzet%4piXM-0FDLd`S>&z8246XzN#zhG%6pO(nsuuc!ghWjS z2D2{1*fQh3M0@!>(H-KW907 zX?x1-ffw{%NG}|t8h*3qO9QsXV^Z@8sEq23FcVn!!RhXoOi)UdpCo7@ z#B1Qny#Mb7fniqlQ`-KIGtrYPCtj`MwuRP6aKbWl4+CS$bnEu<_7eCf1I=nQk4aqf$De=av1l74DVnM9rObgbyW= zZx4KRm^94LZvr|=&Ll)D`-uw5kEcuXZ1DJbmtJ&L9MT%V8Fp7fkoTKOuMi}`EK)BT zBRS|R-nq;*hz=H1lT%_ZzWUe95Ys@pK;avUMP+qjKSMpgFAe9s!iBbXvokn%`!`2k zE?%6(K^TblLO=7gyRG-eyC_j$RJu33wEiCVB;NBD?Y}cRih;~c3G~2!FIBwbYi_&V z{Y`&OrC4*;WqYz6bwMn+?VNel&Mu0s9efntGt=SM3_fK58jlQyQd;KjQ)LtvZ>9eV zs+$@3J*xh@$L#TNPn)yHFoyS_Ioz*}-4!)B%>UgW2${+`79r$Wv=JoKft*^4;}#l8 zq;~Q#Il5=eaAvQZSxyBc$_|yNpmw*`iKxqV!ALcv9E_|zdA8uM{ITP2pZ-Zm@t?Xc zBW>(RtnBwLhZG^BvE8(TvZ4HfruZ!yTxXO2Ec^c^{${C>z;fG>f>Eb_R9#cAT2)CO z3cPDb;ckzckq#wfpL$H35^tHF*+@lp1$%M!jYcwZ&IVV0tc}6+Q`>Wb{*Di2KK*G? zeLez`y$U7LKe!&q>j_nw$_D`@KL7cjpJR~!ujXNQ=cuw*m1$VSo4DE#xgBj5bKsNY z7v9hAcr6CJF*|-^WvgOw#nn1QfTgD3A~Ern`e6Yf6dXj0s~2>xaBhHc70~u#BR}1w zcJ~vb7c(2sWKHtGII;%cCfTU<&E+d5CS9BzXtVfnZ$pdBgs;sg9!e98T!!mmlka;w z_C%c!ZkXk~Pl;kLvt zo<6pKl$~kV>s-?Z>Z>giB9^i#5P?4iHsSpHM-_(Ksjf57XTL}$jw+i~b;GB04^OjU zb77ua=yaghwA=suw1qW+i1xP3tFJt3&j$>xz^&TK!KlN&B2GV&WRE9>pQ`EAUk5$@ z(%?WY39p}kg`EF-n)-n#?^pM9Je{&{0@b_say~}WYs^G7e!Ae)lhIONBk|t32vW{( zj}}wxup}d0url4ph_CRYZw(lJUgTu|CSN2{ihfI175*vm$hs3E$YPiqRG5&Acf)*t z2~s|uyzt7$BH;CUZrr3$eD+e?GErve(d@;EW~#Kv0lWgd28-k2HaI!1|CMn6<-OaL zF|+%oktTj_^D7HiSRE_!JDjnmHT`~GE*7C;BFetM<=IQW#Z}glRUzoVXuG{=sN34*RTiBv1O;se{=Zh^U3{4c;4+%u-oKuf-) zcYZTsFIEwnxR=W>JbGo>DEfOPe8_46ms! zO;XKWqnvJ*hMY9maT!F$>l_yjeao-A3YH3Fvl9D%rX~C=TV(jy=n^sZIqc2<3UvUA z|E}1r)cnVDbDkxJjrN`ImjXYZK~L-eehe~0XOkRRS>^o0JDXUR4IL}1ZaCWVOdFmV z4*gA7+GA_`&}gF#O1%YsH((g%FFX{+Pq~9nQOIH2CfvM}Tbsi%eSkznEM;U6*nmrC RSCKyY`0dk6%Q5dQhS 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 z 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..0f75be71318dc171f4d49faf6a4368b64cdf7c55 GIT binary patch literal 18334 zcmeIZXH=6<*DsvV3{^UzX#%155Rj^&_Yw#l6p#{n5kbI0mrm#q5b1>8n}BqrNpFJm zjtHoLfbHOOKlgh7&-wDc>-})PoO`ci_RL&+_RQKdv*()YH>0DEVg(QY001HY;L$ZB zrUeiP8v59HD|y>E_&_u?Al~+#t~UOxVqyfu6aZ2J0#XnWDLn}(07N>KLrV5HAR;9q zAg)eM>95RRvb*;$PW<2ezx>DFEa1QL z{~hZ6cZC1n`A7hORT{hfs?XaI+1od&r9>Z1qs)$drwzN1nMf(qjXV1E@3Q~q%~7OF zuc?kWo(*f2=+l%@$0Qml)dzkR_97R0Qdy*TVSIBX&$Q(Edj{p94Box9f7kTy;{W0Q zvA};U@PCm7s1?mI(qal`+=gaJb;2wF0OG};KW9cpMusOaGF?)DWXWnS+9~KQJzp0I z2nkTQ(*+w?6$~b_ zCPe=tGwg%s#Br+zksw(p;kL|x>mrD80ydQ(RodtXA5Kldd{c^8g%r`u=-~bXSY*S8 zi5HHJc&uXZiF4$r&x?;23K8e3Cj2e8#fgcD1bN{6TCeeH{5nbGLE#*v9#~#&j@&3B zxK|itgty&pgUCP|+zqvZC?Eu0tE{OJ1>X{rO{>r<_Bt>3$o%mL;U4tlJH-%gE$Be# z1jNko<_Mwcvk4H^FM7QFg+NdRyPp?Dl%OO93^r2?ni>QC5##_%KL9)kH;>*XAXW$h zE77EoKpB9OXmZ$WmWeRu{wblJ(-YW~#WM>fIf@Ch7h3iW}jIG#P>Yg~Q=-HT!pI30NEYL(Do! zMp~#eHmQKOo&R&JMxKL``ZzHZ%52iOe)TD#|joL-@L zGwa=@_FMjv5vTFO+yn-!((Hejyj7(1v42f_HM4T~zT|yEB-eN8=XHVDe^}n(#$F-- zNVR&2*4MxB=j2|s6^n4mDnGy}D4rhLML^gk3Y4ygOgZbJLJ)d%(C`~Hp74587HUH=cmOdTGqi=(BCiM8dO5cPmlV>o>o8jd5rzx*oDY6$ zpTJ#%XDL7ok`9&e2nu-lvXXJ`ap;?}!-6HZ^Z5l+7rL-dWED931aE^J04*WTTKBqc zt%@D1F>{h(XTtrCQy-N5j@P)?|1nXQ9>yGe1w&$BfbA2f&@RCIgS1#Bk@nn~txh|@#T#Oa6v zh^(otNkVlHPPqgKHUxlBA$I}{A&J1*5h|%>0>lWBHz=?B0)rp{0rQG80TYwONDAZx z09~j93ee$J(vFA-!dy>-zH1@C87tpt-IB=K;kc8|>6Ey0q0S#Y$-2Y3`@*!pU9mQW z8j@Pu#;{+RB?*3#!rS!fOG5lnR*Wey{Eo&KL1~h2!Otnl-?7*%2}u{9n!C8zr>5)h zW^j03nYw2cBxbu@)r+4sZ#zj~EGNXtCQIL)&RK7`*eO9D@)nycF$b8Z@o~XU0?SlH zW}GyJbU5$P*nF+RXH^(f9?qA_JcurQMc2&x@GkKn;^Wt8%SrhN*=f@9`tcS%O_a5; zhHS;NR07hQmr!eZWOU@irC?4rx85iwYZjx?fk{znoDlyq(p;;Dh2F%hcYMy16uS~6 zN!ay`QS4#&R0U9(pfXdkh~lM4sgthYW6FXzwrzJ<@4dabdgD$ETtkB;rk;RPYPgXGtB$E z&4&N-dk`7fMa1P2$H13qp}bNSV)lH)b+VB0pj{#y(IOpG$=b9)1 zlq5lC*9+HrE`a4a+6_P;rXegWh(TZ^3qT43APH5-6-81~A_hq!;@|*Vk|2U2C^ya) z6TF8b@Yj*o*=IqJ7E|Jb3skx7CYbRbw2dp8Uv$c=k~MOd4wofLw3*A;x4sf)q*EeL zC{j-H*U<`p%ANW15x1-f8O(!eINwBNBPpM zT7rEauRrQ~WW{%(x*mJNEMCIu_wv=3jj^ila(S_z)8aY8x-~M2^`LlTJK5cNif<2u zN1Jp6-``~5u06=~6G!3@JmZ+d8l z0^)h)zO2YahIafxYvjHj&;Cch2VGXb1JF_Y?f1X*>tF02;qT9X6FG#v~>i?Dc*EHcD&P-%kwzdIq0fSFFD>`z6+qk z&JX7!jY@ITcFN5lT4Vu&>9jL&PI9WrGgI<~XL_iuoZ`iT8O+z0#Ze`txej4YB?r!8 zH}JRg0RT7E82}{`r&Dq6 zP%(F$=n%dS?o|EL0#c;W^i(0 zi=@Q>XIqL`0Jk>I1`Gg1fPf98VSQan1U8Z()&#cJKngmd_u7Q0#9Tn~tcD8TK|p2- z#!W{a2_X5~G5~-i2!jDeUVFRi*!6S(IOPHmBtd}dwTQ@o*Ko=qSvzWL5GSq!x%P(Q z>SxR(aU?o~+Bg6Z%R&k0Ly#yGT)&zTB3Z8W05Fu-N&tw(V3c~YLTL&jr$CIQB&xJM zobbIyEzdsUG)^_A1b=pu*6xFj7%Tns%&pwT*wA6bnOyG889h|;6pLi?Oh8aT4&Q-1 zomy#bKu#`Y;Tc6lsB=JUg1+2t@)Ny#X%;+c*5e1KVvqVK^M_u`C_VWg+kxlCh3Yur z&LS)=a>Z*oRlubb70ny4r z+{;OxVc&Neg-4|N^?2Eoy!ui^#d_ZvBCps$f(PlujbOB!%yuGUGsOg~6Vqxzrjd0g z*+@H+j7SMLTS%#Wq{Nwh1W2|ygboFoI*QeJezoiTeZ9KdWO&KVW5{Qzhc2&#hbTr(JjE=`EdAMv>^~ zIU8|HD>*~$|bMD(!(0n#DFUY@*b)KGv82tY(9_~dg_ zwOjRG?Hkl;(SpO+!R}$X-Mo!)&)d$y(ZJ*h2ivb2pBIE)REnphr*d$U`7+RKJeC=5 z|0At)v@9w2MOY+JF_Jon zu`$pQ;HfGoD4Z~(n8BFLOt?5i*W4t z-yhziG%|xqWjG*L*KUZDI~1y^0~k5NX(NIkZYnF@zw5nH_D092oy^V#5kBdiT0@zQvS}>>MyCAEj^|R}=Q77Dml-1>d?Yn04e(}7 zGnxl`9d%7k@2X+|U-_tLn{6MuADEehS}k-}Sj@oAmX{*z)?4uAlV$INpW69&``}i7%?Dd-{3N?$URmbJshzQuE!1L2V{D)QRnTbR zl)*8gNa<;i9QB;e&Way{Axm1XYZ@n3iCLBQdkkMUZ8#L*p2BHo974{OY-xKw z6-jND+RIxg2xib|3CKp*Yktc4FkD)~qxH);IZ&EJ`E`($fb-|s_U|47&4H9m22lKR zOh@I^2JFqFwt45OmxgJZkD9v<)=TLDHX~?6J`qziUOFb2SdEibX5ZT_?upQ}iHjAF z3+}Te>IwV6)@UOqx8}rbI%TOgIpA)7iJ1+JHC%|~(+ut9#JGHp6Ec^=b6Om%8 zAH-3jzH`5I>M{;d*aapqAN4LWFVRFIgF`#SG)J;W(4srmrwlT*L?Kk_@g#*&3WbzD z_O^Kk_iGjS9@3A$pfEHaaBZ6QZcg+1CQA49mkJ8*N{nKJ%yehoLEH|Zgv{-hfERSnjV(E8<`8W*Yy~g4n z(JXAl<2HT0k6UO^bk0D2^tCgg4@;$rC{v}>We|geg=fE0yb;Cg!eQdwPfZ$zQt>HI znh)7%kv#mA)h*3@B<)Ff^DWoepQn9Ii*&zpS|5QStV?f2Q&Zjs9N_F1#%y8|)w-Y#on zCU_AqtAUTmCS1l{|Q5r1jSD{jIPO7)R zpP3$DKLHZsrbls+Q0oWKhlTMxWn0`y(E{Tf%KC{IjZ~Cr=hXZpQguv|D4>cO4P{|o zC;IrJY-2a=SwR&)dhbns%P9S`#E@D@C}Semdw${KI!Q4CAfPc(RNIWMP~wTHuvl4U zg}GCfR_T*%U72-2}hu@$ARMs)~5Rc9ltLq!U+ux7;L@FW}2p)9GMI!gh;*yuKG zHO`nQ0&gj=ex*VvS$+~948IY7oX*+oCte3nDtB+I3XkT82sa(kIG8E5%#Ce$@D(i^ zSXWI`q{5BC4ueCcb`=?RJq8(~LzlJUj-1dGbpdgnJ9!ZZr8|}GqAo1v%Y_6ITbo5& z9lJS$QnOVquEi*#^E@)CD}1sQRi~bozvb_@Z zH^QrkN&z%vC5h^T-C}tZK%xF&Hk&()8&zZ*@hY@IQtElInCMiFunquTn}Lc78YD#; zPpd#pM4co-Pe7*fAyS`@?V(+~1}yCKOh=zI)IhzE7&w>*g%YjJ+n3>aK!qSOWo-Ci zr~mA1Q*r4-%zV#x%cbI60S*)+FMgoE+G|%3ZPHpL#0np(g=O*!Ik<1Ps7D8dHHYsa zF!Gcpq|XAjR9wowNcBsXPyRU0_~d(@C`ro9tOaa!$yWBrxpLil`ci9VEBW*lL%>~0 z&%J8e?Dsn{tck5|(aqd;{HovMK5z>*ejoxqYnFxqW&BVGxpR zB#}4)zwDK@5CePirvvu!qWV4eZwAHP-Q#OfE0OG%ZBGa&=V{+C*1sy}MC!>l&$9SA zPU*iproFQL>b%b`jodM7Gj}7gAu>x^euqOM0UB)jp6iT3+I6WtPS# zjxQ*97)xH)@rWk{wB8WB$r20aUP=0j)* zK-Hy6qiCd0mL?ni3Z{k-W)E8dBQXlfNvol5OBTXOO9560 z5slSW?hy;I5rcAHd)Z1W=ZX10D(BIy&zo&VFIf9u ze2e^)T{qg9E&hWqUaU+!^j#M^oAXR+=V^uz1r1JWXS6vb0$nOz;$uDh^6;q|<6~i`XpAw=Nn~algkBYl{a#9aJM9>yqfZ@#H(n z3Xkl?m9^1|*<9dT*Onr2DU|Rx3`drWzi2nY&84lYBTKYP>dQR*^m*f}xLjQf+yf)Jv(;$STeiIk?g}MA*?X%tEIEwsIhFRb+)`82 z>FAx%farPUOU4`f+SFRv@~g1c3ebLgoKzbti?_nh73iV3a;F;ZBxy_SP>!g!ENr?wBD#_AK!>(Kv%;S z7Yhj`a5Gxm`FZ>-s&$ksm3&Gp!)18x3<0e&bdpxl~-0=)(BMMRhJZqZAw^Y0Al{h(UwRNVywUFJGv9!We|aOCY5H z;E+aCB9|)h3r^->QJ*hAM|G2&eGrxUTIceTm8WFNaxJ`d{8#YVYFw*9jQE@Obf<3J zc2u^wxkS<6Dp(Ea5E5qdT8y<;oJdX5CXV?ICOWMVElN`vF5=UY^frn_ zb+ePl)N!=$`{w4M=6+x}?W@A}Z~C@6TVt$wg?D-uIyO>NE8Qn8)Pk;jbwnsHkJL6A z^m;z*PkFgDI@wkh6mpcAGma<})bDs6_`SK3breg|_Wt?X%);--Pgna_57kmOV;v6k z)G(dy7TjAr6AHwN*)fDH@seE4`Ehj8O&`mIVqZ82>rVFz6S2JMU?>0ewUR+`Zn3Wo zg$wZt?_G7wRd8k z<*YKhrcj_|-KRl$!#5_HR&B3TWTd(8WG8AGuF|hPVov9uVo9mBU!@Ky)!G&g@r_&%Z{hDSj_)w@eE>l_BlznqL%q>u zrj5PikI;^(Pi*(9bNXa~Z@#b#7zk?7MyyHjP~IpqIS6b><*&(z@ma48OJ=T<)ishN z31q09o$z+Oi2bz1H$Xdu?w4Zn6N)eRYM}inQrvzfUzS@pswI%dbD;^HEn=<} zIj6GP8-yh=-~VWa`#7cXg3M5c`Zh19w~eh)jVg&yab5K8t;~3#_X3h7wqOUYFWemW zuYhRFEAb{BHS(58eZ;XgFG%75Y zbO^&JYZzKWIDA4CW4-Y+)Y9Hux(FODkt>e$%T}nKSy42vei5H~v_VOs zq3@Wun3vVFKetJjHZzs{xj3wD%%{jX*@<#GubbU+n`v_-E=VRc5KPv(;QC?t$YlEJ z{B62hof)Z+rA7M^xDc`ZaR)zMF?cKJiplVnCI!b67af0^3R0@&)f%eDhl>)4+X7f$ z3hnvP8XM!*KdbJ3Zx$EdMQ%uZug!@xFL~J7@0gY5TOBbje)wQ+nDTd3qVp!Ro0rWH ztr_V^pLUavkdTGz+u)ac&%V|-Pn(pEsG_{$jW*?OFl6tTPe!M2zZ%()E%r!$e8^hz z+cxm*B7wMIZ(PZFxxaOXgbc9^v>_}S^s>7qHxVJ8_+4wtEW~KBhw0FdKw>JAMoJLj90I5km0k_~cSS+eL zk@D8yL+$&t-fiw3Y25xP7&T|w;G_|aE3feFAKa+LO+V4&}yMKIa6a*H9paj|MA`_!b&{)&7W!DD^u{{DoOrq|h~__ra+Vfrq6$*NtPi{yw| z(#9*&bQZ>bBRR*>p$_o6vIv`ocrSD^U~?}uq{d!BQ}jjWy-DAl7&;F7BUq{bE0N~Unu@q@k;Ui>~JelT+su@U(HJoZ7)J1BM?FM zgBv$3$GeJh{6k{Z*J??F%?KKLO>UE?hql95I4rS|kv%nm1cmZ^_hX*EUz*>&k7^b% zJr@2xhfSvCg>iw4p=s7g0*x?DxN9#3AKV&KF0_J>G?RG9hl|@yn)ftwxtxcbxd%^N zMmc{F!uBY4seIgRmR$clzt+ykp6t8*T5jGXumaLElTG*eUI;VYO&0o-T44v*1h&1K z7ya4Er(BVC7Z>^H>N^A0F^VA04Q}iuqdx=rWP%QgmA0k^CjE$OXu2LE%W$FB>LaqU zbJP7|OaSkEVMS;*+wLdv?e5+4J6Y`-G$9Z=Rfcyzw>c8^KmlKry4tq`pvIc;Wcpmu*QN&TuaMIUl zXlp^$Rp}MsT%rI{utsoRVH^dmGBYU2E>5`+66r)M#+NY&dQ~%6RHUn2k)?_7liw7<@P?2pW9DAC1&(9kCuQ!eHfol!M8Y!*PZ4An z{h1$1lm=*v|3MxM;rDzw_ADZ!kzJ&it(Hf%@N1~Az0Tzm7~7YI+s|E*IK_l%mZ&00 z_+WkJTGoCJqNL2NXsB)785$~|)X-}+j(C?Xmd%S>{J=}ik->F`RrbhltHUIxLggZde!ecl zIN~?s@(w%mE$-W(+leKs(?e=80u6d-G2=CkMHa9l_f~$WP>^h+J%-?*oyHV3o*5d3 zC}#WR6RwCawIw%cvJ0Towdy%LNDuXu;hf`VYmL3z@z^)t_qW?r>u!3FuhpkaBioT! z#?smzDrX^E@`XHzep0TY)t=Bd+2u9giiUEp8(?dS$!DcsI)1$K5!!sx96oqpxPL!! zUE=8t?aig8nVD4>;;Wk)@2;gI+nJuhGNRs0&hhOFmu3$f`=gSdj_6f4>F?187EOcx zRa!~$?r63T;3Teztb*rP>B^sS3>V8Iw*)4o9mH1!67W@bc24VB9MO$Bx$d9{KqtK_ zV4HfqUCI*37n{RjG_QstrwI?fqilL>J%^o5F?)pkcepYwMybHC|9SbJe_^VSyDne4 zR11z(9?B+P-inc?SHdh_{sUJz0#OYC0Hg~@Yk(aJ0zd*F05O0lZ4Q32q;%92es6NDuV(- zLjMJ;|9v3Us#me^5c)mp^|zW?Ua^<|Xb1!B(=q^P{^A1O0yY2Wdr1R%@ z+wbb@oa5^MN_?6i3}T}Kklxr=o@Qazj)RM%8gJ^K;+z@@r}YtT$N*=OA(GhFWf)dN zwG^?G$p*b^5JU$qX*hEVJz!NW!IhL|=vwh_(N>npxD1i z$ql?{9Q+pcTKrnWb>Xw?GR!OhN;rl~-Uw}do%0U@iiwg2{VNR=1<=tHQ(uFW7z74b zK$DBPE=@@Yx&|$;1qhMA0^~KQblt4KirMbjP)C>%U83fkc0bZZ-n~cCe59bW!7j<| z=JjN*8Pwxk^3};|@u5`DfLN=xd~mR^O!6%Wniz%vUHa*1VGB8f4^1f}ji5OgzOkP`}jkur(~Z91!v_2R5dw+-tx{^{EjCx+O4p_vnzX1S#P2Nnm1g|c7S zD)C9k9WZ(IOV>k~GTb!?^7bVGtShUeB}l-}?AH`>=L6MUZmM=3;Q3e{pflp5YKKP! zO48Cx@@>8JygoVG);-T%-ec$>*$VeDyFq?+)h{1fBk4n6R@?~it z38a!XGkz*k6&%VxM3Oq3)Y+<_3x4Y`-}B5^7c|Szq1U5v88kMdp>4fxLLE~Vij8yi zrlp_c1s1#|<900C6geQ;F1J&BJCRF1eJ+@VFLc`_ElJ5x-n6i4EIH=v5 z%~aSg^`$SoLm77bvc@g?QFv_?(SYlAk|31*IRIh}Ml^62kjqBlI(t?+6j4EbjOoKLDcVvAGzh|o3VaqUQ)3ZRvsnf+{ zWD97^U|N+oh9*t6S4X`zUMZE4?zVR1*$FlAdVdcC1W`aO$b-H;EsdmazD=CZ7`+^O zABOSr@h7IyT3`$3BH;?dMW*xYSq;&zD{kwAu#E6&NCa8u1B z356`$<`f70m1F^6fO|O11W6Dj5l(|o;+}yU6w!C8a}9v&z~w1Pw{RHDwFkDPL^y?Y zi?KN6Qa}@nac~Tr1p_Z-Awf=@LauRVF@W8~UpENmq#lI-RSN(V!9s}TL9_Q%XTcgf zg_PK7Lmjw{7@WEA48f`d8^R6_#c9)#263te??KMwN(Aw%{LK%=48=0a<}%C&;M1Cn z46*8D8ldP3Y!Yo6ZAy7tPeG8umOKBQM;=@j?{~UkluZi}143L|*inl7DaL71KrwG+ zEOnf*DYZQ+ms<*yNnpl*ZJh5-XQv34fjn+KKIT zW0g3~0@~h@y;u_G883dmTHu$L{_X1dUFILyd(A#od;5Eid%qhC++19pt!CRwihg&N zzHl+|xF4V2CM)xUsrr6L>+|0`V#rIPLlqZ>qUCH~3TfeSO$ZoDx*hQ7{+k!K`gr(K z`Lq=n!66ZxuPE~A3DPMV6O8tAu`I;&Co0Mbyn7fk)b$pfG(k~WLB{S~Ps~dmnqHbj zk}zW6p&*yl{3A+r?8&AfS@5m=gj=_gjYSO!GO6ha-1C)0p|&4HfTHv_Jjyr;#HRUk z&W9rf_(6-N59`HhE5rGtj|bfVX);C;6TD*B(>|$;T2?+H4MykL6P#1}$h<*Nh%Wp~ z4}tzl6q@^u0!ZIa5AEraXiV#=gWqo7$^ol^>P6^N;ic#XFA076(vNk~q2OplA%SLZUJf z3FZ{(`aZk`C%Oy!g?mU?@z>WV}JO66_@@IDO!KD`r-*aDB&QD$!S&8%x6zFO>RX` z=u_YFcaVb-iLL0UC>=z-M|!1>n)Ac1)sn}fCMdY>8TUCwMgVP9;=?WZW8#r(tiba& zjUd6jzPs#GUeQh_=s#YomnIWyYeSSjKkW8`rdXFdV0T>`qCSdDd~N#NHumGd!}9n} zR7*5bU?6}H9_@55wc$&905Tq=zT6z~>yL@ms*7C9+b}xO*ot*7KeF2cZ^b)JzeHRk zvSwetvvGd%+*pnKV`*oxb1%J0sKmnJXxXgQZ|JOCG4rla)Vs&59%8xs^K1{K0(QPz zxYq0HI{ftBsr9TXm=?GZWP4J~Yn3seddm#e#>*U8Pu3|gQ}27nt!=S;5{iQva=>5` zTa=doX+Wa4hexHz8+k1mezrZ9Tlx~0A%gDaZ55w5D!#opz6Rho+{7 zg^#Wpfbv`IcbIYS>UNuy)0``Y&oV0Qi@|lXBc|txs_^F)sY^@pu1mfyynfF{xVg z9+V`CSeXc!oIwhCML?N&1DgbbP7=4kqA!M1yX224HeI~y22R!kw^41SnR&tbG*}~= zSeu>#EhhpxPRU+oah5XKZ9@FCVt>j2vrVjncHy4MV=-g90amhjL!TH9IB!E9gR}HGQa#+4cS2d^~@9m)3s;1jS5CXu^KsZFLjY z?`I+kU~-AUU9`wCF$f_cjvSB`e}VD9YZ@^ zKn9$%c&2g2rydyzHDs)8%T?kJ`yx)=TI${U?B!?Xr>0mE?%h}OTez+3<2PD*A(S$$ zhac*z<5~x3HKDa}VzC(OH4y5eSwT^;6vC9R9W2^}B&QCGa&jg+<7y(_m@fxMU*KaQR3W5{W~LwXaVsFbIrE}WhHObHA~oy8HS32p zJ&h@jj3be3h9P@SAdSKe#(0(tef`%=?A3{_ux425gu~t0Kli9abaqZR7f+?SkUw=F z(9X2-t|KmcWmyh|RJ-B34n^#7Y4Qw2a`mmy+4JAFbH+3u)ACClzQ%_wPLu~PFAfiO zr}$LbYOX++2Y+T#K0faDmu?Ewag;xNGJZ?XO3r?*E`g)G@EjWEjO9!(-z?J@Wn?U_Yn{Kn${v#=gT?Q>{QT6Yxs9%1uSVbwNwx0U|@U zPSFNeiq{N5{4m70#~;7C8^;R5G8Vj?`+^an9Vv_X;vVcIZHTCofy(}_s% ztFbWD2;xA)Hwg*(5h;1kL|^hSI1XMzPh_)ygxa zs*c6^_`Soq6i-eE$S0_-uvk$01wA1;urmx#d&unEGnwKuxRBfWO?LnA*tbw~MklsJEL`g@)M?a{v4CkJKg z`WyUkbnK|n259!l_il4%PNdDj(Nm9HVKZ56ji3T zE-OofktjbTO>?l15p%E`a=-NiKV(U)sx>D#fgjrL4Bo2UYR{|rP}?sh6&)KVHy?ZU z{?+E{@cwJ+j|Xg}kH}(Qr8n~WQh#Vc+pQfhExNU!t-DdL-|kZN9nIV&c!@!Kwq}&> z!5_&m%IKtL$~9NI`c4eVO%oq)o!mbgD?h)He{3G+(`mnbm#~uiJi|v=W!_tQ@u^XC z=jF0ISIt&cDwUczD_Iuk6#PM)4t`gOdg_G1NB&!3-jAx!H>Z`bd7sD5w&ge23MQ1Q zt;Gz=dBpH60zsKwQdiW%x`Hhv%(NEWH)oIci+4%d? zS(;OtJbl=8^uaJlDkT|PTn_#-Fbc52}AAo+V(9?NbgAJG#==G zpd4G6+WX{|S)SO@(c$4uNmVno>&xV|()O@w<*0;Io;#*fE{*$m@wi@MK^Ei{v#lZk zNf}NIdif`&l_Q&19n~~d8kDg>Ynv@D(#tyG^_(mml=F{`Xc1$OHUN10dLz2@>AO+S z&!^9o)$NT`bO!D#77ke2D_@hU9VG!k83`;QcMa1+8JgcxuRo>{ zDqw-wMNaN4Lns=98Oj~}`*rKzbOS(%m;l%T0M}o=u7867l87KuJq>hDF(T-%%*5XS z1AqfqWU9oe9zZS~tu-|X9(m9(h;A1Zdn->y-In3o1bt(*S3VF5$e74>T8NiTd@XG7 zg|!Dv52Kv&9N-`Vb2eF6`54}IW%KPy-$o?_-`${Ii%V!5Ft zFvXh4kFi)%&$7C8l_D|?8C9rpa3L}h&nsjwD?~}jmzK%^bW$)(`YxXFNV@ZRnz6g6 z<5zC?Y9^)hpaR0z@x;cDQE$^i?^P&SMuU0Pi#Xoo815AZbJWFc2!Er#;THXk{JjEz zm%v!z#(4alyPGuYwhv>JdZ-E6NR&^Rxhc08YCSlqCXn<`b$?~tV-EBuY6&08 z4R0aGU7wGd>3q$DNe#Da=R%$eIk=U-nEU)ORN8*j77&`d1uP0hBfSBs^qTbK>cW$F z8h%8cD-E*T*#d^Qc=4|z`(!8#QCH5m^yB#5u{y;Od%nP=OwoS~l65o~1pv6u1_5XR zKqA1sKdTT3Adw>3&?)5%0RT2qmn6@`W*H80LWUxKnb|r$!MV4ly^}>r9+h=ZlzNo$ zP&B-$CciI(9NBq-g6ddkb_Tzp`YbJ3)=iOz-ybV}{SYJ~H2buzbeGu(#=bEhj=bGK z{S84C#wq)>E}ECEbj5YDRw3)qj_O>3A5Ya;AJM3n250d zYLK0f14KDzytC|t=~hcX~{hkEqOBr6Rc>{Pz?M;brEEp+M=cfByG7>WcrZ{?>IJsSfJ$2{WMK+9in# z&5Ao17pSoKkW1=|H|1I;pITjqkJ79REcx1*2xT?5yx%m~nN6bCWYcgyS_Eo}l;qPy zV6?ms?2PQ2n4`Be-L|u*mN(S=nHX;V{T-m|M%ukMZ1S5ggL4W(7nZVFC(4OOQ~6Ff z@(2>LNl)z{-sf>&UjW+o#Llz za1)dTX-nD$sP70Ai4qM>x44UK+xf(vLgJO9$B<3TbN+m7D5Q2Et$OX%%l8=}{+#h1 z*32d1(Fx@xiz)$4iu*?Y`)z+)G70@v`RCsSKLqv|+mJNrtA=Upb`|jXQ>A!5&OfeT z(|!@^cv_30lY!L?L&A@K`KE1By#CcbhGkWKlE}ESuHa)b_JM<<(%*n2?ciPU6BDVo zlTp-smk(xA?FnU~T?ug>gOuM$V=s)@f1bR`{!KSSp%Od7S{`{Ey=VJ|R*cg)Cp14X z1$54FdzKbIlrsI?$13>6Vot&+9GgAcJV$|x*qb;x&`pz**nyRje1Ief3K$*i*ZfMn z{p{w&{Gi2c^Jp`F_o?~mZ-lM$iferF=9S(4-mX>=cO+Dw{8r>CzDy{qqA5qPo$9+k zt*sUqPFeUULF8|)n>^Bk<<-3tw=v^d@W43KK47=*_+)U>_wtH!(C|SqUq8iIm}vRg z*CzCipUdOq$qhBuK#WlRvX^NBNj}j*Qls(lP-5l{Bl%BsZgie0uKx1Rx!hJ)c{#LL zEH9>E4xgdL_3k+th9`S-`>&Y=o&d3Y`<8iU}Jjuj1F0ZHd_}_ zjTKi3MVeryv;@bMqEiCPq&DiN{fMV%)8+-XLO+%cT<|IM%wtAZRBBUJ=C9ZBk6SaU zQBgk6%Y1Dfbs3%4E8qQTTKn2zcB|I#vg~{`h~WC9CK!&oRCdLzIJsu0zMH3>iXSHD zP~hA^XL5C1s%LSNCs{mHm*@Tf8h&mfd4Wz-+s~$wZK7AcXLsB#I_XAw3Pga%&Ec!} zh3m0O<0e-NB5wVF6N|6?{&?`pVa-RaP}kInJnonq(^W-4X5HT#N_o)i#geG^C8^Vq zzT2`rou8O#pXnbFmr@w96HUE&6!aMPEnGS=UiN8#Q_|IaIuo>m9VT{h12y_!j^thwYDJh;i92Qc` z!-WhSG6Y8&++b1D`}BSi$?wGb-08_rt>@?5ekdQ~#y9)*R53}!N8Mu$lYSF+G Dict[str, Any]: - print("Call forward_learn:") + print("Call forward_learn:", flush=True) return super()._forward_learn(data) def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 5e80e251f7..2a8bee0d30 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -1,9 +1,10 @@ from copy import deepcopy from dataclasses import dataclass from time import sleep -import torch +import time import pytest import logging +from typing import Any from ding.data import DequeBuffer from ding.envs import BaseEnvManager @@ -11,18 +12,14 @@ from ding.framework import EventEnum from ding.framework.task import task, Parallel from ding.framework.middleware import data_pusher, OffPolicyLearner, LeagueLearnerCommunicator -from ding.framework.middleware.functional.actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories -from dizoo.distar.config import distar_cfg +from ding.framework.middleware.functional.actor_data import * from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy from ding.league.v2 import BaseLeague +from ding.utils import run_every_s from dizoo.distar.config import distar_cfg -from dizoo.distar.envs import get_fake_rl_trajectory, fake_rl_data_batch_with_last +from dizoo.distar.envs import fake_rl_data_batch_with_last from dizoo.distar.envs.distar_env import DIStarEnv from distar.ctools.utils import read_config -import time -from typing import Any - -logging.getLogger().setLevel(logging.INFO) def prepare_test(): @@ -46,8 +43,8 @@ def policy_fn(): def coordinator_mocker(): - task.on(EventEnum.LEARNER_SEND_META, lambda x: print("test:", x)) - task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: print("test: send model success")) + task.on(EventEnum.LEARNER_SEND_META, lambda x: run_every_s("test:", x)) + task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: run_every_s("test: send model success")) def _coordinator_mocker(ctx): sleep(10) @@ -66,13 +63,11 @@ def actor_mocker(league): def _actor_mocker(ctx): n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] - print("Actor: actor player:", player.player_id) + run_every_s(5, "Actor: actor player:", player.player_id) for _ in range(24): meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) data = fake_rl_data_batch_with_last() actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) - - # data = fake_rl_data_batch_with_last() # actor_data = TestActorData(env_step=0, train_data=data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) sleep(9) @@ -81,9 +76,11 @@ def _actor_mocker(ctx): def _main(): - logging.disable(logging.WARNING) + logging.getLogger().setLevel(logging.DEBUG) cfg, env_fn, policy_fn = prepare_test() league = BaseLeague(cfg.policy.other.league) + n_players = len(league.active_players_ids) + print("League: n_players: ", n_players) with task.start(async_mode=True, ctx=BattleContext()): if task.router.node_id == 0: @@ -93,8 +90,6 @@ def _main(): else: cfg.policy.collect.unroll_len = 1 buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - n_players = len(league.active_players_ids) - print("League: n_players: ", n_players) player = league.active_players[task.router.node_id % n_players] policy = policy_fn() task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index e02906358a..a5e488f9ec 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -66,8 +66,7 @@ def collect_policy_fn(cls): def main(): - logging.disable(logging.WARNING) - # cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() + logging.getLogger().setLevel(logging.INFO) league = BaseLeague(cfg.policy.other.league) N_PLAYERS = len(league.active_players_ids) print("League: n_players =", N_PLAYERS) @@ -97,8 +96,8 @@ def main(): @pytest.mark.unittest def test_league_pipeline(): - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(main) if __name__ == "__main__": - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(main) diff --git a/ding/utils/__init__.py b/ding/utils/__init__.py index b4229c4982..b0d8508cb6 100644 --- a/ding/utils/__init__.py +++ b/ding/utils/__init__.py @@ -29,6 +29,7 @@ from .type_helper import SequenceType from .render_helper import render, fps from .fast_copy import fastcopy +from .sparse_logging import log_every_n, log_every_sec if ding.enable_linklink: from .linklink_dist_helper import get_rank, get_world_size, dist_mode, dist_init, dist_finalize, \ diff --git a/ding/utils/data/collate_fn.py b/ding/utils/data/collate_fn.py index a6c61f8d1b..dd41637016 100644 --- a/ding/utils/data/collate_fn.py +++ b/ding/utils/data/collate_fn.py @@ -7,6 +7,7 @@ from torch._six import string_classes import collections.abc as container_abcs from ding.compatibility import torch_ge_131 +from easydict import EasyDict int_classes = int np_str_obj_array_pattern = re.compile(r'[SaUO]') @@ -62,6 +63,13 @@ def default_collate( """ elem = batch[0] + # if isinstance(elem, dict): + # for key, val in elem.items(): + # if isinstance(val, torch.Tensor): + # print("{}: {}".format(key, print(val.size()))) + # elif isinstance(val, EasyDict): + # print("{}: {}".format(key, val.keys())) + elem_type = type(elem) if isinstance(batch, ttorch.Tensor): return batch.json() @@ -75,6 +83,9 @@ def default_collate( out = elem.new(storage) if elem.shape == (1, ) and cat_1dim: # reshape (B, 1) -> (B) + # print("debug:", batch) + # print("debug:", len(batch)) + # print("debug:", len(batch[0])) return torch.cat(batch, dim, out=out) # return torch.stack(batch, 0, out=out) else: diff --git a/ding/utils/log_helper.py b/ding/utils/log_helper.py index 9ba7e0cddf..904b0f88e7 100644 --- a/ding/utils/log_helper.py +++ b/ding/utils/log_helper.py @@ -1,7 +1,7 @@ import json from ditk import logging import os -from typing import Optional, Tuple, Union, Dict, Any +from typing import Callable, Optional, Tuple, Union, Dict, Any import ditk.logging import numpy as np diff --git a/ding/utils/sparse_logging.py b/ding/utils/sparse_logging.py new file mode 100644 index 0000000000..cd7fb20c9a --- /dev/null +++ b/ding/utils/sparse_logging.py @@ -0,0 +1,70 @@ +from ditk import logging +import itertools +import timeit + +_log_counter_per_token = {} +_log_timer_per_token = {} + + +def _get_next_log_count_per_token(token): + """Wrapper for _log_counter_per_token. Thread-safe. + Args: + token: The token for which to look up the count. + Returns: + The number of times this function has been called with + *token* as an argument (starting at 0). + """ + # Can't use a defaultdict because defaultdict isn't atomic, whereas + # setdefault is. + return next(_log_counter_per_token.setdefault(token, itertools.count())) + + +def _seconds_have_elapsed(token, num_seconds): + """Tests if 'num_seconds' have passed since 'token' was requested. + Not strictly thread-safe - may log with the wrong frequency if called + concurrently from multiple threads. Accuracy depends on resolution of + 'timeit.default_timer()'. + Always returns True on the first call for a given 'token'. + Args: + token: The token for which to look up the count. + num_seconds: The number of seconds to test for. + Returns: + Whether it has been >= 'num_seconds' since 'token' was last requested. + """ + now = timeit.default_timer() + then = _log_timer_per_token.get(token, None) + if then is None or (now - then) >= num_seconds: + _log_timer_per_token[token] = now + return True + else: + return False + + +def log_every_n(level, n, msg, *args): + """Logs 'msg % args' at level 'level' once per 'n' times. + Logs the 1st call, (N+1)st call, (2N+1)st call, etc. + Not threadsafe. + Args: + level: int, the absl logging level at which to log. + msg: str, the message to be logged. + n: int, the number of times this should be called before it is logged. + *args: The args to be substituted into the msg. + """ + count = _get_next_log_count_per_token(logging.getLogger().findCaller()) + if count % n == 0: + logging.log(level, msg, *args) + + +def log_every_sec(level, n_seconds, msg, *args): + """Logs 'msg % args' at level 'level' iff 'n_seconds' elapsed since last call. + Logs the first call, logs subsequent calls if 'n' seconds have elapsed since + the last logging call from the same call site (file + line). Not thread-safe. + Args: + level: int, the absl logging level at which to log. + msg: str, the message to be logged. + n_seconds: float or int, seconds which should elapse before logging again. + *args: The args to be substituted into the msg. + """ + should_log = _seconds_have_elapsed(logging.getLogger().findCaller(), n_seconds) + if should_log: + logging.log(level, msg, *args) diff --git a/ding/utils/tests/test_sparse_logging.py b/ding/utils/tests/test_sparse_logging.py new file mode 100644 index 0000000000..83294ccaa9 --- /dev/null +++ b/ding/utils/tests/test_sparse_logging.py @@ -0,0 +1,13 @@ +import pytest +import logging +import time +from ding.utils import log_every_n, log_every_sec + +if __name__ == "__main__": + logging.getLogger().setLevel(logging.INFO) + for i in range(30): + log_every_n(logging.INFO, 5, "abc_{}".format(i)) + + for i in range(30): + time.sleep(0.1) + log_every_sec(logging.INFO, 1, "abc_{}".format(i)) diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index 0b532f2da3..c462d3d671 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -48,7 +48,7 @@ }, 'multi_gpu': False, 'epoch_per_collect': 10, - 'batch_size': 16, + 'batch_size': 3, 'learning_rate': 1e-05, 'value_weight': 0.5, 'entropy_weight': 0.0, @@ -105,7 +105,7 @@ 'player_category': ['default'], 'path_policy': 'league_demo/ckpt', 'active_players': { - 'main_player': 2 + 'main_player': 1 }, 'main_player': { 'one_phase_step': 10, # 20 From 4ef8ea8adf2d75d4daf71897836459d2a11b3468 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 23 Jun 2022 19:26:11 +0800 Subject: [PATCH 155/229] rm exp files --- ...5d0326-f2a0-11ec-8459-4649caa90281.SC2Replay | Bin 37685 -> 0 bytes ...5cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay | Bin 31275 -> 0 bytes ...9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay | Bin 27882 -> 0 bytes ...df0152-f2a6-11ec-91ba-4649caa90281.SC2Replay | Bin 30063 -> 0 bytes ...f03286-f2a7-11ec-8470-4649caa90281.SC2Replay | Bin 28645 -> 0 bytes ...917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay | Bin 24589 -> 0 bytes ...54612a-f2ac-11ec-86b3-4649caa90281.SC2Replay | Bin 32590 -> 0 bytes ...ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay | Bin 25855 -> 0 bytes ...b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay | Bin 38276 -> 0 bytes ...b92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay | Bin 35811 -> 0 bytes ...518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay | Bin 23847 -> 0 bytes ...ed55ea-f2ae-11ec-86b3-4649caa90281.SC2Replay | Bin 33907 -> 0 bytes ...bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay | Bin 30636 -> 0 bytes ...02134e-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 40374 -> 0 bytes ...9bd2a6-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 34231 -> 0 bytes ...f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay | Bin 18039 -> 0 bytes ...2b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay | Bin 20040 -> 0 bytes ...44d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay | Bin 26345 -> 0 bytes ...92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay | Bin 32690 -> 0 bytes ...357866-f2b2-11ec-86b3-4649caa90281.SC2Replay | Bin 34946 -> 0 bytes ...b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay | Bin 33849 -> 0 bytes ...7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay | Bin 22660 -> 0 bytes ...a174b8-f2b4-11ec-86b3-4649caa90281.SC2Replay | Bin 24288 -> 0 bytes ...c05650-f2b4-11ec-86b3-4649caa90281.SC2Replay | Bin 34888 -> 0 bytes ...d4ff90-f2b5-11ec-86b3-4649caa90281.SC2Replay | Bin 19083 -> 0 bytes ...e3669c-f2b5-11ec-86b3-4649caa90281.SC2Replay | Bin 35443 -> 0 bytes ...3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay | Bin 18334 -> 0 bytes 27 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-43-37_a9df0152-f2a6-11ec-91ba-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-22-33_1a54612a-f2ac-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-42-03_d3ed55ea-f2ae-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-55-28_b39bd2a6-f2b0-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-21-20_50a174b8-f2b4-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-27-46_36d4ff90-f2b5-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-32-50_ebe3669c-f2b5-11ec-86b3-4649caa90281.SC2Replay delete mode 100644 ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay diff --git a/ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-10/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-02-57-22_345d0326-f2a0-11ec-8459-4649caa90281.SC2Replay deleted file mode 100644 index c8ef8006f963155f70cf13d85b89709ebaa53c81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37685 zcmeFXWl)^Y)-O7^%b>#`8DMaS!3n_`WN>$PmjHnzgS$)c;O?#o1ShxzcMGl|5Fsc3 z_dUC6pHrvKy`S!vyH`EctF^kH-&(!as_sT;Xi@`E0RR9x0O0+XVUPe&IkkN(y=1*C z?R+3gN)Rtw4;RY-YCb+x4153%Dk=^(Iu02o4gecxE*}T?p9CET9TR6F4Idj51s4Mq z6&2EvW9nZ1`Cgveixl{=$E6AXpI(Ij)%16Y|AmM#|Ci!_3jaaiKM4GPhyX%E6Fl>G zKEXr)01bcv5RChqPXGWQf9r_q*G z3IK>C>(kDi(B~gH*@$;J3GfEW(I$@P^wHkITQdRQ(~gn5E`T}8hXSCF*jDxGYMR<#vN9f|OjNlQOXS&P!YDvPR}N|B(ZkV^wIiTqgyYIF{gl89#RYVcBBR(MplGNJGWU-1?Yr5^gZDk&&W4E3*(PQ7srbj>Kx`JeVzPhZfZa`=hKGz~t+b~5C$!i5Q~ zl8|zAEU(#{nijnlzokXG3wZyV7-o70+W+GA|3VCapQ;3MbEMRoCG+V0Fc=jGnCbvL zaitG~@ja^)azxi&SePNG_{UoTW(fXC0ZiIsC5z80VFW}PC?^0kDa`nPBnXg_k#7dW zqxs{mjaa8x(KsNPG=KN`e2vJO|Kw@+hD-Y;4Yx?^=aWGbe$0-Uv215%KF*>$? z4~Jt;-zOiNXkL|)2-CqjR^lS_jnwMTp8|GV#rokhbk`0|h2{=o>S4%;4SI_Vo<47e z=Um$JGUWumD!9JEY>TxH$lq5NNiQr9dhl7_6a_oIv+Y>I2E9?`t^e#8;DXdNv<57M z3dDG-Jy2yLyl9VQ3h-roF$QHaKr{+Tb2AjN1G3Mqv{yu9uj=?EJ?L9)`p@H@1>P5XNn7e$79pH#eAfxX?MeE~55zT=t3YE;3NuiV>9cBPFf7QQLs1O^v ziak1t9}mXN{s&V4G^uP>)d{QOFT(RuV4?EA&YvR57^JMz&A$D*F$4|ckr>&L!h`EmUe`1O%cp!@m=h0ol!vmYnw1g-Fos9TV3L8`G5GI!} zm0cqeCMLzVoc5_tPLBk15@&NLQ!%QA5?)c;l*x$-(ZZBp_%!dfj$T|L{4OkuDma3{ z4JX_g1kC|_3K>k&Gel7;8z@ln{TxzZS}Z`43lXt+sm72kgOKTP?%U!YNj1w>7?2ul!!P`8UKxRIqOVC}My9(stV* z$`$m25DxfQ`Wx#j@Na~K>VvI;9F-cCavkYI=|M*>q%HvdTbTg>%=o`K5wK%fsI06k zqZB`2W(Mpq3P1@P#Ee8kz-AmA9BdpgrNCe`1Qh_ln~9uZ*J2LKVU8|lsVruWh>$KU z0L&%KVJ=gpnAkIhodkM4 zy!s*UD7wI9pJnSX|K(oKd~s=~FsU(3o8vOBlZPorNl8LSejLp2%mSJkG;sGl*C(kt z)9S@()^d4rO7T_OFN}N0DA@Z*@H>_FBvU;&k=>qVi+QpDQ#(xq=<))C3=k&&WmE$n zGTnROVo$anz~6`>`tFYP{Un5*uqU`X*tdjGZ9NjBuzA`WDG}2P=tDo9eV4M`G(!du zKuLY6G3tHaH15slupwcO(b?L$@?_Pl{`zf-#=1C0Gf>8E&W7#xb*A!!qEBW2aK7`Q z$(WPfkBdph1HPTsHV+UX@NLQ4IxzF&XC*%!lgw{(rmSO<*`tgHzjb&HclhSBe723$^ORNept!e+01Gq ziQ!@Qk*KUP=nEh9uu7`bS2zD^vc-zchl?!;y0jHC4Uj1-^!-s2UJM*bE6m^G`zKQjnjBuKl3e;W(I;rGo{jQ~N>Roow)akT^?UFHz|Ho7}U^Lo5Jr zn}0U{|DCoipB@6;rNkUsW>}C!yjcI3Sd?e4$tufTXJEq-zUx*p=jGlOoP?sdUMolo z30@HZ0B3my$%@7L+HDFwuna)Az)D;IIE_Mmi7mt@yZ;?PcX+}+jlO|=j(J8g&5e89 zCZ3C>FgGjpe7%9jta}>(z;gLJi3eSx?2>K8;M|AdQ|Z?CI&<~4s{9T6{(wEQg1*1) zf0w~L6dp?b%)3LpJ1wRRfZzucpcJM`&5!~Bs+kBF%5wx5l*)_~HZv3zv0 zLLH{Pu)HXQQ@I^kd8}9h#zekQhPg6ImsgfoIJW-PY(WVbQW>b$D_fyd#B=63S3wxq zu>eiV;cwK1|Bu=GuZau(NztVK`TjaBwgadZ`4&y5#aSe#e5@5C;pX zJ0uKD1qy}0T%|@Glgr}44j@1#P8oy`Ga@bv#E1^F`MW(*7un>ZqhVR3{S^)XFrrv) z_3zK|GBYDUfWQCp50L_JLSTb^CFz%rHH|RcmfzRPR#qSvZ%aqN=;guCrF|Cyc4T~2{0dPKc_MX}RWeo#i~k!w0=_-3JPB2-OqDJR#h#Zgpew+X zqSju3%`eO=EWARlB47RW$qQ(R3I|xAf39CzL?pWcr!RVPsUzv=z6W!RM;xwbOT=99 zRuaK>n=z2o!5OFr9ycv)HIwEB)DDtC_2gybQ43gRlw-;mcB=|YNQto>imz^Ae|qQn z1erb;)vYDB@xSm?=qvfyd!%a3p|j`o{0(a)TxFf}{u5rv`=1?ob|4A;dMt@cAsZBy zeKQ*D5Yp@~j=d*oB=F4CujeHs0;=%RrtJ1@jh%$UADsj2%;bD~V@~-OXswsRXMmQs zJ`-P-C@6r!*S8P@0@VgioYoqF{rmiNB&Wwt`~w-s8=s9fBvEILliRy=+3qc2>j)j% zPJ58X%Z(@Y7Fh%?Id@@elt6T>{8an>x&*18iwCEb)NZRtYlsV zq!D~h=uzmMrBSr+hK=F^Uu?BYM2UV_lVgpFq_cC8gH;jp>Y@(pXq3vMN*PEi{szik z$?1N-B1I>^6D-Ahz`Daj-}!bIeBY%-*q~JaMUtTEl0}bpk=aOf;KGAXOZ{&5Z;6J> ztG&FcDT(x+cw82pXeaRU9wqYMWO97+KRpfBZC*MvV2G8t(2I%AV?zhjb7W>7;->N8 z9bQd4)*oKho7K95X7KgAQKc_+z>KNflAm}zT-6LN6L+89-aMUI>=^a=A@_sDuh4jD z2Gs`#MUQi|iy(J>&j;l<(1w6~CO^O0m8CNTa$%%FW~21u60nl9 zn8*_gkKm42bvY_DYaZ?|p)P*UX|>RLgvj}LxjI|BQ(g0Uia%7m#rymnm8AM>>b>|m z4L3C4;-n@>letIwBD;ko$mTS5@|PO%FA|Iout!-7iT9az5#l%E#d-dq@GT@KC*Wc$ zq~qfBWBYkM-r?Fqe`)>Q!Jq38e-m1(lZDa%dC%v5h#w^n^Cl`nZh3+`T;IcBPrz>n zHyMjwDmsC2`;WLo`E!HuBv9o*_?!3_(-+x3wM#08>F*Ex zzWQ_pxeGUlPgB?5F?3jbFyF;F6nfk$`g649ekP*zvHiZn_cvYpyV&XGixu-Dr*8$P zxj~t9M1_l4``urH;+}e6PYJxG9CE+NIeaPT!gO@Q%tWN$?Dl={jsC27^)Y$OAMh68 zkv-3x)be@RE6Ln^O0&tRk1rDA5zvQ^$%b`*3Z@hL7w&$ypdSXcy*>@mZ#$G;c01aFI;qd6eUCrgI=Ns+UwSiR6ubS@YR%NqJj((!g z?VOq|9dPjeS$+7C<}`KUSF;&~5epzHt^XMx1P#hZn{@v0Wv!>qOBvm~8O_-_deV5; zSHk~OG!IYf@0A9yS7(d3Dckms*UqN(Brh~Wvxo1yPfhDsSXp{rG$i-XVM;uW2w!O( z7rl^ubPAfr8~8bJe&PPIqig-p_ufnI<6Ov`@YW5FmwTW@LOEX6K&1DZ^N-&4pl;vp zxt}IjH3SEKxyO=je#syAbVfW7=K5B?qnkoG*|ZtPffCJ+`4op+No!r+rB-TNhB-3z zK{S!5rc1xH#Ciydr*0fcw|~ER8(i;PzVje~@jK(@#*yqW>y`huXy@1p-CflkXoBHosmHkc7#fUofGdkf^5E~=ajvA|a{);A=O zd{&0vCM>$oKe2L$p{)+S+V181$#$(lyvz{ETG$8(0{SIM+QhsU0KT%rX7w-M*u^>f zPL}W$XXoKWQ-V%g7Lw;lw@({Y-WeSg$MTZ(Q3FE)sGbI4@n5d@75^hDl_^eyVu59d zAsMu(6}<>JIQeMGvM?Ih8EsS4p}L8r8^*~mO1RS>TT&)ey1OEYs(9+cF$)Le=V}kp z9sw!R=qW#h8)~$!ChWX2Ha$Ij*_kpC588DCuG4p?uVqNB6gJ2dCRn>2ByOytjTrwpN#~lMc^Ec+sBFy4#3BIyC$PY#&!h+>=1#p!?tQrG}muHPXxb$t|nrw3#h`$#fbhhs&^+md57onlqzG=X?WEiJFJQ}A2 z@Dflbc@tS%w(P9>RKy_+0;1GYFhJ9V)%0G{cV)OQWyEl3Fg8m zp@lOG;6!YG(|gd+ZSL-h(DHERf)RW`Utm6P_`8cQ{Q-fys?u>GzA1!1#w7%U?{7Rz99@f3=pKQCcN$4_5dORjUa>bGJZb; z=Ttn$S=@HB=g;T8*f~H=+TN;Di@#RgPBF_(o>3c$%_ltL0#dHEcT~iinKR{2mYM8! zId*&wlG-j>cNy$YYN|u1xv|q%!6J$9Wpd5N^@e{SyVyr`;|yKGDTJo2&kAR2`(<%3 z-ZT)e+LzpZ`Szh}gXTirnZ_r5R=mc6akd>N*NGMUp&0~SVuiVBVmpT~1(5re+`n_x z0}Xt1g2r)Ob)+Z=miIEE;D`+Wy45Sj!m>_%^;woOXQIz@;BM%~oMgohNl#+?%_Y=H~1t z0JBz2wYqmna2Z&egCDJ(D1;h zQ6J#yM}Cmdyu1RDDq0%} ze*qmlPhbF5o;+4TrbrTPHgB_ z*%i%&J63DJ+MEvP&S%h-qQ{+l*UT@^9QFF#C(yPdw0kcfL1rX#L!HfiF;urUbg(@@ z+Y=CwU36;alzRS0XZqlfAup4poY!C-Ex z`Rtu7#3J#DyQycuN!&TRBHD+6635ez!s4Ffrg03XUPA@cE&@tMw4#`{44l~^r6?&z)5t ziUktXoQAUN9X+8?MPS83N^!u>tnOakRQKZbWx9w*^yfw>5aS2A**@a5%CHZ_`7obpO8uGAD%flppT)ZOv1CR{5Dd|v&E ztRkn8KKvCnsB%nd5N|26+b9Nr|Ieylxb=~j*B~8l^=kRB*xPn$`0RVMthB7Px8KXSoly?TWvXa4z#e@ex*Tj?81cRcKmy8wy z%|%t3EEc35^1@Cv7`}4{2Kb+5AAc=wV*bwM#YsgFmV4s#k|@xZF_tK`J7B64r)74M z8e)_@B;AMb@ihWDo8;M;$a^YHV`=9t`)qgCk?0OCImy_M{x$D)cIR7RKG&Zsa&@m{ zV;&gE+~wWX#Zr1Hu^Y9g@ZO5kf#^x9>W*+?_;~RgQ#qN_p)PYO!>4MVhYXECdO!z5 zQMo3^2->1Y)IHbUzzn7Mv_$*}3z^MfUS~a`zphwq@itUWBVA<8x3OiANVLr7F2<+M z4lgz{#Ke+{ipmFzH$ZQm9y%ws=rtlm(a^f>BMw!9Al-DKh!74L3_962@Kk+EFJYQ60y+^z;i5-;iqn7eG)BGmSDi ziZ_&@$xE)FsH5x&$VZr3QM6D0MVdp|HtijtA5Y>0Ux66X&j5vUIzd zT$#Db#h~IzzrgLsGuD+}ygWlTVLi81A0jw;6z(hqBn)KRSpno7C=BciURTM&PuXGM z!)I4WlFu4uz9j+i;^VMlYAHu4=wzUWzYG@e4LMd;f`V~JO9LxXnUYFHW8n-Wm^`T0 z%ob#sti_mk=pa^7ATKbN8rMta`B0rg3iAn9R&f4o;pzn@KZQq?WwAYta}c4zmBfoY ze^InHD4`3+?DLAYSe;s-@2g8Ct(c2G^+I<#lP=kYQ7bTm*yZ&m?YX0lZ>>SH_|T|+ z?64H(Mv?*IpRZROOWH9aT)_XEJBoJ6pZ6WJoSPXo>X!F6|JEoyb=-DkQ@g5s{NzE}$+q zBN}GYhaD4;VDN*Cz+++GXxoW9%_gJ{?<*J~-d=iHFL)j34DYQYPZBEP0%vK;Sqp&9 zDSa0lz0xx9?aEF~H^%wujx@XE#cMmAI>DU^!v|&?=jT=T3h@pL&}d8*pr(S|=qN*x z^kH500ho5t#ofNWQExMdt+65%%-XzJ6-f7)oU}_=Y9Bdt8p)5R5s*}of?{o{Ln&>K z`b!-La8Acas6!@|1ht#Q)xam+LS08mki+|Xj!~w`xhbdU36a`RsEP`oCEJ8cdr9$D z89t`=XgE0#FJxc%HNnTIKvK|WhPEM01zc8a3?(TI%S`! z(4uC-D{lnWK7Ky-mKZFXt}8W-!_x;`fpDzftRoe}y_?Sh0mo#$BYo~z_~nkipHgAI?^=I2 zFy`cIfi(^;ULNRTiS1%b@#ovMw^#M9t$}8%JDCrexmuchzSy!_m22J}?2~E|#A+00 z66IuuB8QW%NjHa1du>u3w_#-^x~G)`Xd9LSB-<4sVa;uCP-bJqIqL0Qw2`B-C^Zq>Bi2a@*q9KGL=0N z(^8C;iBp= zK~42HdD+1@Ir$vfqS7L%!;5f}&aRV^-HBvD`S{%pMP<^o(|jv6>>n2tuH1~F$AR5J2o_QhM|0T5t!|UU zuQy9_=|s-YS@vH@ul!IO7|wj;y384JG5h^+KR{TrR#|7?4zh-d30VjTU%c33kt}{}Ooh!;>fYn%335>EOdy{WxTdn4dm6 zZ0P32_1$9qe9-$3Z-0NxeDibr$L6`&IWViBZz6(G0Eg5DhXPb=iA|gaQh|~TuJEE~ zOBIj+*;2yuoXtHR{yYaW;!q_^$vg_zJ^ZPA^SvK?*H?qCfVI`q3CX*SW>J*I}CWvoYC8bI}^08644RHPF&*^N9 z9tX-cqoJtp?u^1N{FAR}xa$oB#^J<%7_>-qt)e z8x~B0jZ2=@`0;{~9LA0eKl;SoIj(oNEtZzj5Z=9x1kuxvisJLX9yKu2Zxb~OD=Vj* ze*C6*Co-x)92DtBoQw&~A@?5JQ@2&+{ryghQfo?{JE%lzFSBjlb(H_&r>J5^CY-eQpTl~GXG7^KrurSssH)@Wk!)IBiMr*r9j z(H5KOx|r;ZEJ`;2m>F@1--78?Uovm=89a zBvpVr=^NSNc&UOZfa-RAoJe6LFHBdn5kI>-%EAPIwy)QjMd^u( z7?)x5v;@@z_R{dK!bKIF?(*c_IgI&hc;RiYYSh7ycbHqvF)IRZH-8(PZs?`3&qmTO zzgjsp)Iu{la}xr7q0Bv+_Bo&^m6QFI41Am$2YMnnONitx`%p z=cJkFyTHCD)+z{>!n&T-4ntp;BM@v_l-Wi(w_sFwR7SgGBzwbF!NHeU$bWQ~oq9?0 z(e|l4aN6@`$o2UAna!j9INR#8u*n>mv8dP0A0=@8!z^{R%D^kCHPj&Gi#bRQCChF`=K4pd>MSh9_lCp*Q3< zGhQ3rAv2@)yUS%}D11)hKH)e-QXEh=$IADtw8X0QqBj-e1_XYlhi5WmiR{G;m6@At zWbAhMSdVTHmgeS{YQty3!`hlsoeT^$%CYcBs!ey7C-YFRMw!>ySKfF*-=B`dBD ztMl^KLaiBW&`G^{Tg?`0g;qzdnwjLv;Ph&QGW!~6wxShWE#JmDzJ_o#v}=sjb98kj zcQIg^qD3RB>3u>&&$p)Vh>XV>o6OHMu(d%>QvU{Da5W>%x->=$+%WUb<0H zET{iQgIiIQ($DepwDLEjo^J%AbJT#-POFq;62gmFP-6sDQX3{_XW8yAj-O z+m)4Pcdmr%x!;KJFB8`ThaK9*=idZ{ro2e{AaIoMGBW!$DOr{C^dlcY>f=TUV(7EiwGA~Ub3&hmeQ_+996{g0g+MufcPKFmmhF`k z?G$TPcy-j^jvsxHLmJ^V9CV2)l!5jq< zF<-N(v>{nKqnJ{oR9KLG{Nkjsyr- zG^+~FqF8d}pfbc7zlr!D?(a7(JiU2QY%*OyJx6X?nhR#-|^bVoX_2cy*PnS4PxCP;_g#kS&4#e$TN2E$}q)FRN4rwGw{ z@94hs+UmT$l}s9kj9lN>dn@+n;O)qv1l?t|JGW*B;GXX7sfrX}(0Z05%aSQwjx(?r zk!dhb<>C+zw?Gtx(M!PDSPOuXzn0ex80tsU1c_fC*T>J`taPkfHd7Kgyl43xI%0+% z3;k6+xMIOtiHRj$m4-jt9Xs?~mpm$3xTYaHnql|VpcoZ+hF%pvcSoUVfuo&|Dh7?1 zwyhj4F29N~S)7?p(7w2lvEK0|MYHV8$Q8BF*W?E~G!!%{=f6mXmf*KHN-lME&}f-8 zLInO$)vJ5bdgh$Ew&s6L>t_^GtV`)MfHs7zs~*y-EOEYs9#=h`c?^y89wiu=0GwAm;`EJcIEFlvFE<3WbRg)mFq z_=UvB)V+Ds%;T83<~SW|JaiklazAkzFFrdI&k?tlzmfqC_aieWviHx4)b3UIbs7*Q z0r9)m$A&A>@m1hJqnvEzy$%8qrg)ocn@g$AKKytg+ntt^7_&u9c_2*)&PK~qOf(a8PgOdVsMJ)AMuX;bgHX8?Ft#POfqS5rE3lx-S2qu_l1a_9?BgsD zcH5r4)?c@qFHx9ry8Z|eKtG$H{r?T?b08EL~eq(JoV=` z=qPS%<@ZIxP1eLQkS82jt;7Dqo^A4dLLzND&W!PGg1NCPyA-NT&~~u2NH}+#nY*yu zRDm$=RXe4I?en5*uSBpLp`#q@QE8MAdO``FQC}Fw3dBcj#h3=dA;RM!Pwo8jP?v1g z0m&^Tlt;2xmbU(dNEH_CMNEZN_OJr6!jEoiF=S`sPT=c+FCdn4#qf2YjL*nPT#{Uz zk!}W-STtNQjV|&)eR}7&B z`Jk_nGdJEsuNwY|x{uZ(EE0vJ`b??22*3vABc8F@REl*eo6>YyU1ipjUw6VnA6_+bC!qDqu#nc2hLaGNVOT-&HyIPGqzN@7IBBNl@N-cu2gGy+t?G4ORhM-` z<2$RrxbCwh1!qV(qNWsq#&f>0ka&HNs7JhPR!ukP$uPvp2X*oUK;z>0sL<&rI5C1BaCmle5R+T8QjHt~T;6e6k+LLbd|?yaTFx0EWA%*{f47<2rOE&d8dok` z$5c)?sjKUC-Biq8TXWrC+>Mvg-9C!+49VKASEG#yi&R6u&A{%0e4}8S{hWI+u4z&_ zo_wIIMWd!jzT2FNt;7H)3v0#yDrU*Ay0|!r&n=wuJtO{h7xTNY5aowpZ3w|Y8n4Et z4Pr30Rjj{UxHo}m3~an?g44V_T0)bOOq?gqD$>P_d9t5D6Ffl%4u;@IGeg>ogbpa~ zZfkqRD)nuXhRDFG4XhD(01~BQm9FR1V$#dTzp){W(QIWP)HOs7K2m?AAVC}hK(^!?Lu-Yl#HL>knU1N1Z8bKo~wg#OTn)oCo=3OFkXmdy-k0TJBqveBpVB`%@ zC8qYkz(A3S=NjZ7r}$=c=j`U}U$GElbc+&(+HX2)iQ(IoiPx|*~xhrTh_gGV9z@xP@B;4#@evQ^i&@hB?Xo$*nLgBM7rM;uE#B$dEUbsj&7m-}- z+Pd}%ro`&ixYjMI?aLQ#bV&;kht?ey752;PR{-bsO`u@6a!3dc_D0mkbr_ zv9s0~EH2JL;NCUKjcB4C!xu*{JELa1j_iGCxpS~5=(&C4mCUx@306(k8V{DJqH<7E zlQIHZ$ZRq-<1Av>_+o;C+d7P?oo;H*nd8vK&egA;NZ!)oi#+t?Ic41He_rL5Z)~$G z7z}?t6IQ{iY{YJZ&Cvfdv~^7AL2v&&$Yh}Z*UUY?`ed3Ondt5S{`!V{-UdOKJ*Ssw zk^^(U#rCiMGKECc(6_X0$%YI{(#UMfkx%rRVK{tRl}QiGIX^e;ZNEj7B`2=E5%_)y z7kEvjpRLHlY#fE}`fZpuOj|WP5TsFOFhxi89Xl&p75{iM$IFte3IR@vpv^b7(_w;B zw(!SUVmX6fAfIHkRC@+py-p1N6k^v$7%fyLitR?1O9lhjbUVX*{+#-nj#YC{_QMuG zxnvF|*U&^F{eY4<3Mki9FbldBM@Oyui8=6#yB7^9&H`I%x|~;I-))k&h&3dy6?*rN z>Rx+`_}CX&(M9L6w3e?7Rx}g5g)RO`Lx*t5AhAbe*5j6m!)XdNs=3bZ6Axf79W9Fn;<73QXvQfQ4wRGWt$5|%9<6>&K@e*|Vq1%%5=@GiRl0+j zQNNwHcDq(j0MsBNoA%#yE1Fh~N7vSf>qFE*FEC1yZq@OU;uJAmR3D~gua{9PHZTrI zJc9`;Y{O!2>FoP->ji^9$2EjOIb@_qB_eAr!Uu7wYP-7nyQ3F3R}ar?v$(()SzrBL zkZcW{KmH!O{B4%I;n)W$Y5%0EYf3Uf$B1=BZwFc5il(yk79+giNn+v|kHyp+ zN^+Wf{Ch5Fn(X#{X@#-vW{+a&PoAgh-f1yL_r+J1e?r?j%Q^1BwgJ`x&hph~6#_Vz z=d)3pq1Ql)z}B()wkb(_gj z+!V@|7oxga59l-_=d4dyETg%eLq5`P zI$wRC%zop-Z6_3VRc-6@4B@?nrMmwmbOUaXXz7QRCOICCLQJ|sO z(M<7$1d(Q~>^90KiZ}24INe|idJ=CHskl{mIGgBGLpyp0I6@uQl)z7LkK+wOs%q1cU>otPYyNPN-qRcI|t8MVWIx;rjH zI7+yp6iSh>5!(s`eUfDit{QhauAVLwho4Qi*-{A)f81idd?1I~Kb@L*VpN)8EYHiD zXJ+{{XH0yL|FODv+~Xa4P{7Lz3&?KufhU!7$;TOMJ>#uNy2-V>biw9(pq!#nK!cw0 zGPm~&gsfiWkluZ16K(Nv<_Ws+N2J+`I1r3P`~GSdVWL*!jxZw=M9}+qlSM^zh0{}= zsPb$m{}j5k5ul@QzFDc57fbB|wJU$~v@?3GCF$Z*Z0T`QdBy;j%0ngNCrfQ=($?rc z>TuZ1oM5)^u8=*f=x6v5@=k+$bsn$q{Yi^-MmTJ_hhWU+ zeNpPlOnPt4lhhrPI;9wF*EG4(w~F6K6Ph9rC#Td*Sx9%PIUXBjt zW;>;7ox#zY;mIkNbsZQtJVC?&L@uRs%MUb18r`ca`f3S?bKa}>7nqq3Dl`s@5+vlx z+z!zQ-FrrgUUzFJ7{SuYg&FoZ8{5nJIoaj;27^Yt_Z3{soTD}?X=4@?oB-5;&w-H{;@H%ZOC9O^Ecm2E#E^Oh9#XnNHX@7ZWQ*aZ z56YTHy4FX(Wfyn%ZsKIyn50wGz437wf(r1T{UTCDNg$Ty#2rURbGqMf(lo28tLgs2 zbh5168fR!>&7bqxh?IFipTBthhhFN4*+CRMVJO;17O~trqaNRJ`uf8QL5EPxSkt22 z^%=2?84cZZtJ|81T#O#7oMLdxcu*!@Ib+x8Nn8zMS+)Y``^$`25hEzO#k%(ECxOaN zb~O$aM1r!)3YH_=f}yg>vD<~@gk;u?9L80Q6qR=o9zk-grKx&6mqGa#^WJ4*+5I_X zcbvh}665zMY;NWQv_Vf7nAWO?j(pP&GdSByt9ER`_)59pt53`_@nm7epT$qrCI($a7&(e|cUq@2hO+CflNgP052<0woMzH_hDz(7u?tbDM|B-%EPS8yc-IrK zk6Ri?{5xZ#Di^{GGSs7E+h3UXI3JJ-6@sSifkExNZQUTIAub$A8YRs_Pv(-Ou1DPL z0j71TmgCiz%T*H(ZH8o3F3p=N`X&O3+~Qxzqo&PdgW@pRG*w=IDEJnrg75NHSuW{L zB&g#%<*)?T7o84EIwfhxn@k|3NZr#f#o8l**8J%{$kC3BRw{oMICNAhgK)Vb+0p}_ z1GQ#wnxRx>rL@gd1*$YfoSTrhQ89m0x2LV^)B{q@8+AEO)(4r6yMlDWKVVoMPw6=y zV?JM_wni0xF_tdTk-fw5QFL&iX*Dy)4yd%_D4vBOS{;%Ubx)EAP$pKM&X_x>NR%v* zPN4L2apr`jgvDK85NuvzplZpr&$I{rfb>dQ;PD+=L+^!EG%cTqkUKd_t7%?NB7Cn$ z;sz|)<3~S9Xr$G)P2nhe>9+&`_P{yM{3>geZf+_xn&DpcZ4IjrR84M{(`T9>yjHt; zH`zW@S?(v6Qllnu%AHm47&z7S1FVCh}_-s;?v-{GiXE-Uo$iA%{P zO3RIx2JZ?OQlZ!^HN~l4r3*M@UUHmi-FOl5A>vx(CRj1-aR1nE?R<-0m!e)<7W7~y zhKp9Dl`IqX^^*Y)s4Z?jln4`9o$#8Pw@X8vs{gQdykczhnXUT8P93vx$Gfy~Kb+yM z!5U78=mEKvwKb*uuq)TjJ~%@+{+42jUfma!hs3v0zbc&EImNaqtW!RMbYl{yEQ4|? zEr3!w=jf^~wjQ{to#o1D?nm;NbDTq^ORM1RHC~^CKw#I`;B`5MxBT>35-NCV4g@3G z4)VXz7Ya8WZeXp1-*Jll^mDa(9{vDg=N)r%F=U?(SuTz!x2p2FUh0Dl;wk_L5I7x7 zOB38ZhSc9!7-EB*zh#erE9Q`o*c`S_h`N!f^bPR^>WlxY2xnei$~N_M*Pp17aE$=_2h#l4h29@tU3PxM~}F=fwNe1u&55e3qlJ8|<A^U7-{&oWXrCXg8(zHsGhit>{a!NWMwjlP zkQSS#>@8^*RN#!5D>40YSa|hC+q|`7oK}mB44QYjXdx_F0U{WG@rvK}TIBll8_&R~dojBzgTipL8mE48 zK6agN=jsp1rWE;L;ak;yB&MXD_0r%|Z!kphcj-0b7$M~>H{fc{mM_4aZ5*AUAj|>N zZ{wqAUdoZccNvNH_{#?LbF3WmhGu+hmalsn-4F~Y=es|2(Jhnpsj^u8-zi=b>2CQ3 zX7qIPun_8(e+}f+j=gC!qxJs~?e$n!ygsoBPKf{;0V85tbKwq&4FriF0RQml`Ro%@ z{@MZB3vIJ_!B$~=zhGVCVLxIOgIM5@L>c!d%+@INQruHeg$Fw9MQ?O@$JM8`wX5%c zrHDQjWt=JZ6+I6)pjim7HvcVGB4-GK_FMjn#^Kx<^>t`Q^2gdCKFQx1t6VMwJ3L}3 zh3ntU*ZKx+!i-h#RcvbJ;U^Y|n4t0=mmrPqK$~#Ip#+)I@8&ocQdnh*ac7YRLdHy= z)bRv-!OTx{ONmZL$w5sCDk1nE^5gTPs-&ybuAe?0iy+q@c;6&yoG*DTGTuvKm48-z zmpGC5k?0q0o%;<758+IEse%fM;pZl*YPdYnSfF{-)q}yPx$8|& z#&t!U05DC8bc6GaE8N8DZh=n&zGR`9mkA2d?6qW~p>bj9d(SqDx$bbz^g4MLU+)A4 z3@^65b$7n?%lH zML2tgAlzOE@hjd*!dAJ?xjDVgmi*`52CaZv`w_?qJ?90ta@<$vfN~Xo%!L9_UsGvP zc7O{+!{Ocd8OhrYP{33{uGW%lXop2i;x(`a!a9)T*(kzhcUor+Vbv|R{@rcE? zCPeNg34MWcQl8_gbG?}5)mU6H4XimAbM9Z*E+-?AS37qvxk>D))5?s#nERrt*vW_3 zrTiU!!3R|BpSQiC41?2Yt?|ur)nuSv){x^IoF2wC7d%Ig`r+VoRu4hLA=%?n)jFlS zG|aG9#Z1h&kXkS(G#toDfIevJUVN6sWH|qm+RE|TS-#pc_O*rkM9c_&$jD<;`MY@* zWv}y+d8{Zl;XnQkq=Em|I?O*3h8*1Wg1qbvs!k6_XN<3bB;5AO;KmBFB4xx_7zGW@ z>edwxl#nmkh>8PvPFGBH9{AsI(Z5}SI=}vkukfesZxlC4wILu!Mlmzdf}^@csR^CtFL>y^YG-Oz zq+YMsE?PhDevJkmi+tB+YAL6zi0$VKwT@!u*3MRUd~wY>9A{Y)(={No^hNgLRpqp2 z^BI>j;EsQb@X-HVkkk@Z=dY*Q{lIqQPeu&6!4P}u&vG5v$TXP3xjT=8-Xh7GY?*CU zt`Im``?K19Du-hoW=eZe9(EOG9XZJyyHG%fZ@KO!yp)h74{vL4qA&OLR;5`cM3V2_ zFZ5*7YvqwhCF(QUvae=-Ukymb=NUgi1H9aq5uW@rK6dwE!&YE#C z$KCy4Rf^2WT?vf@Uls4S(|*zMbZK968aJU8O+LS0OHYcRAN7#EI-={)-h6lD*ebj> z?D%tdPDg6DfJLm`lX%N9pU3zEUL$&{QZ%zOAROD8;Kd^6u&cdv4Bgg`YZjiKu`#H@ zNcqLvx2(v#;cB!mB>4HJst4%sZ%SjJt}LV; zsbpzj9S08P`HjorA0WCkS$=BWX|50x3X3L*5?rpkF6~ZYlGTn0?<#9+wbnEbl2l9! z1xkovLli<80xc;COPH|~h@oO=XatubEMO=(44IfrT*-wbwubf=WF(qw1H_@&lT;xp z*^22U#bjU7sIb8}R04{F+LmlzieXX2v1$rAuAGW8_sRB|u@N=0Sz{i7h>ezUIS zo!n7Gy4DnR3bgWf(Nla|=#^sGp)LNXuw$665Qk6EYeU-zRVeBV zG&>AmfpqmjTyjf7ygut0$dW5)cP36W7+78dhx6!`crY7spHQnc{JkPkB{x6>=@d!3 zCkl|O{8_LJakvz&9hNZ|1SQMFaDGxQk;5-9kkrwloz0RIltxsm4-!Hf3^T!zeGB;v zClrIN@J3mTl@buUGHkqf{P1SUo&mdj{v%=7H&@(+Hgi9%E?J?Cr>{lsNi$gobZ<9b z2I|jSW$Xk%w^C$Z^*t6tY<1v@$Tv!Cbo`G~h_q^Ha}Kz7S@uY+j>Kcp`58s07pg%G zXZ8#uU{D_W4;1&wx8(e8?=~%%EAU--oj|siZgqrdjrOPEIkHq-L!cchaY~tuK;HdD zRTn*$^y*oSnfE7QL|gK(SCgmCxN$&}lvTy?w1&6Yt4vz^Px%!!9r z3Ub(%6x-SwR*a3S3L910G#U%Ba0*W}j%6Z^wNod`jD*J~R+~759d)!_%9iT%YG+`w z2nB4QCL0(4;pX~cnaEI50F5b&r78u=QbUFW6wqO~u#zT50d^Zu3c`xt0t%CZCnPFY zmXr!8!y?Hd?33A;`4VKaRRxFz`9iWaW%-bdlf}x}TFuSQ3l7geOX65$JTW7Zl%0h| zfq}mf2YXOQkR<_JnW{MxS`>kju+EIjCPzYy9h)vI1V|S~u-K<6BrFV}38EK+kw}EI z6|SajgREgDLm7n{3Nfi-3O3Y=F{Oxw3G8fX6~{Q(C>y6aNY#KrfP+H`$DYCNXXa-{ zVU96|Y04?fz;Z$MU?X&J4nC7I!d6=wUtV^oP%A7sM2J{fKn0P`)lWsuw=hao!bD1< zVv8PPJ3&JkPR5uJ6Q+ei7G*d9BeAVt0B5FX1K7%_6k(cuFviR;{Ok#_D)tL(By1rJ zVJwXN;9)@)Iq)!kNkTs}1_Q1`gsvRm3msZUVBnm&E6J9dNH|A0Lps!6iyMH=*d5Hi z+yhXb9Yu6}ZUDIwx$V-I^!IS;O5@1S=dT`6G0I+itctN3YDKCrs$LSc(zn|a@LNMP zu5fj-*@0iB;mO3SIV2uDtlJO;+4X*DG3l7V-61BUlCe+}=8vyZ!2ucqPdNA1(jTR8 zZZukic6T)7B~#RdWY|-69Z6Vh6XOp)%*dzZ8S*R24kf(a@;}H8t(diTwl)6cde+sI zJG5)2N<+;!FxAHP%WFAjbF<-+E~C|PtOY$;0UuNv7ETJ+1ST6Y65CIC1*1{D)u6Cf zou&DS=vIT3k4~sWSZ8BJx2)aGiMn*kl~2J4a{@gkj9li&W&K5j6y6QKKcfsr`T0f) zIqr<}13$kFqORp{g$P@*TM@RkpGvhM^7=~C#OfeYFC=5L(lHE@=b|nWD5x0p)O0(F zGq*TS{9{w26Qt4cP&S)0@Jm6xBE~$(o%d+$&j;dP)6X5|1ZsOoI4s-^K?xbmNu9Nt ziDa=2Yt+r*Pz%H1#2kcKMKn9@N)fHU(r@dV)H+!=S=9zJ8ux>6$mEu9FOPM*hiK^E z+_L_7Z(*WU_&s0C#@UvIa*$1p#9_fpBs`(RhB|IMIQDG6p~S)52gD()bH zC0b|uV|@naZRj7Rd%O(W{Fn-fL zMpIxG4XTD95;Th$aBQMkUH*ZKwvzVIRW8r6d0&3Moh3Cn>-2^*6=cv^@?GfMRlQ1! z8qS*tsf#|Q2OL7GW}zrC3$BtSl?Y(sXpoQm??|df`m-R^nGPwNZsv4HU?}Fw%KEb( z9kRTDFfGMZ#?W2}>hksP9JTSPRq|8CU`+?6_e_{8;2A7Iz3}UQ%7qjFF^@`k^?M2%(*OC{L zErG%f4qDi_;vCed*fJDfu(6>iZA1QOGFm7zTUmwaA_qOp(y=O@kLoxnOiu%!Id|k` z@2zj9h%tuQEHrmW{^dThmRQSub*UL(z!t&W0EvrwvER!YRDH(YyXH%QN-3xdxq8|CMw z{?ix(AT0cahk~eP@_!0MJ2YyJY{TzjKVH=@vhhd%SH07+#3KO4+*Ygxy4 z;X07=G~gtv5DftVixmqMb^v++5)yzy9e@;;x1@%w;xynC+t1~*#O^IHXy@l-Ujye{ zSg2V@nUvCRBy!XsBi9SVYKo4|xyr~QNlBfBwM60a^h-wxInDn?_xztVD!KA(YwR&Z zt>Q9=PV+{j!to8P@_{9d<(aEicEgZkzm|rG(vV|Go5f5N{Qp)aKq=KB5I~=Yhs&=y zgbFwm!wz!-gd{@p%W~z1%cvpq48m#vl0cP!e67ObXJnT>X2|pMeD7z1(SNX!tW{MN z|K~~mcjx)^vpo}y{vShsrhGkPh@KBoE&c-@dM?WT4~Yo=KNma~;Di7G*(e%N%z>dg zP!7?g<-pwatAiR>HTG98MhijexbQSaZGdscS59j4$A@bYd%!ou=O2b!lR* zWm>!JX1=`+Ii}AaPh&f66Gfev0Nz?&Zc|~~J>C}0f8^sVpQcu4w&T!w`97!Zm9^OD zx)V!fjqb*?=SkbSDEd*lNBenXpUJ92e|!znt#il6eTS4=X~Pl3y!X7%oc>JQc~13W zSbT!7J+Qrq<1hI3uVu1-op!UX15nkjDIlu0kI7Mzw6gTEWa+r*Z;qVEQBiWoJFk@# zqW5RSJ>$Zy>H{*GnR@dWSu=m<4tBmYDEQU3Sqk~Qd?6|UYSA@3S542mS(5O!`Tm2| zrPb#%^+*;|#j3GeK{#u+Jts|Hf@#iF2G&|yMsGpCh^QYO?ap|U+-&@{AKK<1W*emC zMlm)pNm7mjwK+AF&dy;$U3rwacw(w>lIHDx`F$q+!bBo$zVh5Ex$(3vo+>)x-`*{C z$%bVx=aLDwm~gn#JUsXl5A__%n?Hy0yrKelKeC<76+CG++WuH6@a694k~8AV-UvY= z1AFFqW>GW?dmZv=Iw{7QiW^1z7hJy4+jqTo&)TKt{j#S>b}lyY*X#o|oe4Ov{Nj<_ z?hkh^$-o}X0z5D>SCw^Jx%;)~ZMR6nlBQpL|aSM2;`f0+3B?pzk7G(-2VKGOaXvTL_R>e=sJhQbe~iH@7gGRARZT-y zL44CZ?YGtw_kZ25?CBnfPp^LN5(*p;m z<;|DqKNs^-Q+pjqwwk7I^Yxm>o+o(LoVTZZjt6CZi+?nh+6G^!%>Q;ad%0bnua7gW z?_Xr$V#A~l;4*Ggdq~7PrhgUMCP1{MjAF7#kpLRVo=EbidFzncJ6gJpMWdhB4*rdM z=9yAvr;57r9)(8q6>0jzDrqO}(g&Xb)#}NVz|J%#Iy3=!^ZE##wOQBL$nl>8RjdvT zW$U@_wOX{L+S)r>HIXbER~M?Cm9C$R^N-bVFU^U)c{sIjdIc{zUvyo2jLk^2)P$c` zJVtaKWlWs@SZ`{G@&HX>`51RZ;$nlwd`!OUs1w2R_JbMq#s4+;G^=A&^OWvT5-H4Y z-k+SRpd7YkU}PeO*aavLGkFESl9{Z|!WRSKCL^ipcY!z#+X6yaEc~= zV4c5>TB_eO`M^ew`Dr@VDS0yd_q)QB%ei_KGV;5>^CAukP|78iw1M&CZUoC3vuVVw zZ$jh84+phE=_9_ZQa5ffDT7m=n$l365BkJHq1?C*+aY$_@8KSUdO_UUS65|dt78~C zosY59?IuwYRm96W?;WTzh{mSe+cg5e{d-Y!A@%R--S+I}pXJyG$*W>Fb*ux|$T3)I z$Rrpi*(RHv8Z;rt7g|JxQv?lXgfl5BK<2?zxWpv|B`G#6@-d)c3we?RVt72Z7Ml?o z3`D?$Mv8;Wpd11n$H89VM%Q5jhsX~?233@mN0aB|V}LS{;T$#WVT-v4BPw>VX1^?Z zb}Fn8HNA`p$Y@o}BzyR_h z;O7p=4Y5Qa3O$<*u!o|ZES&8z$aX!-=yl7YxB$BfyfN(pss6B~rM;?d@<)cDhq`Fv zWX8R<|1ixle%<2tbvhdzLr8wU3R?H3SJNF>s?nENY9QBj>1VQ+&&}<6zpxrYaYP`g zCeU+us`LeE^&>>dx%1|)UJO?#;eG4tk+=ZKKea5aX0LX!jw2u-PBKg2TuqQ&CWP49 zDUbPI5J%l2@$+;KXWJUePlA@RKcnr41uO9X*t<VI z*Vm1W7+q?be^Fr;c#)>Subb~=uat??6F3&ZMy}xG%$Hbs$nAT3z4ioXk${_+~qeTZGAPB%ZFIJ6El~$4G(2x>+h)Roz ziRV%(3U2J-1FqK*PPc?6H2?rACMb~($gi0zF+i+0l-1#cNUuFtzAFiAqq&9r`c(> zc4oM?xIMc00Q~7L%&w%@PzuSv1oLCB7N8*uy-lIT^e&coJZ*%WQCVqoAfp{l#(o9* zHx3+&K*kMbarg9=!lULE;fZ`^bXML**Nl(vS=C@)NDhqFA`d3BtkALXixwT!bILQj zVAGs1m6kv9DEv*zoHKfQ^o;1%tOgw!ZuJ}Y6>8q30MSyagxuZy+!_m4y?0+|~jH0LU)AHAPVwkB`ZKqGB=xmK$OBZ(Z-_ zrP*FY%@zVETys9RYUT|4$c!$LKr#9+*%0v(vpgs#3)2N?z>y}?$sxLUBQOHWaMrR{ zRAN>;X?0XpN^$`}MSh1ZRh!Vh1CkQh6Q~PueS#n9_;bfr8Ll&VGmId1ysEmBL z?7L-|b~5ddP_@e0k;#t5p-d@aA(@e|{MTDJ|3EoDg~4f`|3$j}itrY2l` zV5|gWUxm-sC}C9oZ8%A{0G9N8u4wqA*}zGS!M9^GwwTx3staJdgm9bYeESn&zhSG> zqz(w^Z#^fdOwE({4g|37A!)>pSL$uR0!~!?s4-uej9@=0j#IfclS8>uFgDW%l-bJd zCqnR$6q*SB6m8?YX6LuK^Irh~$|BLxKrdzedJxnpF0Mz`j8dMBu7BxsB#Ksvj5vAL z+6r$4;w5&8W1m+>eWJ%^%}wNoFpS1MJQB+v`NL-(Dg|Aycwca&zK(HDtRDX2|4|av za7|~V&)7*(JmCR|CYTDJ>#pUgqLy;IYO($X~c6?BumrDs5nH63dOD;)B-L6nDAT<@wIzwk@w%2l*B`uH%)gUCS2AOYEt@u zfh12Evr4isF)xmUkhnGq;iL)dIBg_*rQw{G&3=cE=lG#I^x1cvS7FPmSDh^d0c`Y? z6dO(WE=OUai5IEz7>vH;?nx$#l9js1wKbhE&|zjIy|?y}=Z-awuBfxKJZ}Y)Wu1pM zrbaGma?LZmqemp7*VV|;a0&8?|P4Im>EYmd7X#9cXg z(e3!wMp4JP1+0*n9~D6E6QpX}ynJR^4pKi{J%sl0#d^T$T!NJPJe0Q>^o<*CQn=nRDVu7aI{k1VyybU4C8D_a@L$e(bq=RI;LX|pIOp4o zdcljqciVcw|F*rKbq)SsX2G^O9RolWc@Mz!dD~8L=QT&$^UyUdcM|kCV(#Y=^ilYF zahQX)Z7D$034!&YE1;*V`)(URZx#Z$DIo72=z+YQ?l}lNR1epTyak-~^F;s$Lr@M0 zfH~O_Yl=9{^YV!N9R32OVrVSW+#AgyNg=wJ8vw!r1*_PBg=x50jp{k=jI~8$EKC^$ z4Jm^sR0X);TC9TqlC8szqbu_(uqps9@C5`)@`yb?^gqro00$DQS@8?@kcK8BfUwYj z&H!fd9Wf#3*Ux1rl<4zw7C32&D3#6F+RD&ym5)WjmHW~vfjSy0)>>urIvQ}c*<%-( zlx8(awKTSw*$1RjAzhel^0g49TE%RbLt$ACDl;%`QBX(uuMYHj0W+T%00f6d1!VH;#I2`7eSH=jJ zJ(Jeu)TjehTr{)_3!eGCtdvES9ppZ7dZAp1sm?x zf{F;n3Px4?YH+0!wXJ||rDJA^eTv4HWWNC1B*qMn-2P%;se6uXn)UwTcYkk8eoW#; zk{X)`CG-{I*p%{tY;>*WNGRedIA%~+VwiE5tdJ@c>#67y0yFikB$;Cr6AaAkq55;H zA!=@BzRcn>fl%!lb(E3YsT5_uS-8Y$E!_Cn_DxlKTnx7EG(nRo{1RX zxbwM%=W*|#nn?h>g+`g;#uVG-zr3vFO5AbbHbBG{XF$ddCE8N9C<^8_yr%f-LCc68 zzveb-9lZE2>}6R7Doz=nWBp9(Q0-`ax?-{-J5TVx9Wp1<)_(C2J;5}im|JuUFOCsK zfhXzz;_1hTQ(2~EYH7dlj3i)(&n?rc(omK%QOuDc#v$@=Qbu8=WQiR5sKw-*Dl_1k zC={(IRFwgC2L6!LCU!D3*&+}oi2mSiTJ=N`=T7o<6=M<17V*yUflxC98;fgOB`G9_ zKxL6IZqX2rA)hLF#DXIlCF^vcF{-xR^r3V#ZD-khdy*-mEhva-tLV5n#6#?G8OF^@lOcy}i$gVqkjpLAd4q6S6e3=- z$cbf4RIqs`bGHZtX|ORA4;8gmD#c}DIRv`<8eA-M{XyUq$wG(Fk4sNdP0ik;O^Xz zgQAkGVrQT0WPF^iJ8@bRG+W}aIj6pd?F4hQy6vp9P#Aw<8P_@l*6RUKCD0B)`z`GB zeKjMWg$-Z_l9-rB$5L@+*jWzf0{jYh*&zSq`(z3bG-e>hFk*Kozv}Mg5PJ5VP#rI_ zgVgW(doa)LQIu^Ho(1h_`VS?umBHwmV!l_b31RATzG~!_Z{yR6I1HRPTW{UqLlhe< z!u;#x<$C310qia+-fN`m^Fs_C>ZHs0U5!R9+Q!8rrC~jJ{@&ijza^#7e2=akuGYPh zrrUq@vfq}H(CVO3GQ?QfT0)7e!nc5_XdngL6je?Eot?f5OY;bo_wGJD_c`M&+nd$+ zV4yY*J1mC8zPK=!7}>s5?E8aLNJW%&rW*n&A5RgP!*r0ft^SD%H*y6DnMA0}z z@b~YQt6zi7*Kj&`0Ke^cad2*TZ_A!PCjN~41|Kw+Yiy3{Dl?-=*wjbQ$-R(ohjU`p z3qzi-gqEGkaDo(%gDN(hl#fv>A|nQzfvb$35fhV)OMw!LZBIpE1!Bfj$;r-8u3)di zCP8I%1hE@YMKH)x$Kl4Ms;3HnEgthfE? z#^K{NKOb&8{d*{@4e5-e9Ulk<&;8Y+(Rg*pkgaO_ET8>v3Qe- zc8D7E%0Y|MSY0qau*Z$D^0hO+wsB6WpeLO}=b1&PEQx>BYQ{DP~LK2+J}m&Hy?eY)ef zG&DiilD6RoK8Da-eEIGR-qhXb zA`-}LqE=j#!AqV`dzF5aQ~G6GjNL__8>A zV`bsH@SVte8ll^LpimT9i|G``dilm$m$c-tpsi)D9oI~&%bzVD_xlcO4&MMS_laJg z?yYdApJSkoY4)AAuXmC!o$hcLc;$X>=$K>ZNO4f}>+ldRv2D^Vp)4wxQkDl}`=v(B zCEcTG&-e-WR=oVBEZ1B0AFK1ZeSg+VBwa4~q<3mu?*Hz++4hAY#RTtQgl}+_PRJLd)B4x!*pyoGF<<@e&Q=wq@z(wXIKGoQ`^zhL@9{4ENz&Z^^w#igSMc$Y z^u@u?tJJSA9+hz}3hCLC1~d{_&g*!;{9ozGQDt)sU3B`-dlyw%;z(>upniJ{GjM zhUa}WrB{)b?kn+Xql}K<4Y>$RlTP89T<)juU0iGu66bU+V2*ECm}F7V)>XhF>ryWv z9#vZe00=iQA(rgM4aKHOk0f)$kCqHr7J$~n{n`2D%`@LRGgI|fY`*AcH^t&A6G!Wb z^=6xPBb4{VX8ZS7TYv5@HWN3)iPXzZmdVDuYFpP_XO^mc%NY%m#)y-yj_iY?GV?W@ zx}1F0a^$GY851l&L~60>P-Pjd8^kHT@V2_O8p3l|1hOf~JdrpeLb2sJps@5vSVb%< zCSz&PjH)&zmd*33*p#;9 zQ~G~mUOjry$%wOJtR4pV%}hx*Jerx?W!`VPm?|;DJhjb7McRbcT<1%!ri18dHR5+p zr2ZNl>sFQiQaric6n-!} zrg?6x>}=+I)Ady;8iI@Mi7zKTK@*jz^_-kvuBx3kOgp~$k-u^#AUvb#c<#5it&A*u zn_E9fdqc!AZhJ5`kk#_z@W;xNhEAJqU<`MS0O!uIdReB||kU+ZBqn#N;ZPA>nUrF0?JRXgcL~NKp`^Shr=vD14QN&f5CfWM(ID%?&~kFSS%dKsc{IrN7}VpadW^0beaOQ_fN zm?ds~4*02<$df176i@IC7G*9N*4IyL;q4`t0<>g+C<@wIs=)M^E$*z8C|fo}q&8W2 zW-YPujC^y5c7x-H9+@sS8>fr$k^m!ajkUc|I7x_>D%265F-?ylRjHv3ocf&A!H-6% z>im^t9|ek!aJ6OJRm2{OL#>z}_VFYP`V<0@v2`Jb4&rjW5chC&&G_M(s_&}#A+wv8 zvSZdR;y{1%12&f??YwaR2nh)TpH`27@D}8^Wz+%2y}n`MFBo|L!)=K-rN>UDUeprD z4dA*nin0VDop$e_XBI-?EF-_P2BGo3)^q5YRxpjV{6Jhiy@a!oj*nA zrZB5r-|ii%?T;coJ_r z>)JYqx8B*=SHE%=`SsJ)w4c$l3g>dhMmd+oG9JjEkfkTHn8J!*Qs4$9CyK4nWQ#2X z+*pkN@pM5nWAWqMck&niW@-`7>{PTX#71(X%aQ)Hh3FmHs%eug;%Y(XLR(S}Y{?d1 zn2`Ua4D?%xZ=rvotWW$?#YSna!)E#3E=4?yDT}YvL5t4Fj%2#Izrazp+&Eo}w9g|a zBFTxYDDG8z4T!xm<|hDR$5#+IryxvLJ-+;g+o^ABz593W13>`!HcHno9-$=((I3Lg zJOWF36aCgvIoBrDKHBYzN*p{!9$AlJ=yZeRG;B3?(;mdI&jfj_P@z);5OH7YwCa)Zz^cUm2~_P_13m;!{06 z$rTRC3JyuAuHTrhZ`VAYz?8gZRfsti26f8%Tmt{>eZe|ygu7xFhe+QD7u#iXv1#H< zcLG;j5yce=N>N6NX=~H1yvWU$uQmk4QxyOHC7@!p6<~|_wI@~d5LjHXEurR+5KL(I zE~Q8$H5q~{4+CU>g}$eD)hCsaow~xlpYmUOGA| zqoW79>YY_u2DtfGwlPq^IE}(qmVy+t%uL^P>$on=qeNJbdML1?7c!67pc5{5F4_Ig z8VvBotF{S6g)aunO^+S#xErve%EAUl+52$eg#I*3zYMkHv%mBaWU3N#eF6e;jAo@kt4!VZR9(TQhFkEq+k+FY-`UxiaR^A+O;L7|NNv=nB|fEVz5) zJF{#1AW)v`crm02HhYv9nGNIN6Y1-=$UkspYW?Im^!-<9-i6f0sbfj1OMJB(bs9W0 z#&PCOTXg13$mpl0*IW4E+VPrU3+9zzn{K&WQzMjGmz#dmq*nh5ELMSGVn-0uC{Sxkv5ye3s5L@8r^LpOhPT!VSju(hbXW#ar z`n1eq%MY9qEG06c+sAn?)~(2|)GX?!4FvmrA*W(A#^S}8kscLPoh$je64H3YTXq5=u&6vMo>WTgy zfwajLZ1@nvmMlbVoG2gKN*SKNkn6VW>+G{DktnF>;3~Tj@fZQfb?>MqSl)kkM7H^Q zU8xZ?0$k+yi%ut&d)>7QfHIEGp*-RA(NZV=U_>@fvQmQ z`H4$Y4tAD46h$uGIa~Y1k!Xrq&hC>14fp zp?T59L>N}Fm3*il+U+;pH1#>Yz!Wto&F2pfUa8Z!tKyJPDSgQZ27gq6FXe%I4m-WwN6^Nqt)$Z(Y4c*{q30K+gR}w4f5eo zHRD!)!+KppER@}Ci@5OurOzU^kMFhntcGu2K^rZ+KyjEHJ_m-1~c>!foFVtgX`UqZF8 ze?}{E6j4XozTX_cmit=YeVX$9k-JOkXY`5RM%Nz=BK_3~Z3BKiAzLp!ZdLi5Mw-Fx z9lPJ&cCUgJ92?o1ZRnET3(qtB^cV?FLM{fJtFrqCJ8|xp{!Q#hGZeaQt1xJ5VfJ4> zTi0mK-dZ`o-v3(oG;=V;w=rx<%a!aENUy(bW%7yY>v6#N_2IR(-Py%swWoKK5$;cP zdSW`N<3Ocu)UmTMhjV}&yjL&n)tXL8h>-o#H$wxgESl2!s_d^bYEfidycL&e<`ofr zGcw=@md*F044enftC{af1?o)3e3pGqduTel|1|{!m3BM16n}rE`XO*-EPlDU-052o z56#b7x_|qFgN5?2z^DnV&&>`)PH2 z<8ldV}M-tg{XeZDfwBN{=n&Tlox9EBVz>V60yM3mkcdWXe4L!G0O{WGndzj|vA^np^na=&E;hl}Amo z`R|bzZ>2FeHjXp)haAZZbP=4#XrJn$r6>Y)dnub3GW!PNO2u(bDeKYYmN>Q@R9JKy z*9Rh!Qw0oqK9Y>}b<-i~Cp41M8re<9V)jzTa1*LtDO@^t=mprh(o+=8mdU}teaB5m z4PZ7+&odYW{We0T3rLYQ)~ILEDI-RK6Q!_N-q1mo_sguyxcVXg^q5(+$p-VnBFewB zBBgXUTCDe^2F;!&g!l6}Pk0+rhf#e(NKnjpUQet=4i;e7Z~)Z#AD@%?BC0B^qB7TT zl?r04qEW)6j?1BF$$mJEUDt2M{OBSpN|MFwkFXeqWV1^($ym2M3tI`@v5aeD4VBEo ze`@BFXw+fFs%?Qd`1KCa|0*O@-#Ay6s^U)!9Wfuj;c#Otei0UQ{xN~`<*Zzx+;sbE z8LfB}tz=;g3VvPt=Vb2!JvN|Ld=te&tZAbRE?%qlAV;_s6?@eDLr&SOZ-1+vb8YUT z$-L?;?i0qo-bB9v$G$pd29oLpw?Mx3ST3AL@5^dc4i?4~LF|y)tiAqxP##KLR=UT6 zJBFeTuwsnsc~h7fs+AsG6lGtUkXo4X)?i$SV?L%jH6e?k(vf+7c0ef6+Z!22L%pmu ztJ^o|SUa{x=3g4)jX$J%gOIq!`=9|D>u(XTi5tn- zl}PZzJ6`TG%JY*3C3H|)zNJPGc$2V_bNvT?TxPXA3J_ltla8kpZ80VNHgr$bINMrh!x$idIkh8 zNjy9H{t7%5-oN(MILySd50g1nOh84Cm>uPS4^@ZMGI`KYX3(|<<4a${sGAO(+e9Us zhoQUS6>^su28{J2VWMD0WsfTei?Fm{gYIgc&k(A9Y&hvIGo(pg_i{atGcc_!9l-X) zsE+EdS0roRjUoTW#`XPmY0(DX7^T5WIEhV~fMp^scLBS6U!O;!u}Y*3EL;%R7Dw3{ z-Y!rQk!^_phvV0xmq7*b6FVs7C`%Fq#)fe?3!14RiY=j*k7J=dNGeoZ7!*_jW@Dx_ zX4foG$;M=4#AdW&z*NCb&1T35ll6-t^yi!^_k=L8RsNj~Vi(fq_*B#xQMm+fZ;=4har>NNPrD z3Ar3;r*t}*4{+5LL($;H=eFi`Hx2OAh*v;@=^9`W}mK# z)-k_h>4jy$K@~5-m$$hYJG>s6-@j$mXnudK$Ydk8?S;_8JvY=$F8dwcN!jl_gl>YB_e&*9d;z1we}&hEB@Prp9>du#B+_ioAcgpu!9-KxIE< zNyLebP0q=YWIcj}LkTd$7XSdvkpIy@eXanYriP#t&jo}q`c<+YQ`=)c=RVIk6s9fM zLmUbqBh*y*sQ3viIRJYr%qTSoevU)36%_#i#0r8bPe4T=02ob!&c@g~q>(bD6wDUG zLm&bOOMID>Vw_|Enj%gb^!Ww=^qf=~GJnzq{HUB~vFTZ~1<3~Sh zd`m)~j}e$5BmUsGzeUq*mWKl(C2fwK5PuKj_3K_HuKqnN;s|}8s1EJ6XEEEanNi2% z8X_wGOy9(QZ z#q+dvkuWs4FPipbQD1{r_J{5ct>m1C?k|fovUx{+i+B^jK&j$YC+H{lq*4_WMA@C_gm`Hp&+j z1uz-*a8qGX+0Q1?s*x*`==o{ft6J5NMzwnFfZASq!gnu3maAN@)osd%c;?uvO^t{F z*n@xq4ix!PR5m?b2y;aWdU6Yl13w%`Pxg145UxX$@~lA}1h-WI1BH12o<*ht?8Hwu zt|gJ}NAV;>MN*8YA`xWiqson=mKp7?9dFBP%ZCm<8lO{w8umP{4L|%t=05UYnerTZ zDZ{#o6tVk4;)%oh!Wc*RsVHP(*iwM;OpN$eV3}ln`~-P)bTYv_o_{4X&Q~^;qxZoR zPrhQc1Hs>hH{7ocH*956di6${*1mbI{J!h|ovOeRS-uvOW zGvCbF*)zM}%+8$InVs`}Be1nNT<7>b5eJNB>a6Jiv|LC_%%H64OJ3vK_*e3l)ue>` z;&}=A96hH;Ui+J&l)au)Uqde1Mw@Z7^S9yy-AEVy5?!onSqZ7kIacb2tcOgzwZomY z&(u3}9TljCAD+b&1B4%ln^Q;B#_xxWv@ z9UI7MgrmUE2H;PTMvCJN#ZJrfL*wM<#11)I>Y&~~dHFtpd4X|4X%>P6y-v4}i}9ov zJ4U&C2-B`vI2@-JzB6S49+%lG%Y7a%f$|HIYP|{sd2-UpZ~)=!kph^V59@{*9hFuz z*8v8xp943!^Vn#~)&&5Beftq%3g-sNQ<6OZVAM;lkN7smL)8`m-SvuU;P!&Iz}~i|>%UCYJyEubU@CWmB`+W%=0nlOAV7?#-r6gMu=wNU)ShQKt;fa> zy;Hs!`oR#`{EAibTX(PZu4v~r+n5O^@7TV3LJM@uDU~c^^#EI4UpfC%#>_pBwALvK z;S!Y~v>$}So*h`O1YEEkS^YSyf3W}UyJ|!%x$H!g1Mt?!M3PstiJhBuKGM8JBG=)L zcLe;-{!%^LF5IuR4g0#@aZC=|F(VT*WWR=u4{w$AmJUEH3}sjj`K&U>E`jx^9@&5Z zhlMwej|jpZH_|LG9R1H_@=H2NT6>b7SFPx)Ik}=cI9qBuH%nLmr%tpSaRNMVVEuzN z)wFgqXDcmQd_IEI^=-rGziICrQp_0u@SlhU2m*j0fXUH}v@{?Kl7qNO++n#UTKOO4 zjHi+ieR9(Mi3eA_ZiW~5cjWcLoORd9-6J)3$cm7b&L`a03`_?X!<}UuuG)6p>*W1* zUYFbrDXm@^sw(jYtE)~#KC4+0N6Aah(-TakTKKoLdE@0^kxj`;(3)u+tx@+?X`PTT zXgpeNAvvH_rl(q?tjm4e%AN=Bg1~P#uB&R5U1te32P=wXwlFph_DNM;!eGV8O%siU zmm;+Af5%cn=#dS4XQ|9Fa3zbzGRp*=?EcRk@GtyU5T{npcsBhDW8JiGzDVl7S?cH( zHeo-kw?BsW?2!pl-o2K$AtKk6ue_+ENa8%^@l?Ghh4w!F7UKAE`5WP~&xXA-sb`V2r4D7U)NSX{ua+}Y#C^j3f;XF+bC575XyQ>6%p!pl$ab4zlju_S#;TxN z1PCciJYOSv$IChC$*xTHbhKR@I%L-J;YC6N;#W?;kN%xNuby%Y3S|9Q24uKzhd;e4A)G2%^>ELF-W(}NyZTOv;aStK|sGKLKk zxfS2t;K|LzJS=Du5!jNB{KgbBNTzvnnfJ9zx^A=+j(2x_eiYpOAcYdFVek@OX}EXB z#2leXb~TR!p5Hu5$wI-K37cwx+^oJbl@}T2|KI)$>x@z#Yoll5-~pp49fs+Qp6@}c zwpLQMe{4aWP0-D$Gd`D8XR%c|S){ce)OjVxbSfedIoPHrcbJXX2nz7&kI?K%ERPRh5WhY?`ZW`b4rD9ImtU_;7f8d|j zXLw*DG{ly8?|sx6eFY;7I^l1@S`N;0A{w%r&g|}dkIbU=Er|%UQ0$XyKx>1|kXgXV zR|B8gf@PSlDuaa-$UwctJM+=>0-q%bGuQ|(4MbJ*dB^*hTQ zLX#qVeUFf#^21BfB4J*jV#W$;RaU7Ffu`9#H6~SPO)m<09oKQ1F^c|IWs=b2;>p?O zWEF3-L@8Is^AZC>$~Nkt_Azlcwi|tg4CEUIq!ZQ;Li0XDN)Db6WlC6uXNgSDnFXVV zCS@V@_)DC5tE{pTX#JP8Bz|S4$9OK5-5?pqUT~+6XX{uh10}ity{Pbz^-{4+9h9iO zzmdG`)hT#R&ZRi6EQ<*KDJwN0Slv$?iw<_b7xSSwgQ}TXIMMzdQjoYj@_p4Y&roMk zzJ_yBIz#0wYIUXIAWJHWk3sLdD&?Ad1@AvfAKPN@pqtMsr@Pj7W z@J7)Jels&lvUVrk7-RB2-(;$q{fi%JH=hNs&ya)S5L)tL1=?x&FN^lFl)%_H*_UNBi7J>1z>y{(N-Pl5-c(Yg#|-i4JyURaxeg~|1W=NdFY z-fiH%=CG@Dk*6AsuXwm);xAZi@nQf$6DzuGfi(`u?BsadBYgL|`ev;X#gs2Kfdfz~ z$nRcJ+ZCSZ`Wma9LL$;th1FXK0i@-UNqCz>M~6zp*UI^lTvuVtrR=REo2B=C>1Zm@>Dz-N1Kr z$8z5-aA>>jDPv(+PD+|NQeWNvzTsR*L75if)HkQ-A0dMCRKq909?eVNyFkJ}-v;V1 X`lR<`f0#C5UoH#QE*LB{DP;Z^GDt38 diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-05-52_645cc7a4-f2a1-11ec-9ca0-4649caa90281.SC2Replay deleted file mode 100644 index 99ad35afae1f78416e03295bd1202381a8784a3e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31275 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%0D4ZV2dRr*YxW1D{jjczZ!D0gz=hmrF z(B)(+Wx-3PoWUI?B~FY6HGneYN95swAKX<~pKi;pJHNLe8q;}GpQ0lCYgFf>^6us3 zua!P|3iLPi6(gllshwbCxXSiz+u;_w4puOaqot03(AxVD^jmN1}2R?y4qw|8kVzZ2=6D!#@!>6=SKTJo9(J6IDH6Uibj0Q7229n z^2d@mzK=aL^Vjz`*77GZojcZ}pJ{&DlLeF6*;2}@Ffq|EUlp{k_g;+V(BD>?;YKM_ zKBoLQGTtm|OFhy@vl=m|GnpH$Vl#-^SFklbWPooGm=!nLZh_xqE$U%(63)ls`D-og>xelo?{TwE!(`Me;pS4Vkn9-c5( z8v$eVC=D8h7)ntZNvKk@^-x+AYFk``&bXg6bg*Rg^H|iFw;Adyt?n`Jd*sMDq~Ptl z#&Vc}qWf*}t#(vgD8|-Eo~wcP(uP4U6ZzhFjfx&wJ@ru>pZufibpGls_VE^FxQ=<>Me5Ep z7bAEgDLVObgUNhkFoqrinSvcWBFnZ=n5j2BHvfjJSRb&&?b-F#b&^)#so^c-MMXge zb(NU+3h$#5BPn0@5x+CkXSR><@P06gY0Iv^5i>^O>|J5WmD7(8F=uTZ*Rgl1PC_av zMbMMYV57r(u1%X?hsPfhzTCg8S?O^Cj5#9XgaN&91$8i>7;}!4B-IX0Mq;C$;Lvsn$F+Gj1 zrvPlqzFY;gj+r0=@1d^Zol>}8R?1=DgIQUNfSOX`hSwhkOErSHMDFcz^Pg#}fOuFy zNEPMg>-2Ah{NCRJ-t7EjbfDb{L^3yQ6vyy{6o-o5W`2a=Jp#gRkH;_VZ{+ZP4Yqfy z4XNjSX)((eWoQa<+d!SzY3sKAXL?SvIX%h|A$;>) zME_PSC=534U(zqZ}OoqW)Rw)}L9TXnj`?oIwMGXy**0pz^PTrj&;iTaIOZ+C&J1IMR_LroYX8(uGuLX0nmq*^gx_`gkBrJwYCK^5a^MT6qEU<#Z zL+Yhx)DOPFYo+GiT*Cwj^V#3|7j;MHqxDC}@nd4?6|=X4U1pual?%@LLS$MZh;e+2 zpgNt1+@Z;}%og#Mo6*eSlWWdS3*X6JpF7PF{N<`iMoOupn7UE@xOJ{0 zSB{{DJIzV!YD?yv6MeQem0}<5HFL%^r3;nQ`w*iBW5#PrLcatiu#q6>Y8m&i5o&Ho z!-hTimhv9Z$Tw7qlh`Y!@ybZ4kC9uRIC*Hhh3b^_xFxLpS;KUzEAxa^yt9nnZ}qtb zj#b2*?E6#_EqMBzY}2X9b*CY-`mEehOFzd5!}RqTN2HrSnzT=M4CoAP0wD<+LTPFB z!K8cyBj2oe!%5-?hJC;~TDfDB3^ z&kTTtl5v#Uko3wDV5(DS_hG&O-~&X>L@`}(4Y=T7)ncG3rU5M^ma9rNf=d@w2A##i z;(&x<#p)K80g>Su?|K zvrb;x;TBU~&bI2y#kO~=IrDWuwzlEn(#n}SI^$Mt1Eu9^5z5tshX|u%6DJTpYF9jH zW?XJH6sOW?nh;yoDk3Tbf+1~G6qIbVYn*bpG-yk#N{pwC=an=N(UtSo8VOmpPQ1yn z2?8UL8l0r2pMP!rH9hn4RqAxk)I29hpEKHJ*|%7~3gF%8MkVYHf0k0r8XJMkeiT(9qmzK z2PKc>D%e;tjLYOA?Mtl90qwTwi)H)hdBADIL0;l=YZ+5a{-p*-8Rq0FQ9%HWD{n^71ZHwvvN* zl_}xqCJHJd%pO-L#LmA(?FRHGAd?Wq<#pyPR-+6L$FO1Nu|~onEoBhW!cgo>Y7B!G z)7EtL)j2&xPFpft3KeKQVO$jwswO*2$O_Yq0Lo9dU~$SCfaP`6WJ#>jRgjSBS=kus zWz0J}g)%4=G$}Bmr(*iRXA}LpZ;>VhG((2K4F!z-@-lK+;%rZF4c-+^P(e2X8ynf+ zEVD>>7)dzavXz>RTp2WO4CC96{J%sD+XAs2eJw#gmh|>VW?qux5QX$%a~}TsX>u2d0POQq_D|wP_FHUEQg7e zra_D^eg@0*pt#P@)z#0HjyfTs)^t_0jfAjJ!BHN9os38D?m}j`i<@Z7!TI2nU8@wk zcQz4fAlC$a^fa%~d+qZ}zn6iGq$@I211#f8iMx9402eHJ8dDfv>d2M)cL~~pwM(a_khwUcfO;q?pyKs`AY;7!dL{S5V!h> zoGwwq(qR!g6+sb74CB@K=L`O3l*K5HX!V!+Hm0A&!p{@WFKU|lcHhPd#QHh+a2eE0 zp>VZN$pr}Cr}YB7tIE8#M_nr5T#n)sva-ECtBY+L8NChY$VgJ5*?#Nz>hggQMYjmN zqBSkRR%)HZ@uYCt5z`DL3HKyq6ZDOhYEH1Ug}}6?zSEeTx)#%XVtZn2>z$Dcs3RP9 zmM)n|bl}wV>5^bTmnH@Sj+zlIl>^EoDS{BB!QrvnV+oRIZ>%GH%;^i;I@8FTgbx4Y34Qa+PP9(B#MBdT4K2i@i?C==7-vpZD+I&^ z!01$Q4>03Y6I>b81wNSJ{ik&D05xD zHgdOW4TAQw;bJeCpy`FH^5dj6vU$;l$eb=OOdf|leC-1T1qeg%z6_rVvKqK~F8*4zigH=bs-s(UJIpOvh)SxuztRn8K0eUFJd8^Vb8lzOYxB}0*#1N> zmPOCjdL|`~CF(7)ZJFR%#P)-ZlX|~*fQyuJdKlNB$`pmPXwwEdM$C}O^1+tNSGf+U zTPcM42pZI3?Xp4xMCPBg6RpSi5dN<1X_Fe7dR6@~<9RXqs{6^&v2UsEn*|6xiTo`o zwq5C5d+3ZJ6Y3GlB1hk!Uo3R^Ipa_1)R~RD?$_knbpjn{Ai6WUvbxbsj%70}fKF&x zVX*~B@kMbA`}bh1b%LLn#=-Mz@C3hU0I9|#Sy0E*lPWV zMM#*NOES^HJIIYAK%|Q0Ni=Ic=5e$Wy%n1qkV~oIoQ9xXOLthDbM-S_U+gn;6rvlT z-49KUj&6FvQR+P>Q26{Hd1S}e@tv_UgZcSsR^s`=ks}PYv2Hb*+IiB|Vsq%X`rOBE zI7Tszhb<_PzAA`X{Z==ry0~%RNfk(U)O1U= z;bBKu3?tIVgoToNgp@)!nQL84i&uwv8sKuI=OlyW|ILU?@Xk*D{NGLH_!HQ?(jD0vbqDeN9^GjD}dHk>v6SM8fo8Hgc>cfZ5!w37q zbk`TeaXV|@V`Vy4Rlv6h7uJd@L2>OYDR_gL++T%;#~;#-&K13#k{rbc@qx08=g+s( zcJZm9q*#C_j!=vRrttIk4bkw;{YQS3f;l|z@fa?`a0p}!M|pxPLnw6F{(eo;H6du8 z@+7jp{ILC}Zh+ypYfqNg6T3mBzk15OLf&HLp)7LevI*V69W6okgVM5QekPl%Qn#O7 zab69*0bxtI6^(+3f6_(9i~i!T4KBJq6zhH>{u|?zVf2ks0af?bDch!5QZ0qzR(31^ z1Oli;9G21=ClSz>EDh7Fof+2?qrOX}INkT%;fOQFs_DG%pGUwHC6+JWbVhAz>8V$E zi|)YV$!#Cbc;;vWt>RO3^>)1bx%2kjSnQIM@kpR3n&5={zvz)V<#+Sm@BS=2=R0D6 z{_56}E)Zx2P|5w~2*hUZp>2WrnzbL9AY1o8>W~Ob1)2shH}$+X7<9$1?2<2D`^+7F z(yg4a`YVsmc;CC9BlQFQW|A4iaTJ6BeE6k;6TK}o_@Ygz*o1)T6|q?58=T88G?jlQ zUB`Vsu$3?`s|B51elxy**#}Y<`fzl!@Y(;7*vH@N3a=kcg3Y*zMXg`={+P#O3;3Rz z7q^^V5QN)q^;I&A`7og4YujkhYc|OzW7j!tt1})!-G`l`DJ~Y=1z&2F7zSx-G~`Er zt8%FF9Q(fAl~Z#s&b#J0qW|&D9&D~cgxvZZI6R&!{1S^hg8R3@<{B%L|AM%W5!K1N zhUFJ7PDQt3)tYJjY0t+wm)@Iwk#QJP6MtfUC1Vxj-U6^X5@Hk3pJzi&~~Bt+q~y*zpAFOctlf3p+kF#RQ+vG-4g zdWw5=`mPUzZj7%f&330NJN1O-nX36~sfi8RogZqNZ!1@Y=AY01lKOU*{jA<$%#%x` za{p}=IAZOFuf%X9*v>Tju|Q+pVy~utzsT6kQ{>OALeoz5+KXBd_X7(=*6jMa+N8az zd#Y-L!H*xv9cg>1kIH#Jxiokk`J2_d&4wp7_)qLsw?}xt`#U>I^8GT(aiRKTCZ_+# z{#WcvaIBKbc$DMyB4XWJ>tL1ZjU;Hrc2zg2T+v9yB4pc#`-HptQpX=uv%%@dl`|Po z%`LecwK<}vKfjVpT)tbrL#F)MMmst*KgFQa7Z)y6P&F%HHC`BjG$eYN(%Rvd_^QH;W3k(mFO0K3*C>7( zq373g%6;sa|HS1-7a;|?6Q?21QuWM&WOV(2nFLJZ^J3@tKqern$W=>1645B^DIzf5 zkr=7YY++i1MbQlfK=3%~3TD4I^(9Ws(7W^r&ur9Gf@`!q-pW{VH$+*Gsz=l0j%Y*P zX;r*VHKWe7TQfNzEn>;ck@F-9l)#EXKY64l(MfO_FDlPZ5DxCV?Tdu}Y8VU(RU2p65LHMBOr&R6VNtD#Lz6m`a|+Y;|+66q>WNY-~> zE_H01Z{su;)z7OvI;{|TO}Zvsm1y~8*3$xe%D{S!ar=FkyzxeT!SX4)KR$Yu$4END zTlD3#*P+eZNIn7|m!j5K+mj9v9(>DKbf#6#-DTKv1MWCs>~DmzXvg(Akt2VME)5)qmGh}|Ksb=9g;OY^Q=-$@SLe1>6+GkRy^ zmtT2YU{5P#^nX`U8d%HsynpIy_hUizs#@ONl}4}1Z*H+A)bE9PMhA^J`7y~Mak+7C z-}sDYUagXueWY6AmT5tZ- zltQzzHjPPnY>rhBf4^y7+CI@t6kIBadQ`gFaTm*tBw>thG$TD>U?73L-*>6Wu3 z%~^$;jQYv8I>XpA`z}ONp(-A`W)S<#rb&KSlEYbWD%n?W3Vcz)=DGHFvu4m4_1v-} z>Mv{w2IG)QXxsH^rf>6}%)lc$!a39YXaYxK`u zrHD7;C(hV0U+RfN60o(}MH_b}W+&XWxcXOky;)Bk)@DM5G(5=e$tL1lvczp>B}c%z z4&lSR_FNHs+b-E+^?clF;j4r>Xnwe#PBdd)U|x1wVIvj+fgMaKu_*gpeelXYz`9SHk#%zUJq1+YP1fAn{aEMLYTU6ctvJM;uCS_kde+ z!WKO_=kDdR<`%03wV(M62y#slUPJZ|Z_Ml0Zv8(q791KbeRy@N2$i!-L2?Qck|vin zDbYxNF5@VI=&5YyuN?dG?Vfq9M2HW5i_Tk~yj!6m;m$fG5x<2IALF5LP_W9VCo!0t zk}K?X@I|8OSaQk<16l!uCu->bO5nE}jc*KUoW1eql>A0tVI|{o(}8%D#8s ze-D*7VGEd2n)C;FGRi1y(;!}AGRX;1oTB>d>2V1IZ1q&{Wv9R*$BfLL3ixP*&Jl@D zhKzuH^!M+Pb?@VxjYwM$7_Fccs}PiLBr9Y0{m(bAUlv-w_rro+zW%L!@-ae8eEL{X zUrW}BLUDARA@cAJIe$C_MksIz=O`vCP6x6JY@myPk5Zl$EHYe0JMC0dsP4*Tvp`@S zBr&nKGJ*Hw2Q<5~knKWWz>WAile^<6jDV9v4UfwVNr!~DD`m%&=h`kP1dsRo2%XF8 zQLpJ@#)m^yXsEcDy4@8?H9pV{UrL*V1)`$4QN<;(+3#IxhOR1pGrnY(`6Yh2O~}r( zh)tGnQ2zE?px1VJ3p)L z|LN={f1|kfbe;z$>KO9#s{cu)51Y8B%-9Hr2Ne6reG85{l-Vp$(w()2qGGuV^a+e) zq_%!dg-b@cU&;uaO3=B(0l`uB+WfWBRFW@i_6@I5bqdLGP!(!qatc8h_=ZI?^*r`; zisc^tHLi7kNt{YI_gN2bDF48-M@bh~I4^Oge($WDPYp~N>b1%Io_`ul(*R^-SbS38 zZ6}{Im<3&{Nc5LE)IVW?+34a zJ*(t!6_5%xB5zc&*2TSb)72w=XTG~llNY%7CL;)Smzx9ZuDmbtC79?J$B4mdk)k0U zVY8Hj?HvUij)i9Y8F){0M@m%{GR(;mA0Fy1&kuj0-+|@A8;xvJjAi)ziOSnT%5#Xt z7JDLjBxf$EJ>96jx~{J7ZQ3X%p{y)ajt&P6U>d=En;`IX8`%hbIMBP4j z;XGE+W@0fOR%Cf4NIdn#>VDKe@3#U*z?Znf$qKrbmA*%X!Bu1nXIUi=<;+Nh{pcC|}^Z zN&5M%RFJK^Glpm=DWX%5D%gQ3j;)TxJ=Sw+Kb1X?F4i(96@Skfv+U;6IyE^yfm~@} z{+{a>#`Au)|0+{q`oilw5eg)$P?#-h=|^!yj4|idsX@J&q?aoAG0`uDOb9asO$b$t z9zgaINj6edw6F5N8v2mkwnvYM;N^11*KSq~iF&(fxi8#K%Mul|>OR&L%ng4XA%K6P zvjgXRL)LHe!|cXgAf3&H{i7fzqCb>rk@0pj@ln*-I&|ZOTQ}ME!Mcc8m{gk!;g{*@ z*w5$cKup!VY1xH%Y7oE#*Ub%I07H!p=#}X%^?TTum}VuU;SllTjxgIn^2K-rq3%H8 z`<%0+1oFHmd5cbW&!63yS^4q^nCfdAbMIjj$0rY#$_^5_z1PX=xBKCDG`ir~!xvww zs~C?)KQXT}@@~)MKcm0A{D`rbA)w6ugNXWE`IynxfR^9%8GxkBu6NDVXT*xQP{?j_ zt=&0xj0B_RBhh`j%tdZ+@w3le4zK40q{uOd7~{@h@?1W9W^smUuRvchZx2_po9V&5 zm92>neywnKm}@u#U*2CS@sv)eM_HPFsf^aV`M?vfX>oOOeDfD)<#0jhN6~6yp^9i^ zuSO9pZ4e3rf;v=$$_rk7bWQWa1cL(ZXhW~p9!uS;1X#ay?{QtNCKG!7&1qdC3k^sH zTVY*Bj3&cBDPxzkgEm%Awg_*4?+CIY13oO%q!gxL+zt}SeI;Jx$1nPvTQR);LBXKe zG=`#rZu5;tH2v%H5B^;LbBW0rv4zo$A&21|&t%hC&3K~2Jf2VfEKZEnAao#b?T)zQ z1g#Scyd-p*`%Fy2IFzafk{xj&7IQXfl z=tVaS53Fb?YOs+V@4DZ|!5Ts>@Io%cK3*CpaGlgd$3t&CZ*P1uft{GL#K19K6#)iq zS%qMb^o2<^j*HrW(m6{-hgk*WO_W%eKRF`nUQ@(CYFi{HLjGu(mG|jUYB@uebIY$A z^=A=!$5#vN(*@c;lgaX~NbQOhx9+#`rM}GvY3vgoP)W9aFU+-BsA8WVK7KjIgkwPb zNY%=r*flzYNj4<3$WD8T(n>1rQT`~;hi)mnD7sPcM)@>b!W7@pDwEm+Cg-%>?Lt`k z`t9mX$lKhHN|f>)T0QcUHg4Q=gukn&2HrbnkqW*0g{W6nV8T#dl#~)%S+%2t;?r0| zjj_Ni)gl8=`Unj%4a%S5!?_u(D;OJIz~NVv-E%bOnBQXmxiqOh$^XoCkyD@iPwJpIM5u z`YqJD8qI#Sxwfi@e8+lXeiuQ@D2+omoyS})8a4<;qEx`_(;{}e-qMtBFuynF*^LdmOOq%vht94wqS3!!69Y+pWNQ4EE68sUS z9yx6h1Mn}&qQ?|QS>%?Ge@*IpEJgIB3E~^6$O(iMdL1dsvk2jCMGjnEoj2kOplJLQkRp;;Zl<)jSMAf{J)V$+cY^UYE`-JjNl$L>PGd)yOsu;b zX4=$UE5}}02Przow|}Og6we-}anN5FKN(I6h9}Gf$^Z5_xEOj$Y5&PEvUVpABgh9! zuC2Rew1~x9@n^!Pxl+ym57=HECoxGQEJtq+O@U2S4u8h-_hYRSI7X|G(bXW$LQAfOs%!3ZCk+vkGX1jW_D*H`leV_5>6HuW zt*SH6bJm>VNXtaZ+Ez65R~JM$tDQwe?aM^UU7n}3vCZa8s+MV#&xwlAPRtw7j+?rM z!>tsv((D8vDGJma)=DuyqM2>=RL)nSU)?nlnE3Yw%K z1RUV;06m^mn5;b(Nim@?5I(5mFz1r3=s29t<`|1iD;y-G&YIC7R3nK`M=tjvar<R+bilS7&9W7FcDb)at%EMRC z$W%zV0}Cz5;DoW`3PKPs5{=GK=VBEid+xZL4uAOXNNpuSxf(~bcB%r4cGj?tC>^#U zEG27Mht!@XB)*uGT7_p4Pe@IXlLDNql9M9OiD~CpMVbS#%1*J;Em9-t!-LCO=LoZ= ztyr^yg~E$r;Q&GcbaA%b&}m@LxbwEjF8!RQq7K1Z4*dSKR{qhsOw2Zcz5DQOTAA|h zLA(`i2l9r6emOEEGM+jI12PDjSe}kCCXf{FkxIQp&->dE<=wOI3$i#cj9P#QFp^#I z>6+QRu^`_0CVvC&SXVy5J3}?OAs|@!Uqr)C`wkkc@A>h?Oa3@g(@$;3gs9E^aTaBY zj)@zd4xhZEbOi=neJ=QA?Q<-?c*BnJ5)Wp&v+oMy)%5UEmSB}V#x%vEBjdOxA?1XX ze>ND-lze#(MwWh8OW9Wf4&Jzto^)dL81Cs&`j)b7^~A&q+6FdC4u2cU>5t_gUdF|7 zB=NyfRwv*vn;Qz|&ni&m#PRxBv61iI@Uy}#m?@KAA^^rs(!zVxGvB*!Jb$j>V^7TiUeD>7ndst@bxSgA)tjMKaAoc>Tn+Q$ zlS-KX%2u1X+BqYmaS>fYT7ZL!7 zv&d&4OPBZPJZM${P0vLVU}Hzaf&GQT(HoDK8JNDlNhQw;aFB?{d*Zp79ChLP?;u)d zC*8;XKAXE9a6D5tWFNH~!p-fEbw;+0LQ>sv;&)|Qy+2k;oRmOI<~Opz?jIkOK0<%Q z`t2FBO}{}Vufo2auAy38QISx-#43p!D;fFv`~T|fEu*4}zQ6Hd7+~l|+8Mf~C1n`8 zb4Zbp7+^r9OQcJ>ySp0+mF{L}1O!AvKsrQy@ca9}`2K${o)^zv>)yN9J?HLo@49Q9 z*k^w}o56|6gMZ00EJ;S&CwNRGZG)^dm@{%hR{YEDnqz|1w9bI<7?;xNxotyj{ zJLFOeS%f}^h!7;rA@RJmD9#*watQ^KwCsg1W`uhLga^yvrOE3VO67!dTJrtb1FMo%C<$c7MY+6#c2ooZ=$8M58wMA`Nw|qfI`H`$5bsoEhrGqbYjyWEGS>r zkfx>0EyWJ8E$T;Gkk49U6sfDv2>av){m*0n&cgqJClUf?%j5dz*h(WKck`|6>EJ$! zO39auF>-nrdKYneXb0~Cjna(x+{hv}J^Ot@Bmja56t>2;Cs5SVBeCQM5dfHB7C>4- z3sxBfLVJ29UU;MwVm(Lt0Nl;Ao+f}60n{^ut!Vkx(-lF&*m4@Q)EWF5`~VGFOF?W! zuppAwdRPEpEsPEM_e%fZz_>{d=*I_8Ff{--;GgmzOyoZWpe5gfzjy^|I!_=e-u}8+ z5XPyfEQG84MG<}sJZajhK)try-L0Ts8j~7F&Qj^1A5#!gdsbp2*bd3V3J%OjAADf^NLF`gw zzc@I48N>NU&#K|$zG&PO3HQ&&Z;ISQ!0%!*EqZQM8(kQxG`N7I{@cm}<~v&1JKUX@ zC26WMcA}4&$Gxus9D)wz=CU0&Ni zM0joAkzo;v#Ju%4iUuGfXHEBz(O~y(_{2Y>~EbG9fyvUrb!8LTYo^uNvQg@#2^0H(vj#C z-)f%4DH)Q?Z6mtVk@&Oq9%iWYM3Ai!Vm7cPOi7tjq|en3K9(olqh|wSoKlIzoe)f} zA6B$Nb0}3k`$Fq|S<`wHrgC27so5*;c@=sL_mWJ=AEY6&?{g=-KTKEVMzd6zcIjvd z$UFV6q&i1;ZePid(Zh!p5ElGge*RJO-O1Sb2fG!Yz z)*c#7y)`XtJb1yL-Y+%zfk8=f1C13wt)$F<$9kTw5myuDMbE2!Cjc%MAZBlP*F@lC zx$b5jLu~npV=UXZBOsN$DfVu9AuxUP93Ju5a8eVI=MNMxjiqwl)v26~Md>WE4)bTd zU&P<`Xz*YUq0dY3NSXhk@i+06mG1JqbN{H?aOXWifP(gWpY|ALtG%|yf!hWLTW(2c z;fGZ3PvR17ZML!mm;EafNBDj;GhLe}J8^$7FnO?7tc$oz@O&s+WtQd$2vaM9hK@Ug zv|b1Z?9MHmZ@e19#x}>JC0|Tt$!RGk z2ny*ZlLuK3GT}zDj0;e}dTCez6igh{(TdormLX&coVZ~EWDr{lJ%A;D0d-Fp5Y~qY z4rRuJvQR{mrCTdPqp0EJSlHHm6dAJ7>HS8^dMvt3a29Jt)ME5*+vLPr*xeLZgb{>D_7Nc8*elPWUPgomO&%tAKw z&V3JWxPEfQ~PAUl}IaVu}TaXQA%9%Rz?c{jwU*84!-F1RT@x zj2r0UhJ@82dtnxk`tHJ%nbaq~tT*n0sUoMFggk4VGJzc4hX;0g5WwJKeuy8-#_LTi zuCg>iHc~A6g(@3}JxTAnbRTnE&$uQd%$z~ox?)u>5XYawtbzY-l3ale$iDYjC#r`5 z-pfdO2EyFgw*OV036{#2c;`qSorXHF2PmBA{PnbutwFnA&XXGhvk3u&_aWGFO6y7D zv^;RZJ$EVg483+Z;J)ep9tHqJfPv9LULvkU5Pr!ZBR%!;{$vPw*td))I-(`IeYg$$ zAQr~79{Lm(ke)Q3sl;fI1^}ucZehv^E1>7I;(geMdCS3SE2?f|W5ccrR3U*no6VbZ zyBY+%k+&yd<|!yQmfDx221Cpa2Lq59I)iMuJQ0n3J5nS zrB2r#hq1OJ5lX^OmB`t{A5mVJ(queqBb84=_2v-KI;sbkQKbb$A#Yr~Gq*#uV&Cvg zbyLrpiTvCLW_2hCIOdkVOM7qq^B_J7{i{`>Pq{98;d{{UFDqlF|g`!iqWzBFscS*f~vNyF$}66RMX_H+h7C0q6Ob1PwkG71|pc1 z^rPoYID5NIDXJqmIB|u7M6~J?=iU@YfHXeN6ZWSqq>J$3e>G~4z$>;Mnv%$UR;ijl z4Xp0nGhtg?XtT#u#%jc;9-Do}5}gzCMn68Nq-k$%Wwm>_K&%$I1Qrl17_Lg1kc9(W z2){VlFwypg$WC|cq?9g_F&n-JJ)#UfX0WuvFy{L?tHbb>nZwj{pPwf=LH`F6MSSsC z<+FXbHlR`BNTQX~hYqCQPzuIZQ~RcN8&8Zf5Q}) zM7mV*hmOnHv3U$jfh6P{uU~^UObg9cKSVeQxm`<@Ki{_8i^F6$kE||y$u*yi&jP?P zGHlMZdr|qDs+feVI=`ycT+gc4N##)zVD*DrV6l->w1B-zru+#JEOa6JlCI(rP#!3u z=pQvBBoB)+zEVzH;`c=%Oe3O!FHhqr(L8v7PrrO5Rj?R834lS=RRJ-Qbo$4yBX}vC zbQq=9X+OYT@RBb!6)R^IWg9FkiuQ({eRfyI(Cx2#E10|O9Oht;Q|a;gCn`&(Pd`(h zk$0c2QVOgsKbi6RiYfJLl`sZn|G_Tz8EJ}V(WsMy3SVWbhVf?g-uUPKx)h(3%y>AX zJ$}vaTtaJ>J02iE-nCPvfXNtL@`M4=QUqW|ST0n{m1J5~j|oH7C{2k&l#LWzv2(cn zSdX>2cd`&5IoBZ=V#zo$g9=&Ur;}o<)ot{&@QY$>wNar* zudRgk(I-Bb_9ye$075BwmK>q2+bDRqZ1TBiv1vhOuBK6dZmvMK!hV%!Ey|@lD6YIy zduRn#Wf>a<3)CxIuFfeM{cii@y#@)ME@s-k$m`dS_KSGwKfA)Ml6r`#I}W|`vL>Q@T^L}D_pq$_{dXRLcsKv8;RX_;g--t8!bT7~ zu%JjwR+xq{-+J1=G=5|sl&QihXvLy?KF`PuU|gjbNKq=xp0MNxd)QJP+{My42R z-TE5J0y2a}euF;G?(X=6o!B=8(Qzl;O0hD^KK|vf)(Lp{&2L7ip$|uw<}hM$WT~=~ z-Oie8)v1_mdXO-{_ybFrg;;Wcsj78{L#(D#Olv!W&)zY0h>|i8UTIU922oc@6+ne> zQ52F6j6e*;1(P{ll<}x_KsNCy0c(}dS-3zYq&)EysS&BN)-7Y&y}E~%%PMk}*{Rk4%BZ#;NQDgsuH z5^JB@LADGQk{v$m#5!cqs}kxLk3~|JxO*_5=CHTj8Hl(kHAG&wm_=l|Dm1sG&l`xD zs=aAIc*J7HPA8G z5@KTXr1*^>*dVwK8Y_!L67OC@77ba&+jjc+2&i=0&RqJ3P)S3Y#eNas8TDMN6J@PGb~n8$LtN} zi=0fVmjwk(-t#QiAemUGBPzK`!Qi$+k0K82e6Wgmj>w*lx7qSuC)cBtrK5%xk@P6e z@$aub(_)=Yb(q^n{27#yG<9d-_4Q)#24Yoh%?`?fi0h4hU&v#t$#4oosEyQ=@FJUv zF5fBOY7@*zG}bRE4lh!NR)&&Ho4G4e1+!LsSc%<6A)(P2RXqiU)_vIO{LXtHtStlI z(~^-11%m^g*8iE3y&)RU)Z?J~)f&-gixfzZk86!><@G7db0$Ttuh@=J1!=T&QO&=% zJk3Vhle@}MrFPl{+vn83A}_sey!_F+{4M4peLmUdwEo+Q&o9i`iO3g&ai>njchc-P zLVFF;C`5h=iO_c5)WU|Rkwt9>=Ar`rX0V%~pt5Gme?|wtw3>Glr$RZojEEnZWxuqV za`YyRD59U-$lu-JAzWE5TG2(!yWaGwx5j)?L4@dR`IpD;^NmsdX&t8(#lQVEeo1c} zkNnmfTfd)*sj$2`x=(Gm$Jlf75X`xc2GD@`eg={R_*aGS%i(>8e+o)j4SWka-wH^i zau*{L;|dgZ7v_HVx@rw;TJqzi=XK?t0^3y%16^5gOyB7DxaM4H*M8T}GMwVo!S+tH z5@XoqCs^QY9g{7)w&)LCZRuMcWmF%-pJSUms_#77nsA_VQXsHsBteNBU#@adJzXfX z8{S@9`E^n$@QtKTO@~XwL6HT(sz6`TEl3_?IW<0o^u#5Ce(j&aq#-$$tj;IP^0;ch$NPjXznqe=#;37*#f@i2k3IMc% zU~5YvNlnp3e%HYFc&10ADKxB#ag@WI0YkN8t|ujSB_D5IXA6t`*Z{hyk)jKQ51uWC z56{kxU-z}%I8!zYWLrOM3|Sfjx6kh)-L;c|QW1hz&}6>lrb%Bl5mD5jkP&jssRFgs zDo{kb;7F4ZBfRk8-i_-RO<3F-@OUXj!v7GJ<^P{Cy8&0h$0TE#@$1nqBo z8`z6f5sWIZ=$TVRpfJIKK<7-F)S0^+Mju=T##gzXSS9rvQWK;G3pC%Kim*R~@!t*h zp$a~1W0X?GG}SnzTQxDGQ-?S9bCZuG z1fyt_SOuEW2=CU)wHph+*vv$Yi`bV|nSMFzWHi8Qaaf;tNA){Ply{@efA@;O==FM^ zBb79bo9#@Ve3NrAx&3&SZVFDJT8_%X7xxuBy^GY={319Wzh0TZZByA)0-NtFi-y1Y z(ivj{mvwvA;b-1?hC0SO4(?#Ch?EGjK4)4j&6F*`|*XU zAl|k27kBD~J3d9g*Xt!3+|Y66vkk(|zwEZAPIN_p zxgt}Om&pR8kZ-&TYEjK4E@QEJ7*z7r{OuucAaE2QWwhgsx-6wYIesJp8-Zm)$$D0Y z;TaGc?hT_txaF6-^;T>M@QgT7EKr8bn3EtyXd4n7X*BS@k9-jy>902^Ra}sW@23u@ zFs6J$O#o+-(^D)BAwiR=8*qmPnBu8hhG1NS4a-jGY-eriMVCV#ejnGx+b=CNsiU^7 znb%5%;hVlg$-Wbf%T3m+NK}^S(*gwX&pJ+TkNJuW+bltwpz)CcC()AW&=-YqQs-_v zb-^<%;c-#|xBKu_-S;Mg-kMe$IM6UWE`tHGNVUTjSAB(oCLT)qW_hP(r$XJ-8LXEy z$fGdoWZjjh7+TX0#MT244rLB-Qtm4LmVSMDR525a0M*YnW4M8Gy?TjtN&+0Ftz$+A zE=pbH*wzJh4;E8U@nGqYaTut`m+NEK)Q}bHSWlV`cV}8s$t&^+D`x4IjLI6)_A7tG zd}>@Ur)`oLVL%<8In0RwT?UT#Q?xW>Zg}yluXjIL4Le0UU<{#j7 z1v-XJKiayt-{{E0yQ}J|3;XIL%-sq)n9gT_H3)hySDtgvxyC+?eC0cxWs~d_IY0GJ zR#B0Ok47*-e$T`W_S4k9o;+`p6En(Wood^fPz_M*>&6Q~b; zqPPF6V>sveS543DqNRiPWyASvi9K%t!clykSdJq@J3m5$ex%Y#u_}ZPhIF$OJopBY zAeM+zvhU{2SM-fg9hQ(ny|H0fFn;Y*~|xPnqZtvH+!fme1%d&<>fG~UJib^wzMe-WPVDI^i$u$P1T*#mtVKF zl|>7Z2n})#P?fg(DPXE-c{8$6$Vo!T0j*}U=MWb4QgspJ;&@LXFHm_H!>$r9A`sn` zK-NzRBA9SU4sw=E`!QXdJeje)yyp2~TJ9R z-qa___xUWX7%cbN?i-jU?sMHf8@gW^h$0ewc|Ow86fEC1le!G6UfCiYZ$!fy-B>Jy zyxDn8#7FET1XnB}NrwKHkzIxO+o{l!pNmg8YGm0;mOMY6yygUu2^A+fn}8pC4)jKp z_Mh`78&?|{Eb}J%t+gaKZ*m+q847VYJGm)Fuu6UcN!FsHz}p=#x?&8l zv9g?N+l!_C9i_Js3onLYvtUAPW_@t1o9%?)wc@b|wuK`g89^ z1O$dPCl@zR+BZW)8L#|?$xCvUUV#wz=gpDHZ1!AIV!!|;RmeVVX~p>Krg}kHa3hT9 zR2x?4@|+9_mayR4uNn+{C6413JO|^i7V0F%6dQ(&jt1#x>^%eO&`afsmk21V5 z-*@DOH!oz9EMR24PJcT?PIgTfa*&F);@XU;dIpZ}CRGOJ%PlyuLFZUio}o@PvEeMcmWX?lnK`5^|tBJFHJ=pP@0)5Zgc7TVKd_*I0{Nb z(C7PdC!^oQRk?laP^+jhRB5Z<3o&$O>Bo@l>OtlhD?DVYO#JWUOx*=$WtxZ&p}HF$|Ti zTlv$i)3?UVbk`4m^zaE?(JQRhnZx^mNxFfQM`5!$WkPvjUHD3oVuI!GCpu3sH=Pvb zc{LL~h&*3CZ|ahvIh4=Z=%{5>LzebiuGnmp-c2UVJE|Sd=hiXbw1r9#%H{u*dIIcv zyP(oLKoZS3Dc2ejUjF5ZCbf6l04<*M(pqdZy9LL|NmIx<_IVkt!Hmmx%9x@(Vi4Mx zZ963H5>DT)`!J9CFw5Zh4PEDSM)4S2;C`fAS3@589BQEZw>~ePJ@GT={i7CaTYApX zuL5`!#biKg{z`5yqVG+GRSiuBiE78Al*q?9Pcl65ugrh7++!+E5Gjd$s~CfZGaptK ztaEpV8nfL0y%nuDQ7oRq%PWn$-|3W$K$OUs$X&1ux!fk-Ms-T28sS@ECAi~$y85HO zdeS!WYj+%F%fNDYZd_eP<8mm+9|0>~cBPCbfU3k~>I01V)@lz3+$tLC537&aHz$A0 zxTX~EH#TWrwQ{z)<&BlE#5AFnovKSGxFz>ICrU?`TSxPlN~}MpZ0nw}tm{%DnK=;I z+G|jQ2E67LiiHwWPI9FxxqUO%=U47c0%3Cot*y(e#SDBq49Tr^nZcb2l8&EBe80c) zTboFA7}peZ?cUF{bwFh)t}MUwlzt)Un7Q=EUGpNR!0N`3JB6Dy7w|gNSOi|J2sNl0 zerSexS9>RU+mxavkT64O_tTF}v32Ij(K>L|grLDw|13fw2h@`7a+MJEcu(o1zME2N zM#@ajTJQv;%aN!}oXCh|s0G9BtM09FH1N%^B{*<+MsV3ARCR^cspA#X3(lRSlEC%n zh@=6c#IuI)4}Oi>sQbn9^4As9p(eQqg4dxYFI>go)!ak)gI&wf27Ri=!tL21UY1nq zF^z(JD)Mr;)Ep|w#?6{`8Q;Cc2ODU&R!xO+W?v~|#O9g0npS>A**8+pAnXln+iaaW z2?yU>sybrwbEi7D@zonyQWFZ~5Ftt`=fmbS#fhF5b5eDe)(a5uaN@HT*0Au@&r}hp zn~}oRS#_UsWSwd4fmpUzUJA50nHVS7no@}xvDg`@JcHM83eh2=@bP-{dCD~3v?*yS z?=x%hb73b z_>u4_K~U#_%v=g5C86- z@0sfWy+_zUv;TYOz+vUt$FlT-n<KSoww;2l$Ku4W>sN1x-MqHHd~%a! z_xtlb<~R*aA^8REcNSj8h~JGoDEGTgFWCRgd6I$raZTR;<5Ec}Qm>dl2jeFr-|r5N zEr#Ma>61mH&GQtWCk%QeQb|?A?-C9QPGWQQrQEiDmfb_q1-m}q-S!_#uSMdRVPm=B z>QsCq>JA9RU{}YXI*b+)vnY(Bq{f&PD;8^&0G<#f%wZ-Mxp*qPbK7BTKQl4&fBJDX zH*gQS{^UKvGNiRKWSXpjI;fw2v`B~K&;R6K07u1a!<n! z_(DAd?CLlXjoG0`}s4^DSljJpSC`Gbp`AVh<$EQC#1gT1^*OGGi# zNwyUIpU9hsQf%162|%ZfQIHQ{LMqVO=R>;50qTSRfT9RLhM>@YiUG820H7s52LJSM z07gE|17ClJ06_qCfFLch`(Z!ep>jWs@J!M}mIs0i0*HVxb$Z~#m=UER3{5Bv5Cjln zDh3Dx{<-;uaUOj3*Z~jzctT7KT3XwDYE4{?w}se(f8w9hs_I9Skk0Wx_bo5*T{_%n z*H`7f2^soIAU$xBjuT;Qh4a|yYK zAH5xz+j;F@8#$`05W*A^ODR}A@uhGzAcS9?U!bcEM|eEcicL+2QKChLN~>kT@#4;z z*)%ex=DaCk?I-W9@NtC6`-t?n9&gA#D8tmZ0zvX6Ky5OTe5l9_S-R0n)ncrmLOcX3 zKzmr1ECU#ihb=^Fq%Ytg2Mmj!Q)xjv160u1a{KW%>(@d~}U;?}t%m3RiUYd)zblHZjDUO(SIKC6b(ad}?kc62;P( zT;Bbxc2+sbdXGf-)#6*7ACPAH9)UZ71)eQnWvJBkdJEot2aEy zhH~5b@1&k)kpL>^e+N0sbUB+opOg}@4?&T3b~>;kR=%v#nY5;kC9k9?tW_2?PM1N@1G7Mm8Bci|U1(l7gRzH?2uPuVEf(Fe&+=@d6fhFW4n{&;4T_YZiI(}mt& zP?leF4gbE+`SIl|n~Y=f#xH&9KW2aEl$H~q&Wpu`FYA`=-Z8vzc0G1v&sX;Q6f4&0 zEJy(*kBp!H`+=Nz+qm_WQGCB8WsWD*0#xRMv5-yz1*{k9=xYNW_-^`!*jfyQJ#HpB7bXf}mh@|k;-Ifs zN6j>d_7zlbsq6mf|D@)obN%0Sv|=#6 zrQvCBhe~Q9%uC4Ye5vaa}2wGm2fKhj+g-O-BShOc4;tZrNroc2WI#m1A?L$6;QTfW;qoGL3WsU z#iLhNI+1m!YQmS$qn4~@6!$NSbpxq?@ATi2uB~7>d3A<8J$e~xaJsM}o#s|4oae{b zKSb48((eA}zw7?L=;&?+@uy|Yo2!*^o03~O>BBx+P)@o^J4NT(lbO*=s7=IKs?5!z4;7GP_ekVIrQkF z|3z4q7#j6Nj&h1M)>G~M+9Pw#a+SXW+&fdT-kW>x3y*q8m$kAkv2c(;b8##253Pcc zg&jtzZ+|PWc?LTk5wHX1;@U@jiGK7^Od7XEQz$}T-Jv%_AVf7DIn(C+pOx#P^eZof z)|b7n8T(iAnVLoVwS}gySv`jC8U*J&ZY-xm+mQ-3<4*R{~WOj*pbE2)A| z*enAVkckjKJmD2~ZnCIsGp^>lRGm|C9;}7-BfwQ93wln=<#}8l*j8gE_f)Ptc?FGI0UGm#{mx8~>+8%&8P6lUhDVZw9V z=oAd(%G;G#`R9cUda1mmzUH+=zqy`riqU-xA*}4x2tUi8A(fo?Vr-x-+psh4#;S{*U3^SkJJRM})n>Uw zb{cqOZC^fetL}+I%>^uEesdt%_*%@&wYZ$1+3LqoO+xS__meo)C*NtVbVtZ+stjNx zN6&9X!azU&2;87$e88f~jM9(C9iICdWl+Q4OW+XPC)%)a`h7_&lYFP8SUI~(JxsK2 v)ceu)?b+)5yc&w~0ATp-TiS=1D*GF8*rWM#?S2`2!X=qMI1~j{O>zGR_{!q& diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-36-03_9b9f19a2-f2a5-11ec-aa3e-4649caa90281.SC2Replay deleted file mode 100644 index de068ee957f0ea9385c18cb4fd1bd6bde502d14a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27882 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

    yX(8m*&O38}k`fl1^d#jKZA+~` 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 diff --git a/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-11/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-03-51-21_bef03286-f2a7-11ec-8470-4649caa90281.SC2Replay deleted file mode 100644 index cc652a8a2b2e827c88a4edaa4f08dd02bf87aaa6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28645 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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[-1, 1]_2022-06-23-04-07-19_f9917fce-f2a9-11ec-aa7e-4649caa90281.SC2Replay deleted file mode 100644 index fb6842f9cb7b320bc5a886808e8d5269c317dda0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24589 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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-25-35_86ff7008-f2ac-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 0110d7200b8d82a15433ce0664acf509636f2bf6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25855 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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-30-06_28b2b8a6-f2ad-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index deb8764a176a52643b5cc4a53deb1d2f3d55eeed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 38276 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 Hz6SpWZO*wz diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-34-43_cdb92e7a-f2ad-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index ee433083b6ef7a8ec4c14703c3d1e5d91c55370f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35811 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%0D+aiBRMw4D8`?gyX}sj1ZZLaa!Q7JL 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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-37-24_2d518b34-f2ae-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index f35bfde2038619660d477bc30517e0bb3d8b74b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23847 zcmeFYRa9Kxwmw+6yK9ibB}n0rpoKeyyH;UAgCrz4g%|DwEu7%)?(Qx@lVAZtgyhff zoO{POw;#IusbBieG4_(VZ0~Q`Tw{MrQ%9E$fC>Nr&;bDNCl7-ZfXb`yW8 zq^io~<>29J6F?^@h>C#^z(GaD!A8d+$HW0(<1FOk;Qr&FBRW^CA#P3B$(%a?Qfd5Y}!ha<_HSs@$81sKb|2Oi#2>dSs{~sctsiR9f_tYMT z2>^fwzyNRk%?oEZGuhyR!Vul3^}70SQ$|Lto3S3uyu^|Anf zzSRbovMA#(3#C;fdbVwG5=92Ys0Q#saxS$}EB@m1f0zAlzg#1mw<5wN{c%G26W2IQ zDmDqC(D>$t-xH6|zou0C0SQtqCUaF%_ah1VRE761?;;uO)>1feb60iZ-W|L8$a4=O|keJ-x7ST_Y68D9>7&SA>_leCYO z+NP=mF&>GrR~b%4iLu2Y{zV;2uqzKENv#}I^22Jxb6ImaJm`~@haBZoNPI@GAvMx&CWhMm`vt7=8yhdCv zl`W-uk_t^3H}k{LBl@5#Ej&AQzJ8QjojxY}=vL1nn{SaQUJ*RCmv9nWU}83PA=C{| z05DKbgaR~*ppGl2kuXHNO5?;Q&&4GM*kOjshK!P9av)d>3#aMD5`ztKD)pqB1tEMVHX z8A+Jw>G%tmPd2z-tu#|~irUAO=s6hXKNYMnt{=Q4+?b%s`-veV{&mfaLMBR_YHHg# zOCUPhAj~q&swXYwH&@y-jAG{8YgIS39J)s=@G2I;EkE&Bscx~>Ue1H?%5V%)@F)IH zF&>3X=80LH4#BQCbj(r;QR=lm87ObX{{wtEDQ^J)3gPY#105Z#zgI6mTF~;B?Q#QP z!3pHdeW+-C0w@xVObfvIcqZDX(f+T&eJ4bsFB*ZV0M-@D(2 zJr{p!h9+b%iyX&y11g7*mCh`6&A=dLT46#3h)i=HakGycqfunngvn3`>?zdw_e4DWvO2m>)kjrRzFz=;YoA!YdFV{$8VC=? z*~|)_kSfqwzz6iUe{E}74U)(3TSP9#5!dremY-y zVCw{r%Z@X-jrO5*M%ZJPBuh5d1VVVN^#P)Z?{Kq?)3a6x|p-_&rN4K-MZLK^NZVrd!iD5(|4LpxCoD2ep}<{(1OMQ^C{?2cU{NC&4V(p_6|xQ<0sst3G|?vlh^@1o z1q*1<^hKz(^%pf!2r3c{pwp~@*#Y`qlSbTEGo)WlQw)xlRdO%xS+*K11cr_dRG!ZR zbB^;4dLQPbe~m)MDZ}bB(^z zhuNWQ-CGVWFNk-fQ#xhh?mLM5G!>M5H;Mmy#J1}oqpcx_4A;0MHDywjiqkr!C_9RS z+2*RYJWt~`i!D&!x#Z&QdGhN-`oh!^(=drO0Xp{RuR>dyiI}64VdJj)j>X%F)BSy@ zfG7_|01Gi}=W41Gn^E{%<`5u7H5-A>T2lZD%*m-foUD%XUgaPTZ|7uqyP0YGw=BB-JkZ2W>}!YEeKkm@T(K{IeuuCLna5;e82Vs>PO(9;9U>a zF>4~HP*9yD`Yp{f#z)_?{72Wf+RaV_7=Zt*2>=n z1+h;&P*e?PyJxN5$ea$#K44Vywqv!1qAG;VdJt(F!`VBRte%c+!n3U%BQ48!l^vJu zGg;c5K|$a4zi*NB0RUMnt=q#&vh2}KAk4A?fU~u>tR?~{TT>`sQ-ekmWXtsvR?MDM z5~$!HNW?j<4P#eMy*F4~fSt)`>xdTEk2j-XKkA+Xh!pS8z?ty?%xv@`RAT1TeB{v5 z9cU^ONe0fMDIuW2swie!RFJ)m3g!T}`_ z%fmor6)CjHd@e))F$^(>wgg2%0AL8rEZTqVLI0RwP?Q2F05dWq8W~amKq)}auhdJu zBS~Q=9wHzBZDd33pXLFYtSt>KN+{GGfEgx>QZOI{D=e0MS}W(qgsh1LWCdgiK$yYU zsR&ki6dAAvy9h@LjxZB6zj#bJLK+-dmcn%o`;;HAt!O`9EP_AbrWq~6QCQ-}Q4XC? zDl4}E(FzI$vJ;O%$4|3`1PN$Snq*N+5TUe8P)*Q0Vyx_}{7&;gkgJ>PbOH3nU~xj& zIbVMfC={5e^2n}pV?Tj;i`0}+SbA516#7unta+rZ8-0$M!*xVMAcJ!bm62W4#Ed79 zE}md~TA;O6|0Gt~{3WV=v#=XzwvVHp-2As!a@wY+Y*3ZyF8OtXY6&pcTheK>)-~CX zI7b%WhN%z-j=q(W2NSF;?(|xrHrv}lbsGG2`P=6wPd{_^y=Im zfRi&|r;+<=qL<%g-)C!4TYg}@;fL7K%p~brFL)Ivu8)7}Cm*^n5%`w)f{ENdPlu!Y zS3KemRiZ0GWbOLx9iUq|E_^+m__D`5Iq*H92|JKcx??|^`3IW7=W@)c2HI|XY$rF! zINtmN?7Yk>$VCHSw`s6`uM{m_{w7BACgtM zDA2PXr%kXG3P^oWg1Z6}N>7|sXF@BEu^bKN$x9aV_eXrz;mdr1ej(9VZd&Z}N zbVg!2uLe$iKH#A8Mc6a`uoRhMs866d6?@5 zCf`V3)~|i#`g*s^SC2zm-lPem&-|i_`vPEc{c%@^gA!%kGdvV=jS&P?B9Oh z)pj;kEnkSoheN;@;0G+=(!D&Rjx{{GQJ#VAoX0KmDY$(mu+(iYw+I^OL z+l(F=3C3#@(|t*<;)DellL_y9Ae0InOrq?j>CP6ms&nd+q^E7CGgEG>=TELG#m%9w zZ_saVTQoJrpYkHvh5VUR)9knEN-N-aez7mPCyD70Sdn-Cw2Tb>i*+P7CaM^)Aq;XP z7ZYpC_FA4FJvDgTwIHO~W3lRoGj7~|#gE;WJvLv;q{(+Jd$X9c=gW%mDubY{-lsnT zUowp!jIWn7)<(i--Dlu04%_IbcJs05G|O0w=$8k3x_pDkAKZWYo{f*tteRwspMsBC zLFeAD-Y7Bnf7=bh3Y%EXJBdW*>W6>K@4Q=iXu9~}^?GZ+U(_?#-6h}klcnEGS70u6 zN9oy!!xggQmB=eB@^&u&&$-uU-ck9rFA`c|7db}@-_JBNOlB%OO1tlhMaTs7`M7WL~R=mFdk?!0{3q9+%hXworAnt z9UMi{drk&4+KHOMy9)L5rD0`?>uW9o^d3A`FBTU=ZiPAh|HQ7j9> zLN7Elf9-DJfCgHdpfXC|{oaV)ta5qo9El*085%Vbblk{fe+l?}7SJ|i&70kQjLk*G z@99(W4pS=}IHn3rPo{4uM1W$dDdd*k$nj5|rX9{!{Qi*(JRwSf&A~8xOF$&z1 zy!A?<79GF^9I={VP#W;RI6mREjVX#)I;s^}a`SXmMLn+Y8hgX+w%TZ%$xIGLjZ7}_ z4j}MYZ;fjt(HpRPUPvINWO1p@ zC{h18rNK-M!^cc@MWLU`Mc=hNPP%0Ob5DjrDP#8yt<3txECa(U^C=DveHzJx?=DaW>NE#Zb~BwXin{of$)C7 zTC&nP8#k41kUW=B1%Ch5XK>N2Oesj;o~EBuYp^~;JOsg4c9x(1cp5fJXx{{69L zl@cM&%;9kqjdt~8TpMQZ9+wpX!FneaPgJHR2QH0sgZE0iXi?C3CGT!+meVBrXOQ?=pVT@mlegSo0Ik;dpl~5p+2fiWdqMoGRzjj$0AR1{5BK@do;uD=s4F zD~`k7~LFuf``I>DE_aj+ClaavFW7C6!T9G!zXg_yzA9G*GF6}m6`Ef!OyzNj@J#CMH zN|A~|?*PYeg`jP)IL<;$6TbywDPg^!Tcoi+J>Xdj z-zAn!R#8EObIbL<`aN^;cgf|;Mq6AQ(3VvXJu(Kw6%j_N!y@5)pP!*&pF$EE!{c^& zYnq*_|MCc(^Tg!iqubQk4tBOHbTSRl`#`5P{-Twnic_Rx1AvR7xPh~}@9QQJOXogPgcp*ibw_AF9B!Nc^pXu;cV22QMMfo!Ze<{M6>8_C3BT7I z4zq7)DdHz^v!LaXW;e}FS~MH6L5hbV2Z47bqmWfYGA~o3ZKXSYFYzb^24Umm)mbsq zh3EwLAD&l2TUol9@}GadT9e)lXr46%^vmLPPWWuZ(D0fdnha-$=*fjW*3Y4Y?zG$+ z8#!<;Z*t)dT)Y6n7OtqMr78yCK+^d+Rte+|O)3J$U74m#IBwg=9ENj$yJb)0^_dH& zX+K%EIb&x|eE)1g=2x0;g6E-BBF@!czM=P0EpLpz2{{JDA5J=(jkdpOEqt@u8)WA* zb@hxnZL&p|cw65}Rni%&vgoxz((as}FY~efc9;XUR2bUW@*EK%ZnnP^r`SAMMhGI|n5!-(&y^}Y z>KS>zqV!l)BH#g(7^}x|H_y7O1LMw(D0~)}XNn7gT*wydF%h%yv4BWysTIM&TyRyE z;knepM3 zAj|{lfVsrFS%^$Gd!@$LyC~WjtW+9~!<*_*Gs#2D)OlRUsW-Ui;~Rus?JU^Z`Fz}} z!uVV_VwPhnT{o`r-0xb$Ex)vlBg7_dU5b4YeEHgam~pT*NU_(vopaT=t1DDUmURD4 zC|3O#;A0HoagQ+_2OXcvsF&e~xjesyarj0;fU*8mdCJkar z$R;b38sD*yV+OuaZcA!obErRZN16O?TP1f|*=I~HIh$&OKZDx>Sd!XN2x5Y$g$)+H z^i)Op>8zTi$Lkso>-!3$OAhm?+8(L@We1RB-(R29I5Rt|&wC^N3Ju4yWT zkDW_-X*0Q$w~Q6ysuM>cX>Z$bFb_DiO&=%U1aVFrYtC+vuI`!ukMe~0zS^GX`TP_T zxslOge*3$_{A_=-CC2yZ$hf+evMSHQiop`26Yge_m_aMb*ATHYm3Fd}6yCt+L4Y`{i#)h=d zxMUFMwi_ZHvgk``VtIR10@`&C<* z^GayEI>w}3YEuzQk}0VBow3cuJ1Z-rTc0y%N=iy?vPw*+g5I?HlMx&jSx=~zFRIE) zhmDv;(J=^3(qq;+bS=v6Wkpx$fezz?$fX z)FI+kX?^7KBrPRvj*5fC{g!43+(rXa-*zQ1kFs~Q-R2^$Y&J`y9JMJm8~kkcrzJGY zj1uyicZJ_R?b;Ido6^Kbxg6Mj_EGkEi0ZREdMRO3WXDdIO)J=Jd8h2)Dm#{jgjmNi z9bT@esAyDd`AP%%^?1VP72Onru>ZoWd0hntP77%RorCK10_QhRU-NC;%=614|iE>4; z6qDt2X(TJ-NRr3dh)Aa}nCh+Vfv%W^v23<8)21{Hm=FrRG#32Sf%@gWFY1*FxvQMU zwAY+;nw;E4B_=tB=VBz#c>@y%F>bs{sfFeBdfKa!sSuM z5<|-%RGrF+VQ-a$QLE1A=R{CRcqNFJtdbue)zhDF3n$3yj$$M2Y~x&cOH!22BU`{=tZ(c~zW8m4a7>kY7BSIqKD=w&yS`JeY$baskmu4Q||H3*lE-KD}&*NL~ z%j=Qsl#^@)r8aSWw2%(G>bdfI1(8_L2z&DdX-;DY-{ZGxN&FXy9G;nE(ZMPz$-Lnq zID_$=O0?WHvljDg*77m1B@yxxC*@Sht=KTly%xG*+q0_3QBE z_fOwRCXNFnFq_xSU-~Y6&f+#;@6=R-&3aE?wB&w%5j$XDM;NYTo_j+2HmL89c7cz< zwoEQpNsnHDHdg#)URc^G)w_3$;Z3KlKgWlY`d?C%RIBN}E^G>Z2#t~~%53^V?T$$P z#5x$Bua8W*H;CrBtnQT-Q=?@F`vQ%pyXlcked=GuCL*On`{%oEN6F z9I=G`oW{FUhk3jyT~`F-%XOq)(kNrll(I*DZQL@^T$gf0F*S{_l}4MlcFRLHA7uBQ zTA#oue|xVu3RjZDSKDK=5W;R~OR?9c<-Q;E{rGc-_L{RIJ{H9&AD({Yo7ZI2&%wRg z(4v<{lZ}PH2b-59$UU~?Szvmx;X z8^<-qeL?sZCYeB zVgNBJHbA$^&cFr@5aI}Mo%4vyEup=Q4{Ocjjw!F?uB=B_)b@9J@U^=%mZl_Q_H34% zm_FcbI!PLoa=oP+WC+yHPN-}5<5>JagNE^3G{@#rD^ApB`$Fp8yL>h)JPSX=c$BwM zWUzOXPB}VtZ42ox$Ch9&v^-;F${cX#bw!kfNt?0_cE#5oeYEtK@>!iRhb@ z0>!2t7eCIR>N^^#4BRwjUrEWL`FKGpVUUJdTY#KN?B45CAZ4e`>qkMVSS!j(1=3&g zKOw4~vt9=ig*ry8SHeZM<9CJ73YJUMaf74FHS4wcyY*Aq;dtjrrXss;<_LGnO};EW zU%>-*gN0@sDsGN;)1LRJ@>y$(&%zjvc@*sD zV?*_LMbbD=)vTxW|o$0z2CqWt*vUl>$bZd ziH%H_zJSQ9Bh7xZdTEOQJtDmK?WM-f4C^Blh}Th66H6}=&+td9qz-%idEafS&9OhK z4tnjFX={)Ax-Y)(@y;iX>OAs!?TfW2V76XP-N<+3VcGpQS@^sT_L4czPkD5d-%!dg z#XnD-E0SA~ghh{zCFQ-2P*+*B^{|`<3E@`Wkh*`M#TCQbv7NMfj!;u(42TI++uPd2 zQNgGU<21#Fru9hCYZ+4(0&_aPE8KT>8ejDP)GkSv7Fk^uXtcDm((Ro|@S>ro72Nlb zln|=tLX|;$p?kSb(QAKA*2uIh2yneMY_ehD#0oCFtfM50bSa7saWs{@T%Qm-A6NZT zA?6jv2ByDlx;WPx0@z4|kL?H2i8U@x5s2`uxe`RInu;1IK6~?+Lud~JO`si7t|Tl$ z?}4f>V*UA1Q?Fv2%gXT!f5tMmK`8~~`GBe<0OR>FDll0HooUSZK9f}|pfrdp<@Af; zzVt!v$=s&(r&I&SU#4HoynajVeYdFk=%1Bfhwr>-_+r1ycqz{u?jD+DYtXHGvhBSo zrhcCU^zkK7TwdTqz5l8kQivRh&{(6GYMwrpjIaw9YT3>$bfGk-$W%#Ixq_UUjnZti zP1C0(jJ(-;85Aal7nH($m4olM%No2{vy&+~{+U-p0z71`l$3Nc4SBAm9da@;o$^A~ z-S1>|r$pxJuSd{I^$X6fUzD_R)|HIS_w7o4y7CX3Icl9O6RwFW)oAZL1I~;fiv~tf z3lVS4L3pEb5=VGCm6c**XPKlL_@t_;K0rMTV#4RJVBRqmAuP;SOCBWwMIu8-KhpKO ztV*HYACs@mv@O>^-TEe_LHU#ydNGdMdFimAEgQDzmy)X6t)?OIUbKBYzyfFuj+LHnqV2n4R|mo{U>m#2s2O zp47sJ^?QWfGoLNM-je#)5z@&0I?pcobLOX4t({g%KRS-{6MnsOi+`*fu2EX5t{y2= zMAvXJ!?q7r$04m_qBmk0<=JN&4$j2D1YlCz1Y;&Ui9R2B5VuVpLKQiS$&v^l?-Z-H ziFA;Zc*&evd6u2DK4Ho`{O(;-Cc@F8eA#f<)uM3ri)ObBjg;8V@|KM%bDfXbB{!Q$>Fxwa@O85E$D7yu^VeBF zB;D}5T@R(Y0(d#l805iu%eo0MrF!M(bO{{lZz>lW|C(@I3KbGLL@mZ0{#ANm{*aOw zF1_dteCa6q3{R^frMt$rgts@m{k_e@iiZuI8XO{DskSXhKWvD>cy&Vgn|K)|JG7}le2PN{7(GReDTwBw>25>vNw^dQcedAS>%!@DvneA zHrOm##owt#bonRWe#ADUG=u~Zz$Y?(63|gK5JBG1*69%s^jm&}JfrIKULkl(%WDbd zb=mmNGyk9{=HcSvhgaKVtT9&Jidk(?E~ip7F-{)KrrvV$5@VH6m3=Q%JD=B)6880j zz&)5GW`rP|Wo$%85laI*3_IFde#neiu6299Ejax|nHz50`208X)^B&Z$@GFbo;Lg`Ubo?E252j9(AkU)y1P<&$ldQQB}W>ju&7!C^n5kT+6P7N>cOp@+>{o{7av zdbU25NgtvFY9LCwVid?jzKZQzf?qNM)+>!P6{>3C6V!0hY#ccR0S~YsTCe>aK9jo^}W{;*c=R?(xYBdc< zYZjQ1+uNe*f1*z${jzVekz7soPSu@y(?f6lyaw%(%BGkZ3|n(-N13G4{2OWdczzM`EO*(ZZq|I}MvziX|!36d1(D_)O$5VGts9Y+Rkicq}}LyjY2v zh0MB;-4>jpSWo=)$C`A~5sB1Hj>K-n-k^k~!b@xrgUl==WY{Uf0x&(zB(6C8kZe#a zbC?1(LY^I{hpiZ1D3lIVijfoQ8-fVyjOSp2^>G2l!OUT{==O7{!6kk2aj|G>>0-0H{Mi1nZGzay^wy^pOAwcD&- zL}&90Mlt$EO3yf&t)1Wp03&5E3Q$joV^rAC`6{Z%QZ-H1Z#fFwr{`@JB>1JWEmM9l zRIN!;72BMAAgPXKM7{Os3G4BoGo+H{P+b4Tk#N0}bt1afnA8D%Pnw2ZbkWKVXJt4}(Z&J=u`nDDv!joz1{bI`%Ierf-ivcnz1A#}ESvHJCc z_iXpRL*=AiDNhW@gODdLtmZELqotdRZ+4onJRExy(y~N0#CKz&!J9iJ8f&sX<$ntP zL6JlKy=jW-ARt>h^y#c8bW9^4VMYZsKg*ZAnf?Hr%{Zhr8d0XBmDdZin;J{d*X{87 znG6Yhm9W#fQbphr`FW!y;tN@a&&Sl`{D80qx5vectSNEa$5ota3!H{^eOvcR7BP>e z7z5T7ul%sg7URG?!}8|JOHlT<=$CpUTev04o1>x;sKI}bpDwTo$Dc?)YqHh=dtD}g z?9-JJL4W{he))V^#gwt`>lhvbr@|Un&LjingA0{1TvCR9ly#;QiwAMxkT0{Ak+WpF zhPjCUsF2`lN%)CIr1DhNKb0{9Lc^%Ml*Dxq|0IaFYgeB+hJBCz@U3o{Q!wg3%2j-H z616kzCo&5eF8jo9A^-p|gP%U(-+bGr@RQ|8Dc22LDZX$G?NwLHPMTc#NVp% zK2lt)f36?o0z(Zm?n!UN)X5%yLr71bK3q&TVfoVMmaO$sP;=|Vg#VNFAAqnH`eLRS@M?8L^S2} z9m7`FIX9v4SEfJt`Ox%~m9d8z1CM4P41}tFk6dK@{bVe)`0qZK6mm?> z26aBS+zj9l=vF1zm5|n9e#vYtRm{lkmMR@bjrG66LmC{;eeK98Z{`Re)i^5_)ni5rXeE0mG|qQYA$ zPgUc1$x3DUKv69c43|yG-BW#5#&M}4 zDY%w`^(jOD;V*rJ1R}lYP}I28C+JN~RA2mN(edz({G77zKXZ>2oj0U9Y2v;CsiUXr=Tz{!jV~wZP{2R;*ZAPOt;n#2eRfin zW~Rze@=|yKJPB1P8ofk`i(65igjp>KP!11gVuPq4V&w63xml8dOvHr{6(wC}SJ}`s zY-Vm;V+w4Y5IqVK3fpQ~IqW1uCRs#LGB%5xEw-#8Q)m*YJQoUfC{r2`pa_pviPh0D zj!Du%1miF(vT?^4!;84EnING>6%_I;oFux$eP$`r_L;F@Y*!U55@pk~uF@I7$M=(&Th4zrdSA6~Wvp*blO*ZS#$Lfc3 z3Pi88)$ZrW`fRm6?hmEr$;hZATPl;)Eqw9l6@zDvF!97zY8mI+xC<;|e7+p|fD-D= zG=nVxnjsnnr=2Eq;lEZ-#!Oj@E+ ziVD^s4#$99s`T<}pPI$|3{db_o=GJMlD)IT3Y>U2ZbJ{omgZ_%DQCnrt#!BcQac0; zGgA}{lguJl#b0r7;J~y1rIo2Fia=o<^&MuzTwJ#LZ%pqa3@R*!J=-=eMQe~f$0a+DED&a zD_aB9tEb{^G9)z&#%c;IH|<;`S5ZfM_^1Ik6VvD;q%TaV_q3WPcDX(m)3Blk-s)T^ z>NPuRXY0D;S5zJ4G3g?pHN<3#Zh6yyf@{NvpCxt8H;xn1+*-1t;W2taF80`x$oMo{ zPf}vB*5*ZSq+2wK{#=fP?K(F)$p<;>EHknv+6tBP*u+vRvK+t*OCrHKK8@u6Wo?a@ zGB7hB$A}6!<*uv9lMRbe{oW-v^azY0tl7yb98#k;5Vwx+0Mwn<f?=oBvR$zt$*? z5kh4Tnm!BYtJAKXA3>1m#+}j^t!@j((mvM#Wap#V&XVmG3<-*#KlK6~y%j2r$R*3AdQ;yHj6&A*J8r+aSim*0Qig}nc}>-%)) z?SF_h?fXD~5FQnvXXfN%j&d8Lci6~dn(UKlaEGR?ugR$RL}j+8k&!#d zFJ4@hE=Wcv1!-!4Bg;3kg+vPr_hktHDCbYt<^FANJe5M#1SYG!VF^S!!_J~*WapcS z^q=g5IoiN5k*8D{O|+#&1qIo_cp2KbVElLhww_8Tnf_SFkq``-uW|=MK@fmsWI;r# z&Hr3pLMc{QdMYFfm}5!SFn}@^0Op<&8Ii&Ndcmg*{}v1`;1U!!FpMPaS>-$K00nR& z*Ev?jISpVAid7D!g~E{W<@Ssz3QKncpha0gV6co(ZlC6|5q=};l%t9ZEfiE#CXCNs zA|S+0nw$=V)=k6on$rx@Qb`pm-Q1F0UEZF7cuC@!(;cFA%@ z*){ij#e743UYvVOx9 zNN?;QYr@`UBAh;0ZXdO7p>k9W@gTnc7-X@dvMyEi&TRL?+2H!#DJ=cL{{Ep;>aq7Q z-N`TG@$kaSPrNOl{o%*;jp5P9;nL~p$v<|ZiO-Z@z67^XPs}W}!q!cB7jqhuWR}FGWW0OMBr0C!Ny&Bq``L25g_2H>H~`JwHGq2k>jXlq zUx9kI)&Cf0iX_Yu`-h5o?Fx&>2=0b*!AL1(*#Mc&?7MQf14{4``b2abMFFcLPVlry zj-FZ4gllYye(KlZuds8`JK=378O3s8P(eb2dqmM{ol(dQTLW*j{&D~q>X;|Wr`m4w zyAuRkBA%IRA2rlVZdkgF9o)yzaRd3zxmE==+V*7ezIs%Qr?yh_HpH~G%sfiJ-Ak$aWl+_ut~xE_X0%gZtbjk>RB2cxKds&>V%_gT@GJe&MXu)c zad+qUTARW8Fa=6xQUI*{lc@+p zLAuh%wvQkp&0@f--O|cDNRU|SAcTb}o8mg*>hi6?xv82Nsow<+TFC`-8~Y+5+@B>5 zvvr?^CUTDbhZHk&`EgYZ=sUiuj_E{-EJTWl7bn?+flx?g)y$>Vrz+k4ePO-^Vv`=0 z3m$Ri&09$SI9JFKj% zOoLeA?7knq^iIj+t(tWHaQ?7sR)6MBXzG5$cl{QBCg-{K)Un{tm(Nd}j9?EQWv~D} zj<3E4CQ8yqd5cefEd7nHy#Kz_W_bCXtokutooMlu;fjp%<-6x5IsWe#(WKwJRs36o z^>vpuN_KaTmtpA-gVzD$sxvVi<1#BXsUpDoMxpEaQ5#<}NVqbb|KLKPJN~gn@XKSk zU}~7d+YeYf3;KJ9Tb?kA_)Veb@X?6g*h0D<%(U@di!Hxd7OvRKpg|$xtPmV_dvq(0 z!xz7r=X@Qo_OxX=S`$3p!XO7H@ma~DVx-UtW)AR*lw z>goAIDb6K?39F=e_=5CrbBij}ohnqLFkUb&v73ox#ZY8;kz>p5thTSr#KHD+5#Vix zX3`=GA?#qWVBuhy?LNQ`3(dD4B?#~ilax6|h%_dqgouXjj{CQyncGnOeZ!)l>8qoM zhM#edQaKCXB|iq~_arpdO5ZlfvDQmSHMVv<#{Yc&*{1A`<^2dRwWy#^%bV>y(R0l# ze*0+^5$Hns@9(!f24xt5_tv4qF&*v$3hK3=0tC%$rIko4OM&_FaUF|^Qe2~!4oEY% zwguKkhVpurxs2c?hrj93 zIEpMB;4`fP*VPQr9pK7Sv%_OIIXPclh!ZrbM||`{YYi%h^3A}KdEIR!<;M|x6Ef^~ z6m(BaNyXW6UE}3wugqgoCHK@Jh8~UB#5o0QMqVwcoepDk$p&~18gW}p99}F{#|i>+ zsljS6wdgacya@rWeq1So*Y%EqS(!Hq2)si=HJJz%2#SK7oce@Zl+4VOMrpQu!k%QF zlyhR#yUmx(oMz6tF2=KLQ)YYi0{u#AYel+Tf!XbqEOYDWxCy2#q8p;~T!>WrjZI1~y-BjoV)^)((uc0Y?h;m_)D&|T? zro&J9C&J{xllQ*8uY~{7{oRcoJb0(@XXCC}A*9lpIZ{(NcgD+cb=AW6Vjzpwc|`m% zYjBKEKXo88RuF%X^e{mPmvTr^GGzTenjBpNA`H=y6~h1WT-V^+xEww@8V{G+TsFp9 zX(mo6cSJZs?yDBMwsK~SXJyM0{dpF4OZxVgA7)TNnlwAS39X##rldMZ(|azGqi{|6Ek-`2Un~9zabn+a6B{CG--I5>Ps! zsPwKtLJc5FHx&_E1_^dw)>D6IrE(^v65v5 zLIRXQT92X4VZSiH=jq*?h*#@stgn0z?(WD*wcg};YV>)jzfr<$Je;I6vSdz2U!Ns5 zQOuXDH#A<<`u4E!c(Plk&83#$BDj$I7Q=5MjL_Y^eO^e?$GXMwZ=%?HzDbb2xQ3S| z!@mD9}71hg)m)vWf4 zd37;)agm(^PEb8OKDn1a{UINdCO->U-9eW(QrZ3Vrf&K5G_qzc&mOs{zOf-!XEO>4 z2hISTO-_8L&o*3JG`~46{?&b}fj9V? z!`n&pDw@tTzRT-16W_ttKCz>_;b zOjccl)%2;)m>{2W-zg+^kd92^HLe(zjXB+kweS#srX3E8n~hGE(E73IT%s#8;*&z_ z;v3u36ZFUMx1YXhK~!)1?YVsyA-{CXV4zF?4nQ%B$SAOhNH753i9C3!x&GP3Cdh3K ztEs}z)1-tRQsU105GSd4;^mh>x2h{G2$4PV@~acfi8X+^xTwD{%M40N1lchUvADm9 z)fa}>?jSvS>DDutqN8)9CkXvubyaB%s~B*Z2@`|hDiknVLArt*$2%b<_xlp@;&|BM zy{Sr6Oaxyy{WbSOQ=#h~WoC&DpPIz+^dF0^-!QSZTFNMe&g=P^dd-@PQV36xk3^7H zhdp@I)-%F#qut17T7pGPo$f3P#a|XJDVCZ}4Sm*{NKw<-wKPNj+EYXTvyoL`Tcjvo zV8V?8oSk?XNR=uZBzJ&gf_fAvZ(_#)8dFhvAHO=!z>N1$Hql#bD_vGYV`H^`Gp@;% z;t==}f4R$1zv6cr5C^>d12s&`nEPc>2$#iAxrx+oy4dQTz0lUet7yxq;mc2*KA8sI zR~t5*l|Jf(lk8YS=epU)FUey!1cslbwre8W3}shkIk{iz7`K@iq~gglG+Q#KK&jQi z>g>DeD*RM+<{#&37ik_UiWTc5(SI;!B86+Q{SeiRn3G#AH$rdPJnn+d{Sn>fnSWm7 z8qPprA&v!b#vl+pH}?E>ch4zReyNPfMi4Vh*XePiF-6eE#Etupj|HI*KYyOb+x@Z7 z_pu)BSWuJdpWWDeXD?YllpGw9OvVe$4Fb=ScX;!Pl4nB1St6OKt7gowFfAsP3XuPw zh46<`I6s&Ip^1s|zJHS-bE~)YXOrZr1=T4gh-up-7iPb?NwpduQJDYkvnj5?W=iX-(ELd03^Di3OyCe=+$BZstA|Q* z{Sb^SSu5(MN9@K+^$m_S%__*tUPDM-|9vqX@cq;{AeSjMj?ki>$Z1Kf*=Nkn@-v>X za7)a+uiQ4BE2|8~N51wNc7?ae*8eg52^(8gyz}!kW>M##b)T^Zu;E+Q&dO-^QdUJh zC|;ZWYkBAG`=29O(Tui6^Bz3`Z=h-kmI9e$aGcO~>Dou1=Y{SAG{xjpq54mJ|qFiMU#mr>U?yxi=)1S(X^eA*hY9>}6Fx zgT1~iP8DT@@n73&H~lq?O?O_yYXcKt1X+9%pEgGfN3L;Bv>Bf(s{!?{xui);wBa~^ zOm_(jpFv`b>9#4fU$)drT$+1dhTJt(0*+Emu!x~MFftEYS<+dW9|_f~7K$%O4lul>b`gw3*hRm_}R ztYmGp_Gls9ODu*^dq*Z29$JI${mqS1l+wRe;FPd7S1F*b$=izulRP^GD%Zu?jUcJ_IY@P z?BEUB3=|UyRPU;trH%#Zv{QhF5w4M}50{S(Ke_kPNZGNX_ic0o#SSvn%n`3+xRV28 zzDaKQ)nTEGbCxx~vx(iYnm=*u{j_Z-H)0+H-+JL)R$9NeK>xi+(z@+k`2be2iz~Q1 z;dM~;?)9h4kE?v=#s=Nu-SFvkL3c1jpD|(d8686Zb#3{6A)0X{5FAvdn5o9SYxE)1 zh5Own#E?y;U3W&2ijlL;3yEXyJ)sa3B8zZ!7SYKafUBfHe14p%l9I45<>2wPVEoHc zYi>(ZeZ+=Rr>{J|Od(y>DaI>_q1@KApyFMLm!D;~f9gKe5C2})`&wNC1;dNr)qI_f zgUtZ@gf&`!#D@@mC|~avE*qPCN9Tc8*d2dn{72a?Tlis-eU~bBx0=A-DO-5BB&8Vg zCO5Z{`}@RN2C-%sM}QA#34{C1cbxmAAnx~ssEw8 zF;c(d0RZt~7Z=B0ECP;3T|9=qdY);ab=Ln}yq>#r)^Bj+W{m7t=T;|kqVjO`;up?K z5`MaED4$_)nY{&3r>C3*ma1bg&ZSJ0;TQsj3#1)B0c11!0l&risi-0k3uxe?gbEj~tN6-Gyb=Ip5E~BoKb=cZ&mdzm?@1C>8L;>gTSZU* zw?1}h7=SDYVaSL;Ar(DYzjTh5U}XM^!OJcM<61r~%H+pQ^vAFSg$%T^?U>yfHd`jT ze5nn#&T_euH<)vlFl{-k+F}DVGqcKi^hx;R^J16N-}0NbO_3Kit#_X^5;xC z-H1*d1Yz8u8b(7jPm#REj)BkI$s3lRrY>K(?wNSbdi0%8i4?W=tr_26)YY;8VeVGc zO2&SqmjZFig6uMjjRyezboSgTZuTDH4A{Bt0I-Qqx?%Vy+b6eM%OJAyk{m>5;fXwF z`J74Twg=L{3UxqnF+hlkR|83NU1NahP%gvs8}41$+N+s>*{zlniC%Gz>?97qasVX= z2-F6Cc|I;4iTeT8T~TyQcdE1U$uTSikmBhN9@F)?mF6Uh>M=$1X%(jpY9hn0MzMtq zDwYJ4(8MACa(;L_O+!i@nP+mDVXfm(QnrqwNW4=?;boZ&Jrd{Oq?Sf2bh`}Afv8}p=U~>co+Y?Bk3|8T+76h zvLm2EQ%!ptW0z4owj>5#VXxfaq##DVMx;j+k7D!ul!yf^=u}x^HXUI&ng#jNfiX;o zO_Ih46rm~_%?!AmswA4yfo21OscvjWb1)oJ4pIuY4_ZGxo7{0X`eK|i&D*;;7I|L$ zONs+3$tx!3Y{JyQZRs7e+ml5P;Uus<;T4^I{w4+@VmB6PF5b(4!2Y6D^o1xb-VNg+ zk)j6&h26iNt?Av<6l_5OK4}(5G^YWXMS+6-pTqtQLILa-NKH(V`R{~E!QO>#@Cu0J z76gErFQr-F1srfe33%j$_VAP9dQe2(tW}VY?qSJ#v5^G+$75PD<3Irb9#i1}766bO zpmwpq%L_=O%P@7${3#0nwlh^`kZ}2?1OeXR*mEm8=YTwq&g>x-l>BZ@??km{jR;*^ zS0k;hvij(H0E*Ah8u=!oi{YD+d`&MMzG~}z#dCY`&FfRauc|jV%>{XuXJXW^wJ{ya zGDHig1h*u>xU1*gJ~Yd}!`DIB$Vs991NPzTtCB2vV?)w5pbxY#4gAr(dtIi);qoz2 zT(+_!HEOTC@I`}?x3WL}u%GT+B)pC8Z>Hc%r|xcI6dz+=#dus!1DG3p3p0v%kNn%G z4AX(vpS+s?+kf7xqt6q7Qm$_X8t}DXaDOg-*QoP4ULpt%Ym9aLo=2YZSG@?|@VjNL zb1*~txZeF~yLq~?)Z1|0+iK}pQ@;gw@Wgx&ovth*hd)_q0RBH)@ZDn$x-KHAltOx{4PAMgBh1 zKP`~`tJwN|p|P+)B5bWP3in=_W=@3^(3Z7|i+V31b4dyPPy6qy{m;?=-=n^jSK|~a z{e$92V4_WJlc=j@#s$2bhPZ4gf2qdOii|taXQe*O$!od7e8?O8?UX|~;e$ODoN!sj zzxN`DrnhsY(y#Yf;#)sS<=2RE)!$-ja8v1;d+;cr(!s@lV?yEoyS(7#9*vH=x7tbI z5&t>4lP?1bm^N1_8MO;wI71y0T{5bl!@qoWE^)qM_E~n~icK`1LCe&=c1fW}+mc=j zUU2b1%JCvVM}6-yRk>%WF}(%Aq3U`c=CwzhhN_-x7Dy_uNk9uH3)Jnz0ND%;^8I_su2eC zy{$N08jVfen?`tJcF(cdD|FA#yWgimwFAhS% zq0HVMstB-DeElJwN%ZsqDGLo!PH+R|c@pRksc|RfJZJlb1%DtUIxXBNv^H)pVbiXQ zMM}V;D5@ka6MV#fZHlF8IFlIaXA=?jsVHSkI<;Wx#WY=B?B>M&_ML21xpl#6%30nN z332o7t)}y|Yaxs$GX(2v_Y$lEJtk*}hoH_G_@Zd?z53ojA2*v=1v%}2KX8$X)0CP9 z=2}_qAI2WR&5hzCmvstq)FUr!_}o;bc)mZ#kqb4Qehqy`NZ1_ z?`RO?H;!w2&2r zqZR?S->avuiT3z?i~CrY*|?7~GEViJZY8BzenLmTyFQIUGiKP6$UklULJBD*gSOZV zMWPxnIC@6!+?(cVtgHGczN^!uPaobAXct6W?CSo~s-&++=KoCO;%D+6730XZM_G&~ ziwdJFL$6zx-41PlDF|ZhG*oXw{qUhJy^F?f!z|jr@?!Ge2m2=4A0g1fs12<{LdKuB)>&pGE^ z=iIg4^}e6(m;2P3nd++Ush;)g>FQcF(@LspBmh_d000jFxc_Ac*Z^1-4G%LnNjEbq z4+;o`!p+jf!OWM0lM@yJ6##;T1tGzMaDgBI5@;bGg#6D19s~~real8g0>U68z{0{( zbmSO0mrp)Qv$^45_4PP3q5jhf{a;moyZ9f33H%@8zlDDz@NWeE4?w*UM6|Caxaz`qgrzXt(K34I#@ zPH{at4LxS(+4ledPw<~V4_aDU8aFh^${+x5`EG%xZQK`J#;-smF@P!eS4k#3T$fJ1Fl23^Ma55o&A^!;=cI9b_VjO0qm|r{qP7F?L(e7^r z0t_Ny19n_Zu@T`0!!jeB?h+O<^|Yqy?hmGs_;PiONx~{ED$}3o5Ow|C8UKcqNFd&@ zOCTjXt~gYYXGTqJNF01WK!F|VO4*2p1egAC9R7n61*5W!29l`=pmaW&CknSR=6HhN zX_@d&R>snfx>8NVVI%KV_24GdU`eWpoPsyie;;U*7D)r)^#vf#mxXN(!0Umits-%n zJA@cuU<`*r=L38(cJNavFplG*G|rS1Cj_7xDZyw8`9{2B&ccM;vH1(oO5MJI8?#(2 zAzdZo6Rh^n>~D%~A-vU$*4M4fhh2mp)t4{-4R1d9N8Sk%Lw(37lc;6GKr;b1{0u<#%T zAV?Sq1dj{?pn}F=&_Mu95C9tn}@X-5)gn4N=rRizpEQugF^*{ zgkwkB3V0YGfC>mu`MtHzz8qiA%+7$RQdeI1-{!!GyG|Ma26y*a zQ&ko5&&~UK6JoaVT_%8SNCGb9S6H~O954dS6lqaPS={p!q{X{}*SzK+-MD^Uf z2GRXx&GU$Y8CFos3O?H|HL}|G0RxIIS2Ojnp}h~AN7ya*;W;vVn{gGK zunl)i@-P)VN|V$*wZp<%S*Pmr+C=Z`UA5m<_KO3bsq z!r(|}J)Y_#J>W!JW%tt)-$UPm0{hSI6vlz@Nbc;O0wp)-YICOTM^lQpR4gj5wEu=b z_roYM07mG~?w>zW5KsQT6D~-qA>(3W0LRg4P~%ZU0E>zt03Z^;#b&<11`Jdbv#_xM0JALs01h!gC4|_HK2^fz z0SpDq0Ttsyz?^>_7#NOv!ppv?OKG^ z7wpKP)DwC!>||+}RX$<1-oF2S_@1^M zmj?CCbs*%AQ=W+gdz!-deazN=zg`<|F0Du=M05G8dQev2Z z5`+J~He&#b`J}&A0AqLAD>a?&#{Ls$`${;1RZ<6DH~5E@NhZ;GA1J1ZAi|N65R;2( z5mLtQtto2ME|W~rMg%d~nw}QV=?Nc7-O$mRl})zTvdetBbdoeR&7wED&C=c3$%4I< z-W2KbA~I1*Z4TTz)C9VW&#f$drYy6hx%voWQ(0LVX=ye~V$;|m6H0J=J}rUFRdo4K zrBmZ`)HChv!j)gkG|Rk}sIp58!){ij(=lzro7%&Io^VdTygBXxk+ezb z04mJI;m1%*u`&T}a(^)d{j_-ocvX6;`SbaoSAp#=r=A$$le-*5efG?++c(6+!d4=k zl0@Ze6O7|R!1X=8%jx>j*q3IRYs|tHd;IwQ@IFXf+3)f2nq48;r*@%)t74U=1M8jT1LTt%mJ(#XE7&{73| zr*c$!WTQ74Hq#I23e5#~TJ1Nf*Vh8{b#Qh!784^&Ck+>D|a=un!dRd zbU-wK14;W>dDj+-{m2tO^P1Z?0NA**3%`tg1prV?0RV5K_JQ+iKFIX0vhw-P%Dv(F z{!`mBV-j_SFwB+Pro9f}AHq*HyvW{V@0RaH{s4v&+WYVN2u%HUKm*z%NV*JV0y#U!Il{4yiozqbAPIq=O#`AF>UB|C%FVTVC>&4hD_) z@8bdhbihz3)HI6_h68{VLI+9(g#cjat2EVc;57ykY36tf3xL@{X|{#MVt~JM4DcTp zn1X+b|IEIB2#XezlH+fenVDrAGEr8k#9&Nc@EqeaC~CfCZk!kjCDgE(aL5K**oJ3Y z#l>ak=a-dNp1#+>fgF;j+LkQNr&&x>FL8p2z$8+Owy;G-pd>m>4M!!g1$`^%y$0i% zUk>hFKDCD8lFb8#T6wEtewm8uoK*oA8i}0EA|{v%jW<<^i?>*Yvb^E}4H&s7he2aA z9=<3OwnR*f_Wtn0mzyqDn%EUDB0|pLFpV;C9)77tRDYDDm^vgRz5>1*go-*OiY1sP zWUyl|n&Wh9J@N*#4y&*J4k^}27OJ`97Q&#!^6tA}?2#WHe~|VQ%Z7t~&y8%FJGR>V zIc~eK*AbwQq}@v^@3*b1NKCkjEZF~}1HEkry-?g!B!ID}O=p8-bYxiu}N=-t`` zruc!)>q}-ArpL&R2&~lJQz<3!OmAQgEYj5{2K;SOt1XBJZJ-&5mr{lkI|)BOLnrhr zV&V&qd`U`=-8h83xusJK>(F;s-KqwOIzyI3qoN67@YzUK2#H>{EmcBV>X89^Bq>EZ z6SFYNfD`#Ol}a{Y*gXlA0puV)TBTX>L2ukLCas@1w46|igo-8v^`B1}a4p+sO|u!QJ2B7c{5mf|=^Pag~#ET|NgM$6-e;Flc>ec)bE&VfnqPwXAk z{)oYbt=Ln82Hsphb(Q5YXPs4TBgS}*Yu~`sOWYw_=Tu$1=-;=Yzsg%@d09XjmXW7b zzvUR2)tPw>S{YSBb5PpwadCG&E%LqLkq|vr`6NpI1sgu;CIthb`3Q&NmFy!9S0Ly2 z`QvvKHVOe*c~nt}OpsT&qUFQSv$X6u?II0oG z?nH^y?e6*9G0+j~{otcA@76+B?_w8;9rVTTxiL6Vq9&7fe1l6GZC7Lm7hKkfXevMA z*kx1830mDl@zi-aYeK)HO zPtd5MaZ3eqE!t5I+eBtJCi^lP4Y`6GvW;M7MoDZu{8SP_a45(PHeY4vF|RH4$tzGM z3`gXSdpB0L=IEZp`9tHL_p)Db{j5fC`E&c5iKIbh7hmz#hve_M&Jf+}KB8R_?MY=d z-R|X%z<2K=I!nijZ*E_%qLx;UX-|HsD7-&(;~)EFT%VQhpV#C0_9OXD_&w?_b>6E$ zhi`P}roQsXeOKp=?@Z2avDi)#!kcfPL-zK=E4i$BPW}C_FBv1T#VGZ|$vum|wxd(9 zbWe7EREn*y1kQaU{hZ^zMUAGF)@hWzd`rD@;pLVWZC%M?Qn+|oSby$^)k@5F*>Ywo zPaUuIguoZpKKhHit$9x(A=9cTA=?&a@U?tTnwOJ{HEjt2^1v>!BC z@0FglI?{AACOc7#!I38KmV^lZus*&^k;yZnx)<40UElrYd~JHWFtg$RH8pm$e|xHY zcW#70B^J)Eid<5z_0MW-2IuG1fForvSGg9HPo z$r0jI1o}bYp{ltx%7&g#@suPPL=in9&d1>x)wKWs;$opsP>?q<`JXV|O4HRQ<>2OS zd*Y@pZ+hBWN;xmRsnCa{+7;H+c0Hxhg$`xm10!62=CW8Q$Q37J4n*aC-uS9(4Q2cR z{UyXKglK@rmM-Db#kIs|qe5#EA?cbIesV^_i%*1r^u1pR4hJ1@KQD{J;)Q)?5@75^U9}v95w+A)Rbh|d+&%Czdji=<|UbDD^ zz5%6jGbcfN%Ql^^^IuOAjLqX#?6^mEt!wMc7BhHAvotg&{P@1k2x4orLM12!xC_vH ztfox@t+->|SLrGrp8rDyFtejxl)w6xc>YDvch_|emNo$~U_gHltOI%#8((BacJ%qjC)V;leEb6n*+=nKf2sEc<&vxL8;(2iripsZ%3KP#N+V<1Hg0UFs;FPsabmPIue zx!leil**R7apVp=DZbmM{lz65#Re_#y=I}^{8{z`eN7lkv-+zN+u+E^v~ty_@#(ll zjR-^iEf<&7X4;SF@%3mS-q%?YV#OL^wMkOwNUF`4y9s5MWy37_#%#x^IJJwVK3js) z!^1G7oDvXf{|O!f-Yzk9n|^fCPpsAGmm0lQc9?ZT_%2*!a+%nlIlitkgy?WJHIv0U z*bTU?(XJ2cEz(3W88OdoLvLg9P`4aNq}Rj4vsM-i?AOjSUHe_#yIXSm-8ki@6Uj#E z3~wG3q>Urog)~YIMoW&(4?Ht1W_F z(7euutwURh6+V>DcV-k%(xrk9J62P}fr%udx~wFsXkIVe=Cb!;K{~@Go;R+AYcAPJ zZ;`T8nQ(0bHy)NbIyUrJsP>eG_alLS-IcYF0s&7H3um*gYjK%oSCWDmh;(V5C`!>! zgz>oA9pS7kp2WB+KYvFnejC1$Zl$Ahrn8=wYty5OyW|H2Ee%ar)a{41jhiCEiyA9* zdZCRK%a3a6Tf}$CdTEP_T2bj~D}{T&wkQI#0!KKTQ0%apOL!F<4W|~EGt0UI%PkUv zgi%q8?$cdDdlc;!826)uolkW$X30aH&ZDRV(*76rYUYb)zc4hWZx|Rj5#piq#_==Q zb|;37O^!g^b69tJ5J&C`WZLM{E%%p5p98w)f)cUgWu(a7W1J7zuGnbf_^t4TRn+sb z>JZEn9o$kB8tI7?b=!fQUrdA@g_Wt1_MxHs-z${Fh-cb5nMY07itPst=X-ki*ilT| zF=>6Wgx#`)jftqf?IT;3IBeKXmWf32c_6yhQ|R zb6J_=VfB)u`#^`n+!-O);c_y1Vbc)aao|oTosoM6?#3#AV@A#toaQ3X51#r1VqA)r zgI9FssvM2&=~}0^SCo>m;VK)XvDn3hlkD0HUo*|}5!t&M_ z|L=ExTY;&|hEGD|!&hB?WInl)<>k?CWA18KnMt&kQNACOC^BHPLiBm*P6uUa*yLy@ zNn!+$?InOYu1G#%7Q6x<9Ghx?WL87`Y#Z%1DQzxBPS4UYB!ZA)ci476C^L%OmOE;C zjq^>iZnBN>+{6ujp)SCTf~ZK6Q!C*$!bav02tX;@9MHmff+7b|6|xEEHf`g{{OYX5 zVay)n>$=W$q7R0brx|n|ZQE9)Q*fyIHIqihQmF>1O6c_I?Vo&nqkD$NDUwZzW&B=0et0U#3N_?nf-se2ENkD%(vN7DwDYaS0($J(~enM=?{6q__hv9JGqp%>11obi7#=!7J&ITzaSD;BHh6+v~|Ls~6h*L4jifiG+Ee zGxjPUb4xmex?4xbVExt@1Jyj!u)E81N^)(J#HLzDWOa(OSIFLYH3`@9^m3BMqB5(D z@F$5_LyDT$W%WuX9CK-mV`C z&a8B>32s-H=>;|p49$+bYY;mmXERC~c}&k&1GjmIBoHmcmX?Qi$OfdA&Lgt3v3zD6 z_$L7U8l}#d#2EI8r)qVAuS_2;z8E+{wbrv5(|yRV=q%#$RhyZrVoW08F}vAnfu`ep z{GdA$Ev8teq_O?WMq9Qioom^+EtZ3fRH|k?{yM*428`*FK#xnVHX*)5Wk0SvV@!Wz zWB15yk7Bp~pFqz#|QbI_x6h+A23U2G znKE=mLyG6cKs+tQu_R`M$OtXPYHAv(;iuX*)CYG0p`0aRC~jOjibPFsl~iQiMs;aH zqnWTFZ}-{n^V{Hwd*}BU3qkc4zeH-j$Je2wzjkjNys?c~!_RG%nzN(8<5sD{5WnW} ze8GQh>x%Lsm3g-M(m~dq@#|+k-_lpz8ayi5m-aIlf%tTf?rEo9=27m;H<{+SZV#R$ z@s%OTO_fZ~fDbo8LI=O;ex}pG>T^WLQQ6W^g%)#h0XDI1!EsBPEJ;W-1(b|s;Yq4E zK&$m4o5&PY%#zX+T56(t?Mk6gYwS~+mj_!(uBA|c%Hr(r{;a}shX!RaCp8~awx=^4 zG}FT?K{gN)k!A%%%`~m^Giu+{9AN3nM8VNI$AO}}Rs@z54-$m(J0pR?%n4bjRYjek zKvhcZ%9&kS40lw@LA1m~OfE#nUZAZ`QZQ-1s>)uq)oHTrimk_etixH)<0ySIfkVCb zoc}%^FI6zIqq>!;a=nuzszq`ZK+^tkg=0|+e`!kfx>M`#^ISGu8jv<8+@*ilBsMcu9hi2f-O$f- zNy#X_cI}YFU5C$fm58ASd3r|hTHnS_KqakYl~df;X<(dYR;_Np`-z9QW3UmKb+MaC zl7(wfig7wV)2wOqAa|9QL_q)hr^dQ8HYI$fbau-w2@`_uO?Sw<;D_LMKZB_^H_eJ{ zVw%ipp=ON^xM|rH3+Z$Yx;2`MHbdGYys)$CZEwLoKK#w#lp!TQQoS~cK~!|>d7Z`K zkBrgU*(oJ%Si{NLs`_b^8Cb&hLfmG|(m&F>IhKm3^T{U!^|a8a&TQMbns{_G!q2Qa zGUL)2m?UHIa;bBH-MPm?DK19>#bv{Ek&KpQW&vdz$q-(N@6#xU-df)8@0-x6TllM@ zX_ylie67xkbLl(VWblR=)naZ*7l*!IrchN&-WUsI6&-W+tXjA`xUyJE;JUb4xf<$p zQF~i!;_B=XxoVgePU4#(XJJodbcHXRZuhO_iyu?s){h%Jt{_u~`I3%8unwsYC zK_wAResJ?_=-j`${jz0MUb@R4w41){DEfZ;bv!&y4G5n(VdF2dh^&fj#)B1!jXIG+ zgRL$H7W-;JBhDBO%gJRr9g1yrji&YJUCb_9Fi$K4p)^1W47Rom`Ph^gJNCSI`#Ljm z1@=%qhB{GEwq!*=S-+PGr%93L4PEGS1nm%a8!y-GB1{l#nhK-{|-IxA9p`33dK zZ#Hye)w=g41)0#8fKXSL;TZ8^bo!uO!rFs<9u^YFdUe`lV-%Q-V(el-OS0VJo z8)tvfcC@t{o<%8~XzwD-IGU7ATkYDa{&H()0v(Ig_@f&KdppOUUov>7qddb=LWFTW z4De@I;izA_?_odFS1_ePUgH1Rc9&pl{wpYWO{RTt5B_@?NL%((SGP&+&NzMQ{boJp}Rl zV{d{_fNG%A?&hNmu1fLjqujRIIWlgrLN!<0+!xkZ>+-p;A|=7@Lp#5Jnt|RKES`o_ z_;VvZ^tZ)%yo0&A0nWCtHF3*n`}6pb%Lteb;y4G;t4h02F1vsODrSzX2$UU@`dB!Z;zbDau7i4`h+CUt4t|&wi^! z)ZBCh1An{0zI!+iHqo;~yIOr`GPcDlqZ~7=jKfs2BRo3`ML4ae9#8@ST&$T2Seuap z#wrs>4NNJ2N9?EJ^eO18CNgSkv9d)`Cs>4c9X1%im{pp6>!6MXI3zN|IAcljkR$N?rZ(T`Uv}%Nn1>|2^7ol{r_biXmz%a zTwfsbotH<$>{qz(knYUF+BuE<=pef8{`y%_O}Hm2jJr`=(Y|}N9oICQc~%- zP(zcECJ`J;6cCV-BBCPVLW?LR)~ck!v^>61cUv5eOCW`;$CP({}NW;g+>U%T0D0NixK>W%dTddUg#qRU5ZWtpg()JX$^W zwN>5PpPDvlNpLk-9ZU76Wm=%~@zQN+t>8~J%;t8sRY~$Kj^W_3{x&nm6ti05Ni7AN zsrAy7wwWE*A&A<9UdN;0==YLcGBCUb!P#d zPpb-@RFSF{9v2cEGY;BCq&#}qO(M#d!s-EY>@4vym6J^MCkeu6Am&)y;yr_biEL@a}(hpCc0LNFW>q}>ERBS8* zN8)8xVs$qiWh!bN>z$UCA&T;Cma#-UjTRQkYFrB~F)|x9DS=(uad+={j{q?fZ_ zy*^IzA}$NyH1g0(z4GM*<+G)LL6(w~Pfv!L-m!l0=P&!jIV$OADvo3b_5&z)Wk}C=O9a zMwSj8?d{S*iP`h?uTS~oB{pVBq(EW89S0L`s{6H}A+F}o0yPV@n3+ynI%#5J%z`@= zX`nxj8ij~67XyC>KkV98tp<5lD?m4=OE(Un9LulSyeAsuEgBgJD`R4&lS6$*Iaw;60a#7cnWg z;kw}-X$gJFMFJZqx*Q$EUE}}Yec#C^;!S4kyN;BdL02BSq=TS6IfxwLbQalY`J@8HQSH2jC_kooMPyU)b&peC80X zWv&&Us*;b7vr5^IT5Ygq`UZysen%)aKb~B&eA!XU(r4?~C+_OijG&>KswGVR%lm}_m(xX-Q(Rmcfu3u7PEhrLO$}Ar zvn#qpmpX>9`V$%&8}=psd@CMauhZ6O!nJ&7MZ8)q-OXl(w?1pd$g_Z>4T)nsXM;Hj zq(NK!M`l&I-{SbsoqSd1Mw&2ZYO%o;%n`u6K32g(GQ1dYRnDUh(KRTG7^wX7v(U+j1UPE&n+IU9O5n2apt5wAJGL+s?ov8djnlpRGmm zDTB?K^2Bm;h)q%Y9@3qHGEg}A4lYt+xkXnFY6^mb#L1mxqRR=Zd}t1`go_q%#`Du= z?dLY_4-gV}kin}}vDeSlUo|g|ulm`-dq0VAj%VZGN=iyGsi4h9oYBlP4t!O-gYtTt z=5T-AUt!SUALni+-eHsTQq8@)J+po1J7w++G9%A{SEw&w7A8McD4yBEYf6$#N-fbAmkDaC0`+lBjmqW-{ZcL4x;HjUyea!D_HFggI%%w| z;{*Zdqj1eh#F=C*#7Xz2m&L6Oats9f1WsCO2x7^2o$x?ur*TfPA=xCHPgaG@nRH$P z)|QLw19WUocSncWk3tDl1z{gaP^Xr7Z%@vRX&ig1+dgR@%{SH(uQF}s=vK7oGpBF! z8Vmb9Y~EQ-#1ASdlYeIupQ4KSw2&_LeJE)|U8Xix+Ce(rx^=#HqLVP%M$#rK)WEc` zB${3;FS4c4akIw~d_rY`FGW)!w#2ERYhg?((M;Q>Fa+pEi5jRx#cG zx0stQ(U@x};Myh^6$`bx$?=YN8ga^JK02*h_G&EMFP~x4lsqRK! zYHX_pl@{B@mgLwaT+|(QVzq4;G?UJe0``Gy9!Hi-@G&h_@!FNO*y^)vz0$tE_nSVx z_r5FjSQeZWsa#YAu;1{BK86r=W)de%s!gE~xkd3T7o`Fr(-`B7@EUfSDL@Q7;t ze$H2ciAPw&fHg8K=5|adQnu%h-P(=@>fxBuvG@>tGgLxeY^eq)W>gw4th^Nu2Q^TR zB2@`KE!4sWRaG}G85lRhBP>uORKeMc^lPeP5bjY_E5B> zKx2|&)7%0vHtP@S_^z)7T4hzo2z@F-)&TJ_;vq5KblyxJgkJU?yjvL@SknEc6M~jvfk`$SC5{O=w4iS zWM4XEy*e#t@(8jjY=XIlL?+G;KBM{u9Uias1S_;Bl!K4Daz77A7=J&^-y%N9`mNsU z`l>!Qc&B&xlV)|~Nt^kPu zvg7L|r%D!5Q^yd6Z>W^sUw>Vo$i)+x#bBHx4xo0M2B24fVeY~J=*hJbaUBAAeFW~q zqI{n&7T}Y&=OlUx*H!79B(S~9X ztDw99iD;>$il&^#6mf1@etYTqwVUuf3%Lr&Z*J1P7d23Bp8o|meHn@|`iFe-&^2sl zpVc|%6Lq&yw;hz}!gU~pA&XL{cJGyZohBkTi@q_~^S=q@$UWXXC&t1t(vu>A|KLVU! zO)8g&?n1w|Uq5slyoh#Ln!vKH7fHkPVx^a#k?LF2zQ%l@^N=oKIQwxuWNm-bWu1E_sZ7!fxoD5{dniESYTx3)=ljX!%Rp_ouZ++N0TE zui=#-_PMy5W}h!cTumxbmUIE_lKCKn{kB5yUBqGt%MaP_d_T(@(W_7H&!jYu6fKu2 z_=pjdQ8nkj!M6^cm1&C(SY$XM{z6RmuN22-Y*^^_<{_)`d>AxJL{lnvcQXkrkK(|T zOj&j;PwZ=@c~PvQ^viu&u2So%H$r`9Il!pE$f5D8pq=lV+wHIvlrP+&hMTzH)x#1@ zT#CWrfp+SzRAc5@RO6n*RYke}TaB3FkL>(bF8_RU;baQATJ*<&fVW%g%|9SUxUt@i z#4tf}$Dt2f28jy&g*v}V1bWa|9HLHZ%pin9Zc9SJ4mtcRR)~~5xYnpLF){n!IF)yA zg^8We;k-hI6&QtW?B$Y;VLcZ5*n(gO_eY#!*q{;o6r&I?#J#$=4H*POS|cOzGf4g) zPJaf(rkqWA4IK|rB|dD^sSj#Bp9Lv8yTCE=^jNB4&CSuv?{j$sV|3}Wm>jhx&IH}! z8G+c(&rJA*GOvR6Q7l;-(yV8^#nFHN*DrI|RBj+qvv4p&Dn-r_w3y1aDi}T57wpKy z9`)Oqgj=dG7qy{2(lP8XQ(VF!G@{X7*jsC<;!gR&8IdaCcTVe#qn1pF2i;0pFmFrU zZu}H|!6m7o0qGi~tqa}K%`h(DB_e<3h}0f%Z4ezv;;1}0tdh&F3wRUX_^vE59h&i^ ztia|7+9_C!5nkIGG`3uxN_gWQO{tZ`-Dbj3XDg!}b=)T5hVgoMOG7_LTKFME#GidL zo4fJ}RsVjO9Ksm7mj%Q8P=mqO7bCPpy)%%E;2AEqXl=|ihI-4hDyp9yb{rEabXeOf zHvjUc6n_KlT;dMRk!;Wok2VWj`mxe@Zo1gPt5iO&*@QK%f5=zJSD)4bqs(sBkzATs zEm9SO_qE&Nu*1@`%7Gers-(ZSN2hGbUp#aQzD*rXI0#;9F{XqXN7{ryAnnYq6=EBw znan7*tYecGfs-MaAEk$g?F&x)h!MzuP4UI5+@*cV-{~wzg2*h)!hDqe2sT27e5;&bk<^ z`!i$P+@cfCd@kP+jVWcRs%m5NNx?WWk3N1EG)SU?H+3t5C^Wif6lKuOM_v22uGv;A zLPf_zU4*`EAtk_T{!X;Sbji8(n9zv{wNnML+6?xPQ?afRMz?Ir+h|2R-ha4hj@njI zU?jhF32eWA?rdp`;rft%+?r0cs2?)(BwiJHBBTG~@f57T8?q9*PQt#Iv*zLxM7(2ASxeL{hn$PB=toXnw~AuOV6$C zM1x>e^vbu*u)3G|mRcoc=KOtAu1Jt9t38`f*X$cr=NHt`6LkZrw}xd)X4vwEwQ;xE z9lNLs*lHyl)YuGXk^Yf%H?q4)=LrpB5nlYeCE7-XSg#;%Jh%}o+`XTPr}7clljE@+Ym0npTt?h<}s#up_D8e-Phvd&jC|Gs!y4xSn{66sP$Kk5)%6 zW}9%IB^stb0NOwV_%-Tuv!nkv;HqDNuGzCqSuLb0M*+?CZMCG-4Jym1qsKk0$9>2* zl=NF7x{etQU3N}gn(@{KZ0rWz^<_!W!lB^eoOi&`eOG6*4=J*K2*<+7?vy`=Cx#O1%XFMl~F&4f~SYtZsR%q=2O%~dM=(+gsW62pV?^P}7G`!L^PfPHq=!~Rq?^_l- zlEWyq=;}FT0^_Z@Qhy3{I;D!51Pei(XxIL376G~}olqJZFm&5rvsU7n4{%#rqB?kw zbEwzZ-P3MTmTo8V=VrGW^ke#QMy6~Fqgirg$Y*m2A92rHD0~cr8*;?>Ive8&XMvA0 zky}~EqU-QO=A)lgT!vkVa%5meRDt9Yd85gv(Cx{ITD+#FFZgk(36nmJp#q@`3iay0 z!G-8eBD}hn6w&3B%?h6SVq#T-;g-S-J$T{7VDo{Y>W_AwKRnHt7uRS;o6SgF0Dw>= z0D$vv8W|Np_#u)ImY^h~dPk@JLMWCbul4(z4BW|Q=;t-rVaoPgMv^2K)9r4>IEP@1 zt}YMJl4T0f@V$3uqGNqu4x<*VkA7DE9Q`Vy_u8zoe((q2;_3>5$3((>V@uYFYHl?k-*^z@TYd-T|4V@|K&{gfab zn}QHE-kC9p2I~oXm9N#g`Q;1sJXppdlUqGO`09eo)kA<7b#x?^Jo~ZZIIWre0ii+`8cT`dky0Ql?D#SZ+fqL9z~gtc3ED6l2KcDk$Q9^ zLZTUyQbqs_>a`s(Qm0TJEZ?h|k@=2wFBT(~Uw)ieh%KMJtZY1e zruZ3eSNmmo*Cu0#s$hx>-a*ESv+DA>{8tcbhTZn}dxe?bhOgJAMj4T7vyMBW?w@{b zE-(Gxadwdc+DfKqLA>v!ZH@P(XwYW<8*9nQ?4D>C< zs_^snhuv6a#hTC|h6QzcpojI5;Hr5>AQl;G(&2(K<*elZDijiS{Bl+e!iZ{EBL96= zJbD36JAf?;9=rMF?Ju;pxArI^#7qs#lf06#@Xf7Sl0MldU$VH9Yq+gyA-y)eR?C%O zv?I{`+k3_n61`V6;hfubjuem2y1^lrdDH$`cgjn4;ePFJl8srbhO(j->2fEcnhCP; zc^=bwaiI{hb=1BfKN}Ds?*<8Q)4^-qZvAStz1i2;_t4$EJuI{E;wLF;C&$`s%#y$M zk${`Ihi*2zO?MZcveG_RtCnL-wWET%REk8F*OUQ+?h0i!XKc)w^7jq=?d`gHJCy}t zR5;;-@$#2>ZBL%zKh#hkaB#Meuqa8!$L0+rxh5I-=+iQ3YO`wT(DW#Y^wr@2zRq2= zyLUN1j6JX2P~LGlF2E1?yKBzE28j)>H&@?xrcfw&g8D9`;H(QT_Fulcu*~Q|vx{dL zUPhtT^(K6|IDXDqp-UAh*j!X=YiqkRSZ^kNf%A{FWc2w~@5b$Iq5LB3(i$TegTA7H zc)@H>1P|A#T|Z|d7&6CjGZ}4nmIl#aIWgK?^bDT_FTK6FuFcD9CTX}90(VK6S#y4@ z{atC=jCuqVL~>9`t63*I>w9~~={I&7x?oxzTn?Rar|@xtnGby?!vPMmo(nHDLqO5*P1Eh}t{u=ngl z|L*eToDE^KOBD9dhAk_V=}$FcjO_A=4AB&v7&VkP83{8+E<8?;hghyeqNuTHqwFdp z$Y#!o`?*Jlck1xjVaOi7Vqj>~n z2**=Ysll=??HzO(CM|m&)u*IbPm=;HcqoVHI;RZnW^TV_`S{(86y`{P{f%gCyu5*X z?NSS}TNrCNXQa26t#k>~p{_wFW5VaJIW;rSGC}XE0`S|eW)ctvNpmD5KZfs7?2FSt zkRTwe$04`vTDF)yZL;+a-$tYQLw8(cx-ePWPS`+1O~wtWdvBm0vICE|4_DV|B%ZGy0ur2z z65!1-vuN}!qbflOTtH0h<5lu|x_l|>$}k%eJOSs{JzAoRy*?#XhWq&oSx}qD3#z$E z+O=J%-KOx-gN^Yo>(EBpFKi~-gT_+phAsm<_fIHbO#}Kuv#?xC-y_ktbZ0}YRelw; z_azN2zu#Fm`kNIzmQZ&J^ml}leYv(55TS1m!Va@ap&yIoo(&N4i=xFSFE7>%+`C8o zydgwz5sc#ASP=~PopnlB#@kNO&~tyZb&dMAWmgmMn>QOrX(~e&GiEIO9QmD3zYcA8z$g6K@Iek3z9Zq)mJ$|b(-JH^tJ~bXYVQ+nO z2Kq97g+nj2pr^AD^OlaCN7*r&iV4-2Gr*W~<7cckiqhHY$EfDcs2crc{}q;N{}o1o zDmz#DS{T0-B>mWx))d#>lUlx2M%RiYf_0>I*b&|X!EVjN?j8P2SKrK@4XfMeVQ~Ux zwDjtodbKzR%>lu%cqp|}5+&-IVzo6w?Efn3EPwtv6CqQP0*7k67AXckzOMT5J$ z2M?Oy!QCMQcY+0XcY+gKgG&fbLh|_C`+xQB{lBiA-szs6GgG@&J$1fw`f~uNQ8+Ev z`MMh4Zb%}S?UCK;)LKC{oq5|T@moHBg)2Vgb!K)ZPaCMn$<6Q5#!v0HMboE;(x1mG zkAFjBc)+UC7`SXzt~uTfpy}!JeV5GA(7@+1@k2tn70I>qr&rD48i=Odf5TX2WE7K? zcREmt5rfX{G$M8XTjW5mGZ^Yr^-{-9oNt(zz|idXn*g3F@7uD1!@pv2zowCU-gWo? zk``3(7E?-z#`uA36aH&f`7;|(V5yHp3VJvik8QB2)Rw@&he#r0UR%^l* z=CEDilpwUj9=|weM2(S$-uZ zAG2bdwTKK(vovGKdq(zum>o7aSFd)tVz zcAG>`>&(C(N78CtY*>9^@8qP7n&S5+r9etG3FE|3_9^omi^_d`k-yHPuzs>w%HnXr zg6YVJb>vT#t^1*;RCgAXa+oiHY9SG5>?_%WuVR!WlKxqzn7uESNkIU5zvzQ|bE#y@ zW3bvKwh489uGyyWD})`k{J{nh)f=Rxx?vrhtNQo5LtR1Jo~Jd1?>XL99C_BBB=&8T z$YNEqlCUX&qG|)JT<_kPHh&m=q<6D^RWy?R2^7Jmw~P<#dCI&pKA7`myZ!BFe8E!~ z;8nS#_>lbKV_);fe%=fJDawF7WwjI!K1_OG5|OC;aD*Lavf3-Q<+fXGmBhTO?!G=x z$4<{fV_F=V%pj4d*jL`yF-DKAAtmB6VG@e&Vlg&fKfkZL8t+)n3wBuL|vp(M#lf%Dq)tLE34 zTGoNg3J|FBG07Al^I`&PUTsPuOL{_N?1Ib~h#E4#yjqfV3M;EMj8m3ShEpv|A;p%M zJeJ>*oH>ak8QjMQ=bh(MD#GLyz!-{=hLB|>^;u^U(2bH=n)Aj$`s~m~;aO5-1M~oX z>k@S}{%}6)r0^gxkVt@?pN!El1g1b=0D~5qBNTwDG3w@e$SL)~5PlG^ZYWVcNQzuqug(&Rr8>shr-qrIq{fdAkq6TaS@tm_dQ%u@5F}g| zzarDQ7`}B+t~S>TEqrak(>*gv?tbUI*gxN;H)^qG)aCUM^M;@M+I1jV2tiCvuHLdm z0;@OMzCvzbwhSFdk(_$NQcQ&9Vej+dzJsOHy>)YB>UiVnlqwBAc(Ai=Cb2sCW%tKN z#emVnjTbuaHGJiS84(DnBruS`)juS-CGtEDd)W5!wXMncaAg<25;KHe7hShl9UK#A>_ zmGeJ_?%&Bgay@ky>XO_<-n#^Pvmy^0V4Zu0>;;m4aa!5G%d~dv0j24=_3<4gmT1$x=pF< zHzNLVhIe>;N3^HMKNFu`^cyDUh`Fm8M0hdJPi}JK)!}qyR@uxw&SLGk4M+)@03OHfF>lAfdMZ5|Jp&sz(f+pgc4T?g+PC!3CicC|Dz5gW@y6tVz z)8({5e(ZhAc?Shejy!%>;BaNe-6nUeo3km8sg~H!X~kgz6O6XcfBYFH#6o03(6|Xr z32tRQzo%O~Aa*BQqz_S~UBke4r77?K%@YY0RenG;NdBhrE{X{VCw))!&IP6CTg|@J z>P#Tt675HYZ?a^w|3Ms(iJX5%fM9-ungT4<=m1av9e@wOOPE_U?VEkr7c)ozE9^>t zn^z#KWfI*A&S6E+4;=FYfSGHPCW`r)kW2f_n`6W#m@^BlA7{LGhG^ViB`L`s;E$(Uc1izbx?U@N(r z-+(J98uPwHa^-={vAnhv%q&UfrlnspUMoecC{52moFMjg$+L8`iSQMT(PPLM1P5Xl zS(2?`4;kRKM=DXyKUT^VF2W&Vp0>A+JcI;3-^Mcp0EO;f-~Ye{fb6B^-zA7vve_+1 zk5aDVHI&J6GfE^huJar5W|?m&ay3Syd~*wD@Kk3?veimco|I*j|9$fRt5FmpGcp2| zvNGm~=w>aX3Y;KH_TE8|-V&_bSzo2xc6f1Unar72?hV}3jc`M&u|80-+#K4{-<9F+4O(*{&kuX0G>g!;Ie-5 zgb4w!-jF`14(;3O-!+jFv>G3Yy?l6Wu#R@X!pSEP?plv)@)da&z+@%m!{e9D6ma7B zU8*-pL@RmBpFNG}5lq>4&_yP*777Kf1EJnZsbd{ysPwgy*RUg^hx zCuGuVwfjj!0*7=0_(~lcGIzpKvL9j%C$)j;uRzuy<1fuT76l_P7%%F6MSFS+^#s1< z*(oW`90eBqIf)Uone1V84xW0q!i7#iT9x+LX3& z$ao2J4tkp-B;e>AvY2)Ow2N@)w5H6JAGwL%d3-H2U{AxfcZ{}CG+@&H@kgR8ISaGt zi8?j6<9(L}4&LtI#sDPt6~!Mo z_X5LB{?h7|slFDc>vaeIzFes;8qyiz-Zpn5)+oOxvFKfr=OLlhS2MwOzp-|Pzj&we zE>$bTzFu>sqB&8xlDWRYJm=9Z7y-Y1-kLaKz};_oMkbURYFT9mk` zekwg&+fn-vm`z$e4)20MN_lf~n;TjnT9>(`r5rs)uctTuJw&i?7qj-O7M~^kPgmoC8P2ZOsN(e_9=Y)c#pNY7OIhfo zCZVCR`HE_EeB}A_u10T2zI(MwaC^aU&-KE(SKI#Nt&S^nP3x`IqO=f367uQTgFP|> zRL$78I}F&&x^b(AeLX2Q-NrK@z8xNB=k!gSb}9U|4-%R)sxlOC{P+rQgK;_8zK# z+Mos2l*US?V|>LeFUzPz0@N^|z9CIlWO6z+ypU!RBo}x4x z#_PSI+CTSwWo#xDYN^%uHQJP7<}Rbv$k9aJ)P?-D(Qel9z*{jyMl!ywG?}oc?s8i3 zcHXLz&AegIxB0=;Hq#GlfxFifpx)Vh4s~EFx|qx$*jpX~_A;tOY@|x$x15sIvtJA) zqzs)#oVDnX<9*|y)?M3qB{=3Kv~2L#UtVA{Rr@mT=~2w3rZ7mNpx?A2{e{GB2^qN- z_l+{ES(k4j^>5_mrEW=9opRiF$3f4EVu8aEH%r-M*vYc!8TM*d1Qu;jWOOX7=}$Xc zTXa%>HSkWE>(%MlCXJrtJm~29a`c|ype*%AYap+Q(^{_&0jXec1B71fvga@gi8b?&SOd{u33+@-9zR)5}M}3We2ukf@{VMpgs{a9yM^} z=p}C&6Iw>U=X+7k#mk??36>8o@f7{;XV{2+>~j!*quosv{2|2?M?~?J1V5o@ApngG zo3|e+)GQE&1DqJCgC&_+qYA*MgBYJ(qoFLea8OF91v%VulrJT*m>d=n!HDt#lL0e7 zvJhsL7&FUi7s)yjLKbSr$e0~<=Gx5pmz>J~!1aLB#dIn4eIGALcDeUi zA1W4F@c!q+lrn&i_Jd4>qm2W(k(+XoP5x%9HWYW+Y|ZKBSl@CAmrj|3Ro7znIehix z4-gP*OuY}FCg8WnBjn zMrnCYV^2iIyktdY?Hq`qsuZ++h{6CV%5ZMg-PvY+KgxraHr%LveQy+kaCh&;T8^2F z=s3}BB>OEYd&=#YmcYCk?Pp(doM&Untr>~*%6Q!4&wJu|c9FN3pKqgrFq!v{UG&yo zDg*~=;56E9%ntjNLlk7yF!p}32BO&>C%#3lu+Et}0F;^G8+o{sC{D)qL<+b*vvX*kH;N zs+hH#+c8%+{scM|?mMC+qw~|991J$0w29LyY*sAFB06+D_I^K=`96A$M(=&+nS!fq z=y?BnDILmcN!Fq=*fBy+gsLBUP7FJT=wf?!d!v_POyz-J_U&Gi!-(qpI zw_X!~Cg+~Yt5yECU(HAvosSooA0Fz2MJAYdkb;b&!VO-N`|<-9jA?zg)0L=Jk`?S^ zZwX+1k@LaxxM32^T7?%zi@9#`WHAy2W1kU-m`zF!`czk}8G?9GeE5c^ibWO>`laZh z_!EPSVTOy{A(vAU&FQ?$4rJz9ZuyLhoLwk@4*7$;(4ARR6M&>TTnBQvGgZLlYmUl( z+`D!|#A&qzaZ!P(F%P%UOI}Ja#fBv|`QCWHjVDPYXuTm7vx!{OKbmdQO8KrzSO1kH zcQ*5LwfmBqN|8D;UsX~qSK(~AI(#Mp8QXc#f|-`TlpF&9l^y4)>SUzqSE8%CKre5$+KC(ZGn?$!yee?9(&TNu!>>$*5mmB$PVBj%IIW~ zPmsVOvs;o7{zaunpv0P*63R%UDMdBfCiy!hLb}cl?0Z-I+3swLt%oQfhP8;%x@1Xh zrUZ{7GaW zFS{U+j*%sFmio7HN|M%CIShF^zEAL(qhz;9gCP?!=Ux-I!bmJ{-PWZJSS-!=5%fRx zZAtbTJ=07?fBpU2R`bhaoR94f@ml!wq~_+QUz)?AYezlvgECC-b;NZE`!V(GDA3@U}lNJ`2{F>3e#9Ot6Xq6$`#1Yg(i!7t|0 zZPmc3A3ggY!9dj2aTG}SSIcPw8Yqqgxo%}0*wTd8fjNLW>O~gzXmk(eL9uSF^;i0= z-Cm^1q^=5@legNf5~#^Q1Y!FWM#Rd~Z!tfVUUdG(>>cx6p^vVaubqnm3AeT!M7w;y`FhYG5uE?v z5%Z-n01EplHASfyUa%{2U8aMlqIl<8cpURoLJ@v!$!(taho1VR!yhk5+yv`+T)4IO za$#DBX^ftwQU22O%0PoB0T-~JqE~E&5f>46N;skP_3@dS>w9llN}$XO_Fu}-OJ8qJ zrWJ8#1mLTd$?ANQbzGd~NIU(QS_BY%<|MbW`dh3N7YpLBsDMdyrO-B6l=@Fm=k^vU z;qf1mcjkpv69rpzm=3H<9UQ(GIEysUvL97MCp{ zbIsL*A-~WhmVYO!-jDi^vt2X-(CRzz=1dJAX`jn|r35DsGn}+Z6Rp1Z-Md&F&J~P2 z7S$weCoBY;oK-#&NZI;if@&)F2%=8xQTdt?U=b6Vmm({g$pNDSYj~Y2bsKGhHA2LX zkm+a_+UiwiZ+06I{lC5Oh4%~Z?>4pG|K0R_MkN1NF{RCs{Dra!>G1m+=-063(J8flx$C{r zb`dSv^{~E%Gl3`D>}MZ?lsmWN*_fY4Y4B|<#~E_xKe4?PP~H9;3@}3RuhGxOF_N&bO0!Dry$h`* zSQ1N9C6w{x6Ohi-j(u}8>5uK|Ka~p?^Wi`!@Khl)$?z-)$~;Yih;j17?l^DDyvaK>(t9 z_8Snpnsk*VA4p7y52PP6B402QoW)fg*u+V0ho#_TPoW8AuZ|@^1{WqNu}Sw~u$_hf zfJDWyDjW(I6uuSusnyY3OIKz=MlhJqMwrazfLcMwpY}11qeWdyEkUTFAcpQm9ZWWm zQ;Q%qb~2$LBse->xxxZ@%AB9h@yfiSCAyAS&v5|`;&S`;?HN&}NjSsD+sg-w`H4*r z90-Q@1_Lvs`6w`u-#YJjX9e}w1Pu`~Gpv`rOSY&jyN@TI5=(?OYp_6Te}t8ium&BT^CWqEZ-xh__W zX0>fTTMQf1vxwiogwP9PtQrd@2dEKPvHtC!evk3dMBp@r;qFDqAMs7mP(6kEmRyvB z^gq?ONF}yLM#AsQi%>7?H6oapE$|qYMQ7k`X`OZ1ryNF&)eUwr24aGKj7Q*zEb{Hl zm-579#c(R_lArI5*C>zJfF^UrkAGG>jZ3K(na`^iH;$jy-<&ikhBT~hp4^K5TJ63d z`AdptzG=UBl|x1SdHtM*hDMT`TRapQP2{##yjBy50G|*eA_0a$M|Y_pMb=<7$(^J% zH)ZA{aP%efw2|C*YPT|uxmbFhJh<=>7)Ws*_Q3);P0yMt+5%K|#Dy}`(*e+unCQ%0 zikO7HIO-QXX>Tfnxjp$5`C_aS3ZTvvHIvaf@pLvKDhMPDMXPe*mm1yFWlp+k2Pr;d zgC4fku|x&*=4VHCv1v#XzXsEP| zyRMizoK&AZlStgG3$iF#W$WuC&oAHLE&(f=ElK{#%@C)sZU0ic?+L)1Pi7j75%udstd+Xi_%oB4T{VZ+(zFR9oY z_!t!dzuvAvAChIAO>U?TBxXMqxU}EhV1B;gUGi3|8O)Gj>5*Y~=C_A^bK4GH-Z-X6 z;UG8HOkRYVuP-cT5^T9Y3tzj4l|>P=y4$T@Ho z8@KIu3C%|e&m&F?g<#|NR_*0d-kWYFQ|Zn||8%_&XxXRikZSi~EY%{5 z%9^>TUbR?0P+$p^#q4x`amv&I+Z-~P^R zcsjKH)jPg&cu;9JK>Y3Y8^NDc&*gdDUER0E`oR2U_q4ZS#s}CZ6Q% z$o7;V$^Dyt=h>B;_PXu>tMS22S$hqZ+<~JRN>{$Jqa{WQ-aD&{p`X)BrFs$espzcP z-#%CSGkV(sNn`N+lB~c-{z_l264km{$s-yt-xu1^C9zZ-s-4dWWFn1Dh5NM?lD+Ck z*f7j}&5+(4qs+o-q_9eXTa%Vt`Pr#rASgqhWJO%2VbkmFnUG_)xE>%-UNT*sI?AgJ z_hKL}Q%Xp(*~h`m&aYX3!mh-o^Zb|b*Z9uuxRbV@>pF~$p1xuU3L!59Zkt)p+?$#u zjhb4oDeP0(5e#!8alWfAQpUJB)ZDTk9VhQ7R;j0^9M?W(h~#uxQ+OPic%9v`FI2iN z)xNxGTJ>CVZudIdW8@u+;w+e5Fw)wa(pF@zNYR{A8li`b)HVoYSfyHj9v8^4hLtNQ znuRU#qj&M;Y%F%_pU(+5UgfOZ5Anj+T%>Iydg*fnxNQ;k78XMv7^)};m?`xUb&29LemZ2$>$ z3PCUb2pi@1{}lPP;dJX&<9E7iUv!W=cZd}|3lxQZSjPt__q>iNHx4d#c`>z}qo}?{ za_RC+^UcR=0cr{l-`%OyH0?Lzx^-;b;6J_$6+D;ZK1g^QvN6Y`Dv7NX+qgYz{(YO9 zx5Kc-l+QH`M5sTbtyJYeR)rkmErM)J(#1`T>1~{r*GHcz9Q>OEcIPSmE}7N;>gJYW zMS(?}O7x%}w=aLKkC9LdiLe-J8p@OX6B&nq722z+#UF+|AU%toKTTKW)8z;uX5#e6 z_mO6q%B{T@o+xK!FR#ce&a1$}!V4va-l9hjs%c91Nb@U&Vr!`?jew$ZfW)}?<-^_^ zbwP%cpMQPI#q3#$!1~`aCOXi8y% zfUqihR9&ZtA)x_c0Wnf%DiN|mCt?y#r?oQw>oPTkp!1?P8re~{-=<cC|LMsPmSI>66{K9AfcnZ3wFX5wSR_iD@99~#zZ!4o0UTt-P+AV#RdBE0C<4pT|P7F!e*ymW{3?kcuEiOD5u8#k{6-ybx2xTdCAh32m95SZ4hfMlV!7uf|eD z?ZVF)_9y7}ozPiUEL?teXezkLlLflL@g1XrEExR3t&G+8Q+mRya6kE9ejpr{&iIY6 z{hli``+UeajAn;M3DzOrf*C=Zu2uD*Dq;Ckr`?KGACQkl)K4pq2kt1pZcSjb#WV3c z64|7!Jomk^RLN_vM~lcp%9l>!d4KZ5tAk1v4b$}Ihn*#=eNR+d0vAq$3wNi}6J+I{KbBGPps2VbV(J}s z$w*@AL3Xjuxfg>G(mj>!lrX_t(2giWw5mX&G%+Q?gpcdzR}Mq%-Ushx2IHcqcLP38 z?t0Iw%n}mjt&CYVz>QLd`V!hAfKaZ^#4Yc42cK+SyDoTjc>TrM{rNk7d3WXb{*wu! z5nWFquBD3CF2*j#c9WO%TD86NIrzE0{-rs(M;bDtr=R7pRIZdD(p(8dKq|d$2be;s+cAVFBFpw}tja-vCG9!t5@kop<@QmA| zfn;27IAxBI!pd|v!g6!Y;6bA~Z}(WsZY2-EDgy!(((UoRH2EGuTlK8#(=Ezvx?0!vofK9(UcVKQ5=Gh6u? znc!Qt+uCA&y#3k<1Ps$ED~6J?-zt<5%SA*Kv1MgoNk8;tI3IC>61fn0cFCw?1<&ib zLu&|t3DksI#4K@*)mG+LVCXB#s!Fy?4YRi38YxC|c?vI=Sq1d3tk0`aTGWj(KDJHf z%6g+96WD4Jle+PZQY&QUIw&BRI{Bo_oIz%LZyKXKmRLT$F%)hbPR_se@1PR+WUO_; zr1}%1tPgEE<^(Amjx6He6$y57dpQ9HY=j%pFE1nz0l+doeEd;?*_g$PH@Ddb&2!Q# z^mwBBGQtQ39?aRZYSA4vu#U>Pa;SXzn)zX!@_rO@J!TPAeGowcFJZ~(h#_l2D&v?m zO$vFP!n_EhYILbyW2*V`UK@Atj%UBveFVw5pmczM|LX*kt$tb9l=*Bl{zo=&LBIyme>ED>Y zw0=5}ygjR?i2W@!!6*_M^!yM8k@FWKfN69>=6a~?C|_ z;HoopU-{2)O(^4e`)cfb4sk5CCdkxkfrLIfYevw%=P)Qw+8nHxN>UeXH)yYW2+e9F zs}C>5s^;dAH;qVVMXKCI4H^w2sqspRDt1vCV-rKJP^W9T&{W`NA+CRDa)A0xjCLTAvnyXOZ7BWAC%2Q>bO|V&G?JsjpB% zrCa#Rln4|6*5tYRyM9EAGtJA!mqI7Yw|63{$x8BZtC0v6%1v!<-MDZYmkfG84{W*zPQLwt3T$xMaih$7JSjT3~b}75EWF> zkRuiFf~@Vo>Fgt(cG9n`DlKR!27O_KK(v`md(ceN%E72?m?bF{@G$oDVNfz78}Rfn z-6}6Hk6ILI*7oPufQxBhfR^l-O)dEPLMV)i3UL)JRRpuBcNx;cpGQKaN#n!t|5&4F zA5b%K^P6V1d+N3`UT#igFK91SLu(iKMHAxd{>4|KOQXgjuLvvenbd|jyAq&^ok$hQ zwl5hbymmIjjEv_ifvkUG=m2_Vm#rVX4A#!P{$jk|zk29nQ*?c}zm%NPs-=YyEQ1(?B30 zlqX-F2$kV`h9#?8_Rg)c-YkW(^|;Wrp5U%_?TF$RNbBPrnM>=sKX7-22xlyJA8mS)ff9n*-=!41SPQLNpk8i zc4u%kvulrae0?`DDOhdOdoR}H)cgGKfcjQOiEQ~`<+o9elnrRiRR-|nv*bGqC#t2= za&nz4bTjAFYxr-4S<_*&`G0f4ysEydRD|F45iP=HZanDeK6ppYaK^rCGVPF!5d+Wy z+3BIE7?_F()mM|Z?K%VwlQo;;XaumUUq=T%x9jPRB*d-AKjRYtDScATiRCl(AQkltjl4o%rh=ZfRHCMx=3n%=+L|~6wN_a;&EWMC`-dvGg$@^R zAx}!_*u=~Cp6x!wWVx}1=5tnH3-*Y?jp*6V2ovsgLR#qErspVqeGSjK=&xWog5R#j z?<{RFc1ZrUm7BEfo?im?%b_kE&Aw_s*eGxyCr4FJ^LYZW~ zzqnd72fqmoFhRsOzh}E$L^zTx#fT~3^XEUm0r`7E1#nF@pw-Tn1sDR2j>|B1=+6?r7*#-gpoGSW)5l zX`!D!1(x;vl$VYq8r@dtWrIj5at_QYfe7d|QBhIUnCNAc!2k_l9UY?fg)}Ow(lh1J z)LPRlGsOek2GcZc$JEJf{1O#IebD2>>36q+6FwOS*>(jNqJ5Ho#FJ>KzX$qdO5FXV z+^}!8|G-B~)*(E^`u5PNB`U@x;Fq6rGl5z%M%i`F_S>JHn&N}FGsIMeUq&R-3_p9u zB{qIdy|%oNWUxP_Pbr<{d#x@r^ltT|&T-|6=Sr~0Ch?K)o19~Wi`@sF+dS)Ysm)k1FL`5}6YHp|=6e96iQA@<( zPIK5Ajpx=92VD}@z6XS?)7PU?Z9$uUq-|T)nfKL?;4}3opw=F}80;W5^`v&jO&pS0 zEw!=K^&djJcsnd$bh$}CD7P}lDS!nU$HK!w?i2=0JlKw+q9&!Jb-fM-b>Det)g*ga>kagtG%fNRFl&GuB+=n&pI*8^KtD8nW8(_bId z`-h*tyu+yoxSe^t5V-$~LgGZhLu|7!xvuw?L0_)Je(|$Uv%da=zTGACvP-mWF%n`U zSNOOo|L0|$KM2L=24`PpR-N0$Ej@`?AWxW~LsZagl@Z2`G@ z3LRJjKJzlghgvo`CqLBD7Rxwf3DvQrGnrt-1*uY|U=SEgo*@IIj0^iN|9$vQQY&6KvtaAOa*sZw3Q3It;#=3PG=!L4^Ms2-E9ldRN03%5&*w-e?%dH6U%khIUM~9F+MRA){ z>617I(Xm;i0n6!T`CIHr>@-(V5S=MEDx^jlj%oq0fCkZz{HE0eh)2)QM3gA;CKgpQ zPKLw?^J`Z(bIYZ{O|dEQN6lZwXD2tSxh7ON??1q^9^i-8=QC>tR2wZ4Y!RZm+p{ye zcAlRr^`r95(-bO6N;KGFwR8&>*#{HZE4a!lN-Cnb)MqOaZ5xGBt*Soax`Xy>XYB+R zgs_*5{FB*N3eYC4|70Jf(MV>&old?{uc#Lf?VfWh?^J4RjE{#L%4bt(e0teZb65GX5^l|tBE5vfa~nE(}) zaU0963wp8iQO1_m$nn#w7Z&%YLT`Ke@iX9kdHRfBXP|!t^~g*<4i3v}JvpAD7ShE( zY2oyP7cu?p8jZ?3Sz_&%M07BwSHHO8BY-a2YU-#h{Th?Hf*A!eOgK;l%!Y~$4VPRd zTQPXvepU|Z`+uj*B)cWv3DgHAU3TlgE?6>MA)$#W?+j3Ro+*(2N(26)0nBWyoIUu4 z5C3sY~~+OP-}NY|6~5$)+AE{0Gt;B0fYb~AmG*C zO*%S2B6hNdUCIpvfYgXznmiwqtuewtHyZw=XKv@6<=mP!ET$%OUeP;U{-%Nj`%7ER z3u95}_`bIqy|RHqcTgMdnTSwDFLr*}(NxJN3k)8v1^@Q)19B}!>Yb%9DD4;gD+q2V zgP4DP6f0HvhT}|~P=9_E5ixN7-M?N*()X3|7IYiU!(03Z3M`)|N7Uzy zCa^tB+E0E=m0MwI)(DMkw4Vpu9k{jn6AEmkDx0HpM$XD-UUcJ=<)^?mR21FmP zs`7iuw>NeXu1c^Uo1vSU>M4>eu4@l;?eZnjWb5F>eiK8ud3qZzlm>{w!m?eF9eU)$ zwW|i%x^3zIG0*yZjY4aLMC&}p*snFg`~F2?ThWgK z0zPI6fy6qWoGq3FCnBvCVxjlawS`9&vD4xlqTQdeE!TP5gPbmXuXq+i*V;l@rNi+J z-;v(!a|^nf$+;LO4%`R~whf{$7m0##R8pFMa&zy<6D~E>s|{ZZTYM(DRB`qS-RuDv~Ae}bbEfTcP28X zR(z~!K*_Z!W_KGh<*waH)jI0<8L%ua7gw(#SGKmy(J2(4MvbHJ=VQZJrZM)72mI%2 zC0UzflC$WJn0E99CJtJg?acQ7ox3xXJb)7AdC}ZsyUD)}PSK2Q2r>Bmo1WLGfBFVTB~4s#pRpWmnJ%7_L+kjc z_9>Az0PlWj#DG>mO3%mnIb7rlrFBVqi!DySy4T0e(I{M45bpg)nx*6+zTz`MC4}l) z)!DzUhGQ({+nONIM_(m*yf1-OML2e6-m%a`JH*QOp#I{=$c)#+Bg2S>NeSB^_Eacu z<;~9~&Hc9yp2;&ia+H3yTn+24y76cQz~iJw?TgXGOmr=Y6Cx)fmlQ`IiFZs+o13g) zMGC|FIY#R<`jQ6c+zdzq2gdnkg?osG03%rzB-ZEqz7n`+{B)$_ejA&L^g{pMUW}631T1TKUjDn^fPD?Zk#`UCPFi8xHQ; z-aI@q(&Jr)mzjHy)@=h!^0#i?C+mg1I*o^l+lfHrkl`LOezgafqwR*BV@~Su68>!5 z*bA@}!;WSqQ|ALBoB2hOfdxWBVi{x1K}YERC_(N>X-%|=S6sw$sm5+Pj9PJ@tqubl zMQn96?|yh?~4@hXHp#m#BU6_UqnGoBK_74_x}KK z@$<^cwaYYn`2JPTIMapN*nAz;)JU*x(f9a{N>uaouiT!&`Zuy&+vHf&s!um363Ml% zs6)P2S2^YKRCJJ5_ubk?0iy+G2)|ZO9Quan*<$~4zW%VMjrnORUL;%>C4I$JCRyw& z+YY3gHP2pc%-iCdif>#3gSvmE{W~e1W&=LD;NHiXDgP;ZRFoYj&QMx`_#%R~GY1Y- Sd-`w#$TlVOBN1Dw$o~OADRc1v diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-45-44_57bc7496-f2af-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 79be6ba2aee2f9480548f7bfd4a81357d03ad612..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30636 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 IvVzh72R-uq#sB~S diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-50-37_0602134e-f2b0-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index a214beb8004f8b4637d9c7fbe4dc1499222932b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40374 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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-57-12_f1f228f2-f2b0-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 21a079e12b5e2b572d93e31169342212ad9cfae5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18039 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�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 diff --git a/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-12/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-04-59-04_342b64c2-f2b1-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 6dd77a8c02e63706a826178a7448a25af372e1fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20040 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 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-02-20_a944d61c-f2b1-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index d330c5f607f321f15df97294333d8eff88696e81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26345 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 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-06-57_4e92bb5c-f2b2-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index a3e8fb297f7961f671164b7d21cb6bcf2fef3f4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32690 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 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-11-42_f8357866-f2b2-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 1386f62aec2cbfcc90a83d9825c251cb0d44065a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34946 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 Ithjss4`Q>v>i_@% diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-16-35_a6b71340-f2b3-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 24533001615b6665c6d83fd95a953da4d62c9d41..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33849 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 diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-18-55_fa7349c2-f2b3-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index 50947ff7ef5d2f453dab3de8783964b8d8f1a094..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22660 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 T{H|*gMa~e7&F7ufF)IH8P%HxS diff --git a/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-13/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-05-25-45_eec05650-f2b4-11ec-86b3-4649caa90281.SC2Replay deleted file mode 100644 index ebcb4b7cda39a770b9268b803b78e79b69f7a294..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34888 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

  • H3CadCp(&*n0tb^ZeP0#272S|3sw{vcBypt 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 RSCKyY`0dk6%Q5dQhS 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 z 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 diff --git a/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-24-59_1e3586ee-f2e7-11ec-99fe-4649caa90281.SC2Replay deleted file mode 100644 index 0f75be71318dc171f4d49faf6a4368b64cdf7c55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18334 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 Date: Thu, 23 Jun 2022 19:31:47 +0800 Subject: [PATCH 156/229] add info["result"] --- dizoo/distar/envs/distar_env.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 27e3f9cb12..74d7785706 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -41,6 +41,11 @@ def step(self, actions): info[policy_id] = {} if done: info[policy_id]['final_eval_reward'] = reward[policy_id] + info[policy_id]['result'] = 'draws' + if reward[policy_id] == 1: + info[policy_id]['result'] = 'wins' + elif reward[policy_id] == -1: + info[policy_id]['result'] = 'losses' timestep = BaseEnvTimestep(obs=next_observations, reward=reward, done=done, info=info) return timestep From c7e0b4c8dd875f9d692de8e24b82afa720677607 Mon Sep 17 00:00:00 2001 From: lixuelin Date: Thu, 23 Jun 2022 19:35:02 +0800 Subject: [PATCH 157/229] polish --- ...81c120-f2e7-11ec-99fe-4649caa90281.SC2Replay | Bin 0 -> 28538 bytes .../middleware/tests/test_league_learner.py | 11 +++++------ ding/utils/data/collate_fn.py | 11 ----------- ding/utils/log_helper.py | 2 +- 4 files changed, 6 insertions(+), 18 deletions(-) create mode 100644 ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay diff --git a/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..5ea1a57f5f8a500ef178f23dc70f4cd7033e1b95 GIT binary patch literal 28538 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

    >t^yk0iVjw+NE;ps8sZ$}!nd^6SJTW+$;u+P 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 From 0bc4b202e5d54147073d8d99b7dae6bac17887e8 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 11:28:30 +0800 Subject: [PATCH 159/229] add comment --- ding/framework/middleware/functional/collector.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 81632b309a..e3915c19a2 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -65,7 +65,7 @@ def __init__(self, env_num: int, unroll_len: int) -> None: self._unroll_len = unroll_len # TODO(zms): last transition + 1 - def get_env_trajectories(self, env_id: int, only_finished: bool = False): + def get_env_trajectories(self, env_id: int, only_finished: bool = False) -> List[List]: trajectories = [] if len(self._transitions[env_id]) == 0: # if we have no episode for this env, we return an empty list @@ -92,7 +92,7 @@ def get_env_trajectories(self, env_id: int, only_finished: bool = False): return trajectories - def to_trajectories(self, only_finished: bool = False): + def to_trajectories(self, only_finished: bool = False) -> List[ActorEnvTrajectories]: all_env_data = [] for env_id in range(self.env_num): trajectories = self.get_env_trajectories(env_id, only_finished=only_finished) @@ -100,7 +100,7 @@ def to_trajectories(self, only_finished: bool = False): all_env_data.append(ActorEnvTrajectories(env_id=env_id, trajectories=trajectories)) return all_env_data - def _cut_trajectory_from_episode(self, episode: list): + def _cut_trajectory_from_episode(self, episode: list) -> List[List]: # first we cut complete trajectories (list of transitions whose length equal to unroll_len) # then we gather the transitions in the tail of episode, and fill up the trajectory with the tail transitions in Trajectory(t-1) # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, we fill up the trajectory @@ -151,7 +151,7 @@ def append(self, env_id: int, transition: Any) -> bool: return False return True - def clear(self): + def clear(self) -> None: for item in self._transitions: item.clear() for item in self._done_episode: From 02b9d0b1b54bc41860331548fbd2292d56133b29 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 14:15:25 +0800 Subject: [PATCH 160/229] add result info in job.info --- ding/framework/middleware/league_actor.py | 2 +- .../middleware/tests/test_league_actor_distar_one_process.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 14b20440bf..0762e95552 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -328,7 +328,7 @@ def __call__(self, ctx: "BattleContext"): ) if ctx.job_finish is True: - job.result = [['wins']] + job.result = [e['result'] for e in ctx.episode_info[0]] task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index dc53bfc49a..bf2b4a2296 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -84,6 +84,7 @@ def on_actor_greeting(actor_id): def on_actor_job(job_: Job): assert job_.launch_player == job.launch_player + print(job) testcases["on_actor_job"] = True def on_actor_data(actor_data): From b72cb783ec8799eda72ffce5f6155910b6be3cd4 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 14:37:51 +0800 Subject: [PATCH 161/229] comment Episode Actor and Episode Collector --- ding/framework/middleware/__init__.py | 4 +- ding/framework/middleware/collector.py | 154 ++++++------ ding/framework/middleware/league_actor.py | 284 +++++++++++----------- 3 files changed, 221 insertions(+), 221 deletions(-) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index 62001ea92e..f2a68c64bf 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -1,7 +1,7 @@ from .functional import * -from .collector import StepCollector, EpisodeCollector, BattleEpisodeCollector, BattleStepCollector +from .collector import StepCollector, EpisodeCollector, BattleStepCollector from .learner import OffPolicyLearner, HERLearner from .ckpt_handler import CkptSaver -from .league_actor import LeagueActor, StepLeagueActor +from .league_actor import StepLeagueActor from .league_coordinator import LeagueCoordinator from .league_learner import * diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 00c9c91575..925cad194f 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -9,83 +9,6 @@ from ding.framework import OnlineRLContext, BattleContext -class BattleEpisodeCollector: - - def __init__( - self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, - agent_num: int - ): - self.cfg = cfg - self.end_flag = False - # self._reset(env) - self.env = env - self.env_num = self.env.env_num - - self.total_envstep_count = 0 - self.n_rollout_samples = n_rollout_samples - self.model_dict = model_dict - self.all_policies = all_policies - self.agent_num = agent_num - - self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) - self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) - - def __del__(self) -> None: - """ - Overview: - Execute the close command and close the collector. __del__ is automatically called to \ - destroy the collector instance when the collector finishes its work - """ - if self.end_flag: - return - self.end_flag = True - self.env.close() - - def _update_policies(self, player_id_list) -> None: - # TODO(zms): update train_iter, update train_iter and player_id inside policy is a good idea - for player_id in player_id_list: - if self.model_dict.get(player_id) is None: - continue - else: - learner_model = self.model_dict.get(player_id) - policy = self.all_policies.get(player_id) - assert policy, "for player {}, policy should have been initialized already".format(player_id) - # update policy model - policy.load_state_dict(learner_model.state_dict) - self.model_dict[player_id] = None - - def __call__(self, ctx: "BattleContext") -> None: - """ - Input of ctx: - - n_episode (:obj:`int`): the number of collecting data episode - - train_iter (:obj:`int`): the number of training iteration - - collect_kwargs (:obj:`dict`): the keyword args for policy forward - Output of ctx: - - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ - the former is a list containing collected episodes if not get_train_sample, \ - otherwise, return train_samples split by unroll_len. - """ - ctx.total_envstep_count = self.total_envstep_count - old = ctx.env_episode - while True: - self._update_policies(ctx.player_id_list) - self._battle_inferencer(ctx) - self._battle_rolloutor(ctx) - - self.total_envstep_count = ctx.total_envstep_count - - if (self.n_rollout_samples > 0 - and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: - for transitions in self._transitions_list: - ctx.episodes.append(transitions.to_episodes()) - transitions.clear() - if ctx.env_episode >= ctx.n_episode: - self.env.close() - ctx.job_finish = True - break - - class BattleStepCollector: def __init__( @@ -167,6 +90,83 @@ def __call__(self, ctx: "BattleContext") -> None: break +# class BattleEpisodeCollector: + +# def __init__( +# self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, +# agent_num: int +# ): +# self.cfg = cfg +# self.end_flag = False +# # self._reset(env) +# self.env = env +# self.env_num = self.env.env_num + +# self.total_envstep_count = 0 +# self.n_rollout_samples = n_rollout_samples +# self.model_dict = model_dict +# self.all_policies = all_policies +# self.agent_num = agent_num + +# self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) +# self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] +# self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) + +# def __del__(self) -> None: +# """ +# Overview: +# Execute the close command and close the collector. __del__ is automatically called to \ +# destroy the collector instance when the collector finishes its work +# """ +# if self.end_flag: +# return +# self.end_flag = True +# self.env.close() + +# def _update_policies(self, player_id_list) -> None: +# # TODO(zms): update train_iter, update train_iter and player_id inside policy is a good idea +# for player_id in player_id_list: +# if self.model_dict.get(player_id) is None: +# continue +# else: +# learner_model = self.model_dict.get(player_id) +# policy = self.all_policies.get(player_id) +# assert policy, "for player {}, policy should have been initialized already".format(player_id) +# # update policy model +# policy.load_state_dict(learner_model.state_dict) +# self.model_dict[player_id] = None + +# def __call__(self, ctx: "BattleContext") -> None: +# """ +# Input of ctx: +# - n_episode (:obj:`int`): the number of collecting data episode +# - train_iter (:obj:`int`): the number of training iteration +# - collect_kwargs (:obj:`dict`): the keyword args for policy forward +# Output of ctx: +# - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ +# the former is a list containing collected episodes if not get_train_sample, \ +# otherwise, return train_samples split by unroll_len. +# """ +# ctx.total_envstep_count = self.total_envstep_count +# old = ctx.env_episode +# while True: +# self._update_policies(ctx.player_id_list) +# self._battle_inferencer(ctx) +# self._battle_rolloutor(ctx) + +# self.total_envstep_count = ctx.total_envstep_count + +# if (self.n_rollout_samples > 0 +# and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: +# for transitions in self._transitions_list: +# ctx.episodes.append(transitions.to_episodes()) +# transitions.clear() +# if ctx.env_episode >= ctx.n_episode: +# self.env.close() +# ctx.job_finish = True +# break + + class StepCollector: """ Overview: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 0762e95552..4123c11e2a 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -21,148 +21,6 @@ from ding.framework.middleware.league_learner import LearnerModel -class LeagueActor: - - def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): - self.cfg = cfg - self.env_fn = env_fn - self.env_num = env_fn().env_num - self.policy_fn = policy_fn - self.n_rollout_samples = self.cfg.policy.collect.n_rollout_samples - self._collectors: Dict[str, BattleEpisodeCollector] = {} - self.all_policies: Dict[str, "Policy.collect_function"] = {} - task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) - task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) - self.job_queue = queue.Queue() - self.model_dict = {} - self.model_dict_lock = Lock() - - self.agent_num = 2 - self.collect_time = {} - - def _on_learner_model(self, learner_model: "LearnerModel"): - """ - If get newest learner model, put it inside model_queue. - """ - log_every_sec(logging.INFO, 5, "[Actor {}] receive model from learner \n".format(task.router.node_id)) - with self.model_dict_lock: - self.model_dict[learner_model.player_id] = learner_model - - def _on_league_job(self, job: "Job"): - """ - Deal with job distributed by coordinator, put it inside job_queue. - """ - self.job_queue.put(job) - - def _get_collector(self, player_id: str): - if self._collectors.get(player_id): - return self._collectors.get(player_id) - cfg = self.cfg - env = self.env_fn() - collector = task.wrap( - BattleEpisodeCollector( - cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, - self.agent_num - ) - ) - self._collectors[player_id] = collector - self.collect_time[player_id] = 0 - return collector - - def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": - player_id = player.player_id - if self.all_policies.get(player_id): - return self.all_policies.get(player_id) - policy: "Policy.collect_function" = self.policy_fn().collect_mode - self.all_policies[player_id] = policy - if "historical" in player.player_id: - policy.load_state_dict(player.checkpoint.load()) - - return policy - - def _get_job(self): - if self.job_queue.empty(): - task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) - job = None - - try: - job = self.job_queue.get(timeout=10) - except queue.Empty: - logging.warning("[Actor {}] no Job got from coordinator".format(task.router.node_id)) - - return job - - def _get_current_policies(self, job): - current_policies = [] - main_player: "PlayerMeta" = None - for player in job.players: - current_policies.append(self._get_policy(player)) - if player.player_id == job.launch_player: - main_player = player - assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) - - if current_policies is not None: - assert len(current_policies) > 1, "battle collector needs more than 1 policies" - for p in current_policies: - p.reset() - else: - raise RuntimeError('current_policies should not be None') - - return main_player, current_policies - - def __call__(self, ctx: "BattleContext"): - - job = self._get_job() - if job is None: - return - - ctx.player_id_list = [player.player_id for player in job.players] - self.agent_num = len(job.players) - collector = self._get_collector(job.launch_player) - - main_player, ctx.current_policies = self._get_current_policies(job) - - ctx.n_episode = self.cfg.policy.collect.n_episode - assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( - task.router.node_id - ) - - ctx.train_iter = main_player.total_agent_step - ctx.episode_info = [[] for _ in range(self.agent_num)] - ctx.remain_episode = ctx.n_episode - while True: - old_envstep = ctx.total_envstep_count - time_begin = time.time() - collector(ctx) - meta_data = ActorDataMeta( - player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, send_wall_time=time.time() - ) - - if not job.is_eval and len(ctx.episodes[0]) > 0: - actor_data = ActorData(meta=meta_data, train_data=ctx.episodes[0]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - ctx.episodes = [] - time_end = time.time() - self.collect_time[job.launch_player] += time_end - time_begin - total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ - job.launch_player] != 0 else 0 - envstep_passed = ctx.total_envstep_count - old_envstep - real_time_speed = envstep_passed / (time_end - time_begin) - log_every_sec( - logging.INFO, 5, - '[Actor {}] total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' - .format( - task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed - ) - ) - - if ctx.job_finish is True: - job.result = [e['result'] for e in ctx.episode_info[0]] - task.emit(EventEnum.ACTOR_FINISH_JOB, job) - ctx.episode_info = [[] for _ in range(self.agent_num)] - break - - class StepLeagueActor: def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): @@ -333,3 +191,145 @@ def __call__(self, ctx: "BattleContext"): ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) break + + +# class LeagueActor: + +# def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): +# self.cfg = cfg +# self.env_fn = env_fn +# self.env_num = env_fn().env_num +# self.policy_fn = policy_fn +# self.n_rollout_samples = self.cfg.policy.collect.n_rollout_samples +# self._collectors: Dict[str, BattleEpisodeCollector] = {} +# self.all_policies: Dict[str, "Policy.collect_function"] = {} +# task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) +# task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) +# self.job_queue = queue.Queue() +# self.model_dict = {} +# self.model_dict_lock = Lock() + +# self.agent_num = 2 +# self.collect_time = {} + +# def _on_learner_model(self, learner_model: "LearnerModel"): +# """ +# If get newest learner model, put it inside model_queue. +# """ +# log_every_sec(logging.INFO, 5, "[Actor {}] receive model from learner \n".format(task.router.node_id)) +# with self.model_dict_lock: +# self.model_dict[learner_model.player_id] = learner_model + +# def _on_league_job(self, job: "Job"): +# """ +# Deal with job distributed by coordinator, put it inside job_queue. +# """ +# self.job_queue.put(job) + +# def _get_collector(self, player_id: str): +# if self._collectors.get(player_id): +# return self._collectors.get(player_id) +# cfg = self.cfg +# env = self.env_fn() +# collector = task.wrap( +# BattleEpisodeCollector( +# cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, +# self.agent_num +# ) +# ) +# self._collectors[player_id] = collector +# self.collect_time[player_id] = 0 +# return collector + +# def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": +# player_id = player.player_id +# if self.all_policies.get(player_id): +# return self.all_policies.get(player_id) +# policy: "Policy.collect_function" = self.policy_fn().collect_mode +# self.all_policies[player_id] = policy +# if "historical" in player.player_id: +# policy.load_state_dict(player.checkpoint.load()) + +# return policy + +# def _get_job(self): +# if self.job_queue.empty(): +# task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) +# job = None + +# try: +# job = self.job_queue.get(timeout=10) +# except queue.Empty: +# logging.warning("[Actor {}] no Job got from coordinator".format(task.router.node_id)) + +# return job + +# def _get_current_policies(self, job): +# current_policies = [] +# main_player: "PlayerMeta" = None +# for player in job.players: +# current_policies.append(self._get_policy(player)) +# if player.player_id == job.launch_player: +# main_player = player +# assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) + +# if current_policies is not None: +# assert len(current_policies) > 1, "battle collector needs more than 1 policies" +# for p in current_policies: +# p.reset() +# else: +# raise RuntimeError('current_policies should not be None') + +# return main_player, current_policies + +# def __call__(self, ctx: "BattleContext"): + +# job = self._get_job() +# if job is None: +# return + +# ctx.player_id_list = [player.player_id for player in job.players] +# self.agent_num = len(job.players) +# collector = self._get_collector(job.launch_player) + +# main_player, ctx.current_policies = self._get_current_policies(job) + +# ctx.n_episode = self.cfg.policy.collect.n_episode +# assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( +# task.router.node_id +# ) + +# ctx.train_iter = main_player.total_agent_step +# ctx.episode_info = [[] for _ in range(self.agent_num)] +# ctx.remain_episode = ctx.n_episode +# while True: +# old_envstep = ctx.total_envstep_count +# time_begin = time.time() +# collector(ctx) +# meta_data = ActorDataMeta( +# player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, send_wall_time=time.time() +# ) + +# if not job.is_eval and len(ctx.episodes[0]) > 0: +# actor_data = ActorData(meta=meta_data, train_data=ctx.episodes[0]) +# task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) +# ctx.episodes = [] +# time_end = time.time() +# self.collect_time[job.launch_player] += time_end - time_begin +# total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ +# job.launch_player] != 0 else 0 +# envstep_passed = ctx.total_envstep_count - old_envstep +# real_time_speed = envstep_passed / (time_end - time_begin) +# log_every_sec( +# logging.INFO, 5, +# '[Actor {}] total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' +# .format( +# task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed +# ) +# ) + +# if ctx.job_finish is True: +# job.result = [e['result'] for e in ctx.episode_info[0]] +# task.emit(EventEnum.ACTOR_FINISH_JOB, job) +# ctx.episode_info = [[] for _ in range(self.agent_num)] +# break From e12a82e84505c5b9849981ee6c869200b3cbd642 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 14:54:43 +0800 Subject: [PATCH 162/229] move battle_inferencer_for_distar, battle_rolloutor_for_distar to functional.collector.py --- ding/example/distar.py | 3 +- .../middleware/functional/__init__.py | 3 +- .../middleware/functional/collector.py | 77 ++++++++++++++++++ ding/framework/middleware/league_actor.py | 4 +- ...9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay | Bin 0 -> 27884 bytes .../middleware/tests/mock_for_test.py | 77 ------------------ .../test_league_actor_distar_one_process.py | 4 +- .../middleware/tests/test_league_pipeline.py | 5 +- .../tests/test_league_pipeline_one_process.py | 6 +- 9 files changed, 90 insertions(+), 89 deletions(-) create mode 100644 ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay diff --git a/ding/example/distar.py b/ding/example/distar.py index de51043fbc..28a87906eb 100644 --- a/ding/example/distar.py +++ b/ding/example/distar.py @@ -6,7 +6,8 @@ from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar from ding.framework.task import task, Parallel from ding.league.v2 import BaseLeague from dizoo.distar.config import distar_cfg diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index 01d87b71ca..dde50535b2 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -1,7 +1,8 @@ from .trainer import trainer, multistep_trainer from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher -from .collector import inferencer, rolloutor, TransitionList, BattleTransitionList, battle_inferencer, battle_rolloutor +from .collector import inferencer, rolloutor, TransitionList, BattleTransitionList, \ + battle_inferencer, battle_rolloutor, battle_inferencer_for_distar, battle_rolloutor_for_distar from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .pace_controller import pace_controller diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index e3915c19a2..83b2757514 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -305,3 +305,80 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.env_episode += 1 return _battle_rolloutor + + +def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): + + def _battle_inferencer(ctx: "BattleContext"): + + if env.closed: + env.launch() + + # Get current env obs. + obs = env.ready_obs + assert isinstance(obs, dict) + + ctx.obs = obs + + # Policy forward. + inference_output = {} + actions = {} + for env_id in ctx.obs.keys(): + observations = obs[env_id] + inference_output[env_id] = {} + actions[env_id] = {} + for policy_id, policy_obs in observations.items(): + # policy.forward + output = ctx.current_policies[policy_id].forward(policy_obs) + inference_output[env_id][policy_id] = output + actions[env_id][policy_id] = output['action'] + ctx.inference_output = inference_output + ctx.actions = actions + + return _battle_inferencer + + +def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): + + def _battle_rolloutor(ctx: "BattleContext"): + timesteps = env.step(ctx.actions) + + ctx.total_envstep_count += len(timesteps) + ctx.env_step += len(timesteps) + + # for env_id, timestep in timesteps.items(): + # TODO(zms): make sure a standard + # If for each step, the env manager can't get the obs of all envs, we need to use dict here. + for env_id, timestep in enumerate(timesteps): + if timestep.info.get('abnormal'): + # TODO(zms): cannot get exact env_step of a episode because for each observation, + # in most cases only one of two policies has a obs. + # ctx.total_envstep_count -= transitions_list[0].length(env_id) + # ctx.env_step -= transitions_list[0].length(env_id) + + # 1st case when env step has bug and need to reset. + for policy_id, _ in enumerate(ctx.current_policies): + transitions_list[policy_id].clear_newest_episode(env_id) + ctx.current_policies[policy_id].reset([env_id]) + continue + + append_succeed = True + for policy_id, _ in enumerate(ctx.current_policies): + transition = ctx.current_policies[policy_id].process_transition(timestep) + transition = EasyDict(transition) + transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + + # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len + append_succeed = append_succeed and transitions_list[policy_id].append(env_id, transition) + if timestep.done: + ctx.current_policies[policy_id].reset([env_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + + if not append_succeed: + for policy_id, _ in enumerate(ctx.current_policies): + transitions_list[policy_id].clear_newest_episode(env_id) + ctx.episode_info[policy_id].pop() + elif timestep.done: + ctx.env_episode += 1 + + return _battle_rolloutor \ No newline at end of file diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 4123c11e2a..eba1bc1735 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -5,7 +5,7 @@ from ding.league import player from ding.policy import Policy -from ding.framework.middleware import BattleEpisodeCollector, BattleStepCollector +from ding.framework.middleware import BattleStepCollector from ding.framework.middleware.functional import ActorData, ActorDataMeta from ding.league.player import PlayerMeta from threading import Lock @@ -29,7 +29,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.env_num = env_fn().env_num self.policy_fn = policy_fn self.unroll_len = self.cfg.policy.collect.unroll_len - self._collectors: Dict[str, BattleEpisodeCollector] = {} + self._collectors: Dict[str, BattleStepCollector] = {} self.all_policies: Dict[str, "Policy.collect_function"] = {} task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) diff --git a/ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay b/ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay new file mode 100644 index 0000000000000000000000000000000000000000..a63bf2bc9d39e8cf8e741a2faa7010c934de0949 GIT binary patch literal 27884 zcmeFYRd8I(vMAVMY%ybtnOiK`EoNqBxy8(~x0q!yGcz+;%*?jPVrG^l+t2&#d)}OP zBPM3P=4WnwR90res>saBtXh$&q^d>=fCT^m@Bo0@AAo=ZfMwNiH*=M6HM4dH$;p9S zt(@)6d`P*tU=h#(D6p_7$nYq5h$sMLl!aUr)W0iu6nI3GuSH16h%l%Ku&}V8_ADc( zvdKp&c2`{N-fsIw^uI@8{HyEFC;pFuh4_D<|AYJw2mXfx{~vNdNmY$x?$7tmp#T6J z00D4r^{4#-008}=Vg0v#{5|IHQf>JURQfOYFZ=N~3FaUAziXBMYHE8t|`FEhspmJ zyXN2^0K_G*gIHy5CNycjG@(=l1mz{>Oa}l+uq^w*eSqcn;>kDk6TZAa00{swU<`_= z2tm&T4t@p(C2-yBpw0>RWz&|KXT1UOey`iah1koBcy9 z~NR(1w3=V-f zJT7d9e>d`BJk1D$n^vUzG~cmCl6fC(THzrjVM!h;#tK+PWyroSkH zN}|-@I#H5S>!;%lahOu6{m4h<3;L0J=iiuCTm{ohZxLe(>W%K8&SsP~r@%T3n6N<| zGV<7xvf>I5&aJzb`42Jp<}io>0KES%!~l3@E2IWN!GHTBz~52`Kq?2X1#8|fi}K3E zl;7tjEkS+b7)fmM0YuWd2?-%{i}V4A6(^$NyhJ1@rLpJ$u~V?QC`oR99{`L6+ZQAo z1f=Vif$+itUBROO#9)v@sNy&$sXJ%6InLYCuXxOG1EeoRiaBp9V1&v~F{N{33?Ycf zBop)>BzUHz9l_fnh|duYhplFFB@tzjSPA*G397O|s4jEKA@9Ige#rD`^Q_4Frc~yi z%DAm13nUo)NS?e`(bxfstp^EkEa;aJ7*a;n$mtWheXP@YHpBg}3}`4%-#>^wLSRDq z=mS24oK0f0LCzXS3fHMPVHl%C>R$*{vB>x+T+YWEp3IS3A}TP$64+IdHBgq&8Iq@A zfiU!iQZFV~bzP9&WTpc~B97fl*)midOpW4W&=@;hB!pZpzrrG$>fIwKPHvhU0Qn}E-FRDG~;eVj0YS)gUU;`vetOliO$5&ZG(FfDxf zOX*2VLyJ`T++f7af82kfc$O4bIYs^)08R-2UCaIBa`naR&6w2Bs{$WKkkJYE#bI}4 zyFvTldu@_!H=J~zk&iSq(2uuS{p`*>JOb887?!HciJR^__3^hm!`xqjf)^N3;K-qn zBjyhulx(J`nnZyiA!R|QSQGK1QIYY?vd8}MvPPw<1n?kc30f)6=EXEvmt?ww9eQa~ zvxux9GyM@1`aaJ523q`7h(`TacNF#xXDzg5YjcedBy^1NAq`o%avh*I>7nke9co}D zk77V}W})jq8=+Z!;kzI@gun$^Tt|KC!f~S*6r><1BYnsqV3HdjeOQfky>E5+SJ-)Y z|C|ihmLJuxyt`wW8!uXoP!xn`%IdlK6?TU9LR;SH2psn}ba%P`VEMAA1r`8CvQ0Q(xOpyz&S1#_jQp&GuKbJonDo#-d3D@{-zpug}eitIb5 z#^pp6TFnnKWeDTbkDgXAK-ZJGD5Wcnk7L>ovy%ZU|XyxoIk+*~k$d`srd2Hcv4!C}6K1K?(x`KKXx z0&)?1j5R2TC5WqR(x+^Hl{m#pV?Wz zg}wM%G;w!(SqI*vH&?H{AA#NRGaS}S|A-N#;NNe!ET<i zqC+jEeAp7HS;)&jP@B4HO!uD$gsc4bJ zj2@s-Ah`&G96N)UQZiDL9ZmuKoD55AbPNZv7#etCsfM4U#rMV>O#o2_M2qRMHwz!0 z9P;TN$4>dTTGr0n zZm`VlP{^7#!#x8dsq87i>UW0dO0D4g{+}a{%F|mtht~En)(7#uFe!bE+0H6i*K~KlHnlSl{qIeSb{JG znEOEKPTb`V2XF=qkvH^Hi9Q}$*x51i+Hptf*`lH>o?ZC&0fYd6uRlZ?dop2TTQx=X z$v4>BBhHODjHT?r6FH4l_+ARV;;mxgP<`H zNz~Hmfsy(1@r%;2|58N&82FE7{^KUV{}31Fv~-_N)jUs8 zDlt!DovBnjA3wKfQx09EQA!{Il2|7#tz|+Vz|i|Z97zyz1}+$DQT|hm=19__#&3dAZ2X{&q5-SMIB?ui@ghv~@nTBO$uFpO zQWf*XX`SgaAn&~s()O8QACeA9yd%d)JpNXz&)>E)0?^j2;oD(0E|$X(Oe+!`#?1^) z`$lQVG@W$yG&YtS=L6^rzAB))53AP3l057L)kZCsZj*Rj4~@bA@el3|rJoAWnNdEhpLz+|7Yo>^+T+SqDP}X!EJP@^D5!fgDgE&xK##9lVK|9qezG6j?*FE`<0lRWM znL+;fi~*Qrs5FHE;(#H%9P0Rh5CZ$5jB?!xnpenl{|Jrb}XS2}#2l+D=||Dc#2IKmFSJAa}*^C1JYO zVFCM1=7-?M*xU3ZWB7woiUODat7bPQgEtJ)=iZT(;YXh*|5QUFhaD#~AD!HTl?O^U zkG|`T`(}Qw`8rCbw+*G=#~V%;ff*!Sb)Pgp+6sFa8CNEkKbL=S-*58a$swjBX}OBq zKl1Wc{1kr2Rkd~<&0n@=CbK*o*FN`R5@?p;_bzSTuj|9smC?g{L-zGY&z`#UHpJGE z89T+XHI*!%HFZJqt*3^;gzlBVd5iml*`f`@Evy{a_~1oG5WsOl9I>!K5=+$HNbTOZ zG~mAB4j!H)h$0m>%sT?pLkr8}c9q=9+a&F?q-I|n12bL& z;Qku@9&q`%iXeN7&FP{MAGPIj&x);CiD?1@95_G&S`Q3-(WmN#@td8<`-u^2GC3vs z$h&HUtK1mE*JnVH7=kH*%^k#$m4Pb|tryrVn_|L!xu&txxz_QR7ap>MpDuHS&z9Po&rwycqbtv!H|)xQ|EeoHN#IS- z1zDPwfYJr88C}5vEHDc1WZVal^__j9t@%iIQetqf3Cduua^w42($ve~fk0vnjfOJ< zb7^<%SY6F^{Ne+7q9PW-G*3J)QejqPrkvqB-y>m4gjiiRo9O+U#=;Bh`6iD=1wKh& z2JzP)q~CN8H5-;axtRi6bgQB3isz{gX{OHxd~IQ&6LaM9&h7JwU0P!q4ivH(rTvjb z(1P9B0PYO70{cxl1ub*&K4Ih7TsL6~tJCFaqZ58SytG_fp-`&>8g_2RnxeIRYOY*D4Ep#)byni5JNeYmJ1k zBF#mswFzeZ=Na+>h<_WHZO|Y*N`vV~jXsairJHxF26f8@)fsvXX==ojs`Cse$xtEt zJ2R7nt}K8BJFE6Npml`XzlEB+iVcs~!8=Gd!ia7|L)0io2c0R(z_A>D*G|1eUb%j} z&6}NB{M=IR@W!hxc58RBzQ#1(TfbaeuFkr3n(tPP>!ciwHibJS zXk<5q4)7-qf4J#HJ9hzhFO3dswdOmHTttrie_eKTJL;~M7<1rH+1`IW;vflD>v5}d zDql6;Y{R&GahUVsxwz|Dxo@Gp+_!zH3KQ)rQW4(1v>278Ev!Fs z-FOy0T#ZexnpZW$?zV+fiw8H#=@i~@a1YcFje=ndsI8;xbORx%^t;Wnu6%o4N$J&c ztHQ2+w$Fq^wK~f>U7IR?HAh}aM@|}sdQ21^CqA3b(e8OPUsCV$tXIX1uDyI8y8tYT#@tE1gJLqhEY>kkBP!109)+Q|?L)7fuWrNc*{b7RN6*%k!mLqU#=ZQPT$P;V zP20M>2B~Pe2-zma`PM%iVU*!)_RUHOBsuWjhL`--%Hsy|ooWKKK;aFBVd zB~hkKoh?RAS8vX1*?d{ z4E(|}GFs-lJ6zZnbyL-(FMrZKIV-%H<2@B^cM=;sszkr++LJYu;H!N?e6i~1F?@FX ze6yG}(sGoe!)pHIB--<{$8_*Khhp<6mnJQC^PAG*>|dhh9I~GcCjyy!+~w)_t0D}q zSECwq4413-I#m}-H6Wu}@CERJu$5Ngc>43DCp(%iT9=PH0``t}3DQqTxjIqsH-%A8 zP8F?Rv<*z~Yi>^IA(@tJW(hUdTetCy4bsnT#ZC%}{DNe)Zl!T?8Z#T-H@ovvBBy&f zll4AFDf@z}o=P3$o@eWyFD4Gw(|m6(SWw5;#Pip&N+zbw$n{#>Lb;Q*;T;V!d3WQi zyL}CpkJ9Xh=P$NC>%+BsDX`Q8MVu_UPsm?aKFm}zYbunSKV%uZe6U)c=y3W=$gbmR zZ$=~3@X(Maepp{0xj;i49iUGSYI>4|nNIN;FcnO7|9^&>+nJgY&KEz^c-A42hu`=eHK#8{9S@uRR38v;Lw zS#s$MRmpvt3gwdRSJmvQ!#{HD&V0CjDp1?&@mQ2Dn_PCd((;eRvrjZpvdd z8HWW8Sr){NcpZW|VGW{601e_})8gSoIq~3NDr7Q3SGt7F#= z!2a|~xF;Aq?!AK&qBjt-aqXnt*HQB+}=syLQc6z80vSI9H-V6RU{OiJ?y;B;1 z&H1y%XbS%RO5Sj%Z6aKZdkDL%sHXynP3ybx`uT%Ebtw?(bYzV+1KnJyQ8R2_j;Mff z!Ez-Ahm_XtS6s_m&CkNNI=e2ZjpIXRg&TGi_Rb@+!(Y5@%-1%X=AWHrf9a$~Tca4V zT$FDjatoZs>uBqS!%YaK<&yBG@t&yEUOLIgj;(hUPIeU==54?1-?bU7nvqqdvR}?e z9q!PYW#MDbY1rEw4j=b1Vq51)f0JkLSm74Bv=8g}!q2rk%I>KAas@WGm^ozd+~~NU zxG@$~6I|J8gP?14B}{fTUj`iXtmc_)6EJRUr??Ws9 z=s}0IuDK;ASs;Txz(h5(-&Fy2-Rm;i&{3M`=|1=2{@^9zb7aoax!18JVoEdg!Gmtb zF0HgXSMWRAXsqku<;kY1*=B85?X&1xk8kH;M@Mv!-FlZ_o%j~JMpu?whsV{y(dRvs z=^3)A&zHTC#y%svQj-aW^Rt0&#_#MRdl)-ToG&|{JnuR-=W7Xty)+XqkA!#(YYk7_ z5MI)fh~{(MavBUTFQ+cOtS*_9HbFEhO~q(fBv>JO3#N;xvRVGhlQ*YbtFAL1w>t4n zGlxpf2Syu8o68Svn_UjlKMeNN07;g~k9S)Bl;e*NJ&oLw_S~@`JR2rhEO~%EG$gC) zip^ja$66c}2P?+1Y)HZr^(FUrQzO-6oI=rl5ei4)GwhFvQ-7<+q4TyU#IZ!h!*er` z?0_7scx4Ejp2{fxJCo?WqK)zrL?KU5X!tsujtf4X~ z<#$c0l^YX{51sR#j}Fu52q!z*iWBf5v?wUB_;>>z56H&$UkII2YK*iOvhjNGKchWK z!@@#c)3eq*Z?~N5{jD*3Qi^mNqmYr6DcAQ@`W<}O%WAwij$tGiMr(}Teut|T)MibV zt7G9du_VTafa*reKUM5gA$P?_b4Y#SdCgw>T=OW}lIP1X{axbV)6>erJ;BGH1K&%g zUW7DOSXDpel`OCQ6al)6w8}rjgq`*B(JC7ad5@k*PCnZt7u{PsUFx_Ac203i-ad`K zS@k!6I_V_#<>vE$;NI{mmCLbqfJhFkk8tTo>Q>17D|3*E0Kk zkP!=v@UU`v@qUo=x)B&&J?PTYv-C-D99T1pO(?O`KUQmM&YN{qBbYk6c==?<0XOup zy1t~#X&<5mE!oz0x&h6|vH_>&1%*@*nRV6;tzUFjd6yMu>#mwb422XoZCSCMH<%#h zRDEJ@*sx+4x8(*>jQs}K6bS*H5rz1Y5)RZD<_WUEZAonD59km|i2LuUj|utjsA@&A zuS0a=WKB>5^KWFTMR%aS();_$5uGA;pV<{<1|v`{%VgkPxpdk?LA^hyq9Q2u;pT@u z=K3YshI>z;x$tmZK}bpP57Z*}fHTwZgq?Zsbe{wnD}dkEu5Y^#QBBFmd8KTF_FvHG zoa=Jo2ntCaoqH7*1fh0eS>{-%UH)T&{jkd%a9<)Vh#ZWye8pHWB6&{@a=YfbMz^FO ztSNlwE_P8!wxJj^A_f$}Tb0srXe^rV#|(zUBm*mn=x|M_k{*9xoL3)`^ar3tWJmN# z)5)_bg_44jRp;OZnehO$iU^vV>@dODeWsBFneg#A>O?fy$V?%~7(^lcI{3)wrXkct zxY$u(7A6t^Y$`0o6kA`4OKON(90dU1htCQ!#EV4a)IR2?;qXAqPcY}l>z2MqCe=k8 zh>8tCE}RR&hL9i>K((L*A&gMO0HzWs34&??syZ50W3XkA6t#q2i8gO_W9vkd1GFF_ z10-Q*uU1oSVW4KO&sIY+tlhn^wy$YmFj-ku?SN0PsGt{E1uZh8Aw_J-!gXi`+N7`lH zmolNjERm*qFv9#A#l{$F*#|;Oe2MzKa{AtN+wXd<>vFd8`ooQhcIp#_QA#zoznCjv zDoPhJOKlocQm7@=>UD{dSBRl0CDqz14n>gGW!JT6r%o0}sk%LWugz_$JVQ;2@*zB# zT6}_?=W^kK3ru*+n1YwlXADS?V9_N8w3?CfcqEVZ0V8>UaHM*QLePnTo(-NrQWvmy zY@}B^Q?ue_Ra-Z{Zoe!Atgtt$vWh9^QEE0Yt+Zcuz_Wxd>8|^8cQ3khtv^0VpBgz5 zqD2_7^D9KUlX9w`C=EOj?6~fjLQ5aTpE&#?U3Xju^rxfQs&(ttwa&MmP}qX%&ajmA z0QFIdR-RjN!L6gx;$A(|R+Ff6)QzBFsze#)3QP5grI-Q<{Q_7q>#qyV$=n&iR7K{j z6EUe=^-=~VjVU#DuP7lRu#DLQh$k3$-1GO@PQ902J;aAR9myj5s!Ch9%v?-MaP$P0 za@)A(a3G$s_-hq<3sWu4@O=*o(zvjq{g`C(kQQ+~_A31ZRt9{r?@-N;F6m1OsH~C6 za#vV=Yqe`?gCh`0rau!Wy<7C9 z=W7bXc!WtX2d%KY?ZMZsd*KM(L`RA(BP-jiVre!YI6{a3cV?NA7jVcFZk3pHs zmlHOBvh87WUaK{sbMUnrX|Sg|ur8ofl=Kv|F#HLq^O@c&M?S{o3dlmOqz}Z^4d2I7 zlB*yfga-z|D%jM>FRZJVF0Ie9PMJI@zn%Mp<>*=;e3;~khpqzBQ7P9<=g2wP<<4c1 zJ}G%q@?y%O76A1X4Rs#ygutG@bk54#cy%9d_7=N33xm$~GsjV0n$1<%9vyjaA z1rH-R8=1%F{f#HeHH7+z@V634o8rqfhVy*BaSqWK>>Elt>OtD1b5KF)NMG#tbRB#zl2I%^$Qf+NOLs(&n zORTrV2?;PV@UX9|skhyUU!>!8GiqzT6OMYbe<$kNAY0adY3h%%N>qat1E_A`5u)Q~ zsHsNHayJlBwOcpGmeZPPu2eE65=~}0F4e1P*+1(a+RmCkGJesiGG^v1lxoo<`#?)I_OFCa$d z#u4WVMJ@I`NH27RGPc@Xs*b5`WT|b^NasjY$TA``smEwy;pMx?r%G`WMFh-5kwb!> zRPm}9>30H&u`|S=){&()k%dBXB{=ly1@`654#cpUIRvb!H(Q=3J-M?g`ndu+LmM%4 z`Xz*kOY*GpR;rQpsX@@-Wc5Y0IxptK(=^6)H=Vxa*p}VVel)K#N25qq9e&r2gH@m9 z^)W9O+XL@A2hA2^<{j;gEhQ(CHZT2d?~XdemTBoKSC(AioT!72>FCTY!*O*4{VWok zP=Znm^d>7AM5@Rpi~7*1e3I`}HIv!v<{Mw+eO8$G1`z59mM0x_fTRe)Iyoz>w#;lq zU%{z$c-qVdZKxgEwRYNDs9p}P=wXevtf}Qy!&Uf>6SbN&Sfap-&?jsRdrN9KdfiJv zYzUwe20$%9#^zRmCd~WvE(yM{(v;;)zKTVoG_!u}>|VLJaC|8sQ>pYM{#WBl58gm| zq?p@!PQMDNADnXj`t|77q|{Gw<&Sx+wk#%;aX?YM-ydqY_I5qOJB4}ReKQu{s1i&m zt3Yml8D7EUufz-&e<^SADW>gLihqUi9}2I<0vYxdm=Ed)c=v+ggv_Zun$DFXYE;IWSQM&{DRgD_oMyf{BgJrYN5eYhLiG@%{5d^`Nqm#XNczJt|`kivY zL(B2@s{N>v%BEWoBqc2mJ?t(T2^_M&SvrF+GB#Qe>n)eud?z(%` zlY*+x)I2GFHXCkVS+H6yvwc>Vczyh?Cg;-gy5??xjB3QPBY=tH$kCa!-QndjvwCN% z@zthIs!og;_4+fH?wB9Z)$^8wk3bcf=L&tZVb#wOs;?8Kn=}ZUtep{x*iZrn>q%9`xQWNPmVNM30W zm$Rmq)V)eHO`Lqc++U~7Ps+I3hU1>eLL>XMH>*6y zGuP~*+n#MD(n6`lU;RZ1&{_3IV=fJ1x_)qQ-Eg?Li>CdW_a~fo(7H!!<9xGe&KXKD z>mJwB3`>m>toVg8^*VC1VPdJ1r{a*Ao^d+n<*1|F{8p}Zcj>yqLP(rAk=ClD_{%VO zA<;?>o!pE@{e$oN54|DdZ;Onjrm4o{2q^_!`oB>J7r)Eq6)8};YFbRcCoalq8d5Z! z93LCVVnSTZ*%|LFi}v9LC9u`}?uxVirIP`(fkezVB4F!g!?6!8RNa!0YAbW7cRJ5?^LM9(;~=+R3j$>e+M1O=il$*lLx4X8U(9cy%72>lFc zoKvmJ=*c3{Vhg7&S4aCCyjuzqoK5ftU&2K#4EVZ`ado8Htv}9-PH2j#p7bk;rQ2f%3BDVm-A&^8`3H#L0 zh{>n;?Y(EmYTNbsU_~GaqC*&GUhZzthCQhcYi9Z$3~8%y)-bNpa11DSuikc|5}i~z zf4ZP7tBtRk3>^Wg+utu%Lg18DEi!R^d|h0xH#pww2j|~ELll$;e(9Q}kpon;Td`ZO3#Ys9U9>-dr>pY1W(yU4Gah;Q z;kKoj{d3Y*?Q5#$FPdT0r0ViDtB&Bl?qK;MM2au9TeyqoLXj@S_e{2O4j$QI!WW*} zuOCGi zu^Om|xg9l7Ewr7p_Ow{V3ZGTIPEEw}bzIh7WT@mhTwWJ6dr&Q=KY04D1Qe!X0GIS&ghBi6Pd~!mJQ$Tw4dNfQ^IOxqiv|o==iI%r)R0K zg(+-nzhQP{0@2u9xN|~AWS`#bOHwE>2uRIt&}xt!oUVLS!Vzq`*45pY8L6JUsIB&3 zzUtBTQH>=7cg83Cb_HzDORKrmop{#bk-RLpE`PaJqYh_x!b_s;ep$0H@q(4!vh_aD z>SLw#Lc3+oFGt^rqe%-PG@%l|XAjnzZZjG;?M;#&o+K`f7$04vgW^`}*kLM9nG!4~ z)itA=2j<^B*|mP1E?oGmFlq^+LKX)G(W)n_B7i2CfE@6*&zh7ZE@7^*{w6!uQ&f8o zn9dB3oqMw=Lu9V(a+We-?>BCTU! z1NH^5yjr$xJ{xy;K#=$^6otETr>MSB3_Z$J@!7A(BR{KyypWXLe}6Rz&$PZfh|c3Z z7Ll|2h01t)F@hn=?1N)!JF$FAhl=lnna3|OisOAZO|h_BkZX1u-*7UShmSFMd4@Fq z3Vg)QEXAe*Bq`xy)6j;1q{Xu5B-aNH&j9@6KP=z59hWa-cwuE1UB?cLWOs_*yix9Y z9=+voP4mrPhf+*V^FzKW~`(S1{dH$)%R<@q{FvR7zR9E*U*#CPPH ziCDC9v`nz71ypo86b6I${GaCmC&|K6!rEhK0H|!FtrT3#)=7X&0st)e$!%YbVNbrW z%-8wx5ozP;i`T`^jMPo~Qdw@v1lpJwBmH4?4E=!5vEP>3aKsY1Aqh*wMW3oX;CPId zbZP{)+)_K)_mq%;THNzmK@pe4Q8t~N>{i{t*i$%V3^By~T#JDl7yu(DHM!65i^h%O z=;)E8QNHubQlKT0*um%V#KgimFHiX-#-*H{$f-#c3$*N`y1w|>x*h+J?T==hX*iG& zoIg9U%rH+IF}(Yn{WVR8z_bhVovRl*KUdL=>KkD_S1Y}sz@5Uf@I$SDvd znF?9V(o$9q)~~R=_}IV2?Z{KSSv&h^grH>4%#Pe0F8uA_oMABIcI)7wLl8$+S~4V2 zo{lUc4ih|O<{>nA8mDaLk1TrfodBO-s8-4Q#5R;dD6X#Mpv=fNe$Rxftf`JHryZ8; zvuSLo2&iOO9x1qK9DSb(<9Gq|FWFzWVu?^ZVaR7mff4QFdbBj?|H52lwB zt6vpQRy2={C5YaqxPZ;oC>mHU5}1h%V)(hh&6NBzn4^Os%XpaUd40;$ zN`nV`XB$$FAl@vcr#=8j{pT^XJ-e(zHBurl1PHnBF;Y>JQsF&4HxLYF_C<_&gUvVd z^oV=8G0p#wYjO%+w**G_re4sQsH+$CGi$NLT7+q+D@CryjU$mjNR6D2Tt5Hu4! zimnf!ob?y5=%9SV)+O{cGoSIk42G7MXodg^g#&hckl$Iex5MY*DI@1nlN40{=3$t6 zyQ!R^0+rHF2t{7SU^tZvbAKx}(hhRUBm<3cvz$b#P9%nyrKPfZZkU9%#bQ_*uVIDO zV>w0;!W#tOA?N;Va!~BnL4dUn(A-O*fUVwgoY)^MdJH~SCXvaMj?&ZiMg~dkg=}5IkCRC^LR1GsKbc{PbbE~-*;HLR+CDK*2y&qFGq6^Q zwBHrophBpTXodQ22bt}`Ia_D}%5NO)IDv@mk%eHyG1I}Yc=MsXiP3bS9XxrT0NiFu z5k4YhF;H(m8?WK*5h6W{lm^UTnE8Fc)DkBMOc?INX*tx545=;I%sGVP9=Pd8B7;ok z!?NMEcsx@eURgqdi2&4SArQ_8ICR{=l4^IVW$}S|&HjjwASt@#r2(N7U7V3Vkahqz ze0%`ly`J(Ai%VD?&6I|To8#$BYKpea`_%4*TfbAz2xC`c7cHe(haW7qjjtpfoRR3V z11ul*%LZ45Ew-G-$Ul|E`yJQ|JmEhPe?J;{b+OP|ub=6dp`CQ7l z*&dW-`pYS0{luNVk&Fw1{wQMOOq|#Bw@A|U2&0xQ#y}t{0GI+?M>D~%s}e;-^i3eP zwuf58S4Q{XfYxzXn~1=m@T>)E5R$RG{JP-v-FHpT9{}EM=ZP;dmhv<>a*5Occ~z7o zkZLJo@>m#hOuV&jC@u;;`j~_T=OQvLHL>ha1Qbf04j{4Ok;f4OO-+JmaIBd^Vlhj5 zOvn$mTFL`q=Q^+#e;pXm^@Mbtz84KQOh%LM#X#AZf>X?~f@#LOiZ63WSx!$x8~ZI3Ap{5y z*lF)3F`dVwe60_Ejrfc4Y4nwJWaCI+K_bLQ;!MTbV#!M*JE;3!=VSlLA-3{!IBS3L z^wWW((V;u$H{qh8A8r`$ENTTpXXAN6zC4?Fm*g2LU}23d3h;B&_GBKaZ&AKT?eht2 z)(vFq`(6;jJY0pCANj{ogWjr1kKb8c?cN>Qg_dl(sZ2~oVEPx^gV36?DncDcm&qE~ z4)lP#C<&Q0aJq1OQZAKBuv9ieZR~JO*ujDSP#5)-%Ew`>&cJ!r026C;unOW3p z3hD;nlGZE(aF%_Gyn~fgNvi{kQi*j*j=9yLaUxYiPrgwUxqK;uF{MV<3@g5gTH2I2ixG?~j}?k&l|U;? zMbBjpj%1Xh;l_~`M~?ug23RoRAfqq_#j>Jvj$_HINs~}7$|sse#z-cn%31O_pVL~^W_`iQZ~3+B?)(TI$? z;)ytNFx)uQ5`1()cC74SW!B2vJ0%Vn#xQq8uL%DI=Z& zco=pBmqrOCerkXdxsfYVm4=7bbkS5?QxAQ_T0xGBs-S$TflJng1U#WC9frs_7V=K1 z>TdOJB)PnkYRCf3x^I8#+xPU~-uDer0)ytxbhj2<-^OWpN@!DDBbb%wnSZGndtXe? zXu8=YxJeJUOxc^?Ia{)N1jMs4hX$xNK+9cTyT5gisrn3IX!Z&>J!hGBggi1NdRhzA z5{w5%UCacOUGpH^XvHL)&3JCX2;gCSVWSO+h(y?)J&nuA{|oszjSjQh7Wnu$Q-6br zwHqf=YhArwt`W+#hxI+`7xq<5Y4K~>E&sy3f?Oo9ZNY19`Ab-{K3E+ZrKDury|V0E zC2AJ|lEq5U`gnvAw8Jz{^bW3eLO`oZ(WX7ZPzQ1uwFKE3OvqG8DZOIT?pk*Jn)NOx z-;36_iB5%cPo7>jCE{Q#j@beDC)%XBE}s7bhTCvemp|R;GgXqB19d<0umv#{EDjC` zAy`0Lr{MtA0dqlpXeVapW$U}yXKv(A85l#o`o0>C{N~}v5)F~WvC9e(z<$#j@2#*< zkqY$DMv?iYpOLSJO(Cv|_u}TLER}32XYmthN8C6hcT8fF*%UAhB!T=D)qW*QrWf-BZgipk?*C{~wQ_@68K|jh zvyEGGxTq=5SQt42TMQ$Qjf%`_3&(Fbc_a8I5vZ4)M@;b`#^bSdC3NNM?2Xp7pgmrg zpqDYrUR)f%&uG4&RIKsRui&+ug2@Sq=!^x3|IL8#9mmN#(1zgfG-pzENM(FE`h3?4 zpiHZERMV7WVX$9FrkIEHXfoG%(tR;-lkkR9!s;>W`E8sa4p5y+)rXp znb?d%0pq=8BD1>`&o{h!M$O6)bMYdTh*IsbQ|dtrrXX~e*^JwcJtEgxbCdMKqFMe4 zfM;2h9ctW`erbJp^2eg=?N8MusPM5`nn{U)wE(2v?@w`31t!csJb)=5jjdE54+C6o zv3{~q2* zP{yMr88BmmmiGt>hI+p05|3@G_&xD~W0D$rpVhXTS0|6ia5P%E7iDMf} zV)K!VN=yMSG?(+M1gDhFKiN-+J_=C)2}|mLEjE|}cY#Kz&&hY`|5y%qy~Ok9aWDI4 zp}&`+0t5yBlfm(Khd_r)^@(-xQ)J#<{W2q0_!C5p*;Pg!2^a)>RSwbLZ zZf20ZjZ#3m9?MCi7z_ZU2Mll%gDvOggSfzBT-?MYL@_aeN$^C9vEVsG`b=)nEd}n0FLp0qkW`MCc~jw8)E0K1Z@kNi}1*~?C$MDyBXxnofH8i$pydrQ+<_( z3>j4A@3o!qzW82;sH1s)Ig^wiE|dzVR))4W_rSwk?}eGxyyMoPrW7iiP9>>b5SNLY zueDvdyt_X4@mt~{{ME#@Pd^1xLup#8I(4BiT4?lFY-qylZIno6*i65Yxc4FM4+rLs z?`B1wHQcpbmanpn!>6nC>i_OkgR$k;P1Gd0cuiw?FplW+1#+n_)Qwz?+uXArJ<_dw z1gYy*RVv-q?B-kACUx=th6DsE-?({R8m^>_bvfD_>j8m#mICbbe{nnDCajFy-pE82 zw;VM-y&ohtC|pOD5~4bg-SUzUC5*30PVSraX`aXs_vnNAEHo&WSo6Ita}SS)+R^Pr zoj%Vj=2Q@|=!D?j`?{5tCO7&<`x2+Mv6L!oud(S9ymNjvW0u|;F?)ltZQ->OH%INvoG@aYpvZ1siU}?pkq%(=u&Lu4`PPS2rp<;=!mP3 znxt1>fooIF3Pm8kPA+U;#hVoO`5P@>1cij+rctU$J@IVUEPCu8J0|=RfA-*Fk@-{g z*Y@degg>+NxHa*?wTxrq@`Y%Y9SoUF{>7aFkY{+>c&w?c)ah)WOnP~sfJ32flt7q( zeNo9G`T#hmU0k3oQsi>vxS>`13U%cPEd0Js1^1J*b9|lmUHN8E&p9ECrhvx8&Dgc_ zc3G;|d65C4-TGevf-b;ibRg2}2vH6Y5Y~-nzc+aCu~5=Kq$n3VrDZ54-jxr(zEoJC zs{((nswUmlKD5b=aP4$<1z6zdE)(5%hbu^1un~xZxsF!E4C7eviYq^6>v6Pa@`bt@ zrLjOJ=qG+d%9}0dO6tS{1|5RGk2B&rhG{(Bo)eLLXTE61Ea1#Qq-IvHlPt`}4nq2E z#u64R>zHwM^g7Z`WTot-Ha-3!Trw+H_h^|NAJa70{wMaATsB*Sa1^S~`g)m!s}etS z;ZT`v3?%5szD1Zg(-?Vli3S|nNAtetwPK9&bkmdJ*qN8^2N5NCmo_+T0DFE>zPDN}RW3iP<_Lqt@1{n(TeV%$W1#wyTLlBEoM02PM833ty2mnCm zY><@=g^4lej6|VTgQWL!mU1!CQ(IEWrqgpFCsPHY6Gur}(sL3eAjnh8OGdInOjBtS zaj>JPWEBC4M3VBv5o4u_=Hj4`1a!;#an3@nNG{75OUd$th(x>sY@$drQ);!CK*llC z2+IhrJWgD5KEw|jjai+u|dQf@ZM1( zts>R4F(A|nzx9``DZ)CfEbHb($cnN9>0fq^1&Uu)b(#_J-Aj2YI<%@Xz3I7e~k>eBgV3uD_Dvgwan>968v^0)jODidFB6I3;XT z0qK>aWwF?yGAk|t@v5jXZV44H*%RQ8GR^zrU!E0~;DN7WzQQS!`tQvpHYaYaEE2a} zQ;})Vx<~5k7IxdK?8jjE?Z}!L*;sO$je44TTR+n}?5Z*`=Za2B6P!g9jaJUds#)0W zsBnXXy?3jE6LQ>`%W)G(>KTX+es=E1>!c09J*TC+s8WUBP@*}%le@{VE*J5uj%D^eSq2bl z=y2Mf#7loMPuO&HK%lE6*E&72pmM|cNElaLT6DPt6Z{c(t$93V;gyoJ5xFMI7?2e3 z8x{8}s_O0`&v6PFZCwtoSfX}BT^mMeL4bFLWI zH{vcids>3?bdzGhL{luT`7nHD4AI+bmL`_L7wM6o+?+T6tFx~RYAfp6O>hYwC<7MJ1&NLsY2QvX_1wvvB$o93){n1y zqU%dJV4@(tAoPl$H79{}379E`GJ4GmCN^qen=96xh9JJLMn{CcN$E+*UTvg=O7~69 ze-`k%?~WR`1EhR-TjnN~0tRwNTA0o-14d-k#SK>deOEO@JU!%Uy`L!D#j;_Ykc42f zx3kN5H>m&w&)ct4$F>r1*p3>s)^fsHi^Aa?1Ti%Rs*FLFqbGoz*eLEA0T3TR|JJ_< zUrKSUS&SKIEHF>S{25QIrQ6WKRamcb+?tyAfmER;zjc3DPKyhf=j9}GDPLuF0DD>7 z^KO)s!NSIFjKV3WS-_)DZKMTBLG8$_$mz^)s$Y)L>5z+5<4=hIVlBwDK3?(HpX|*M zyhN>oORRdFDLmrDJlZmC4g4-Og+h3YdG}qkKUOY*oFfX6`3nX7c}B&A9w)n zr?u(+)oM$Q;iP|G>OHm!D#CiJWky;(0$8%D3fL2-j1Lu|=1ua6HevlrI83ujy}YvW zvUT9ie-*ew+vb`BoTfBKq+v&<>@ufRVM=40|E;o|1d1L5RO2!Pm$;we5*+26&jYk;! zMO4ty1_a^`0RT9N)MIgQmSuBYR4Pgp0yM)Ps?VsXr8(>cJaQ6X$~a(AM-2cF2FPg^ z3}{pvc}-`EJ6F$ec{n8~EL1sX8G@}x7xWNnAU#(}=L2V8E)K&Za3?N(q`)(-$m-Mw zZZONsHB=cl50@I8+AzY9l--(=aR{HT0AOlvYE5acOx}oPUQ{v~%BG}0PRUL^x=9Ec zCf49jo0NiP)7bO3c45(3wzs;%h+l1JxQuHU+t+|6G(hd^hs>Mh{OwZ&nbh_+h;{`i zSEVi_lSj~4UA`odGT{-*^@)atkuVi;MtfGby!gDghL2Xl+EP+hd1g0F3!7>4=#o{- zOIT)+kk{mvngP^PARQt-@13{^o?Ee5=3iSC@{+>j&U?5x1ya){({A}?;E z;Cs*I46St6i4L;rf2u>RIxM1`yk`upJctx%?|6}Em9XKv``41bmoytBaIF3KVCi@N z(~hnF$=UnkvtxX+o!2$X+S+fg=5h+psA8cgv_l$I(TiKTSKHWe0TKUuA(%yw=cSD%$wz$4H(+lfVs23#Q@Pt>;&5mkTT9NN--3op6#zr;B-o_5nt-XYb-<((0*D1ItA}FaS$HRwUIW=yq-U%t>1PZ|I@IFy~E!wtfK~(KW z8hW$XxalU%h0)B++G!*P)IK%cGnQn+-kQ^JrF7c2Sv388D7JRJvZYv2` zq697ARILnz8o3qDM9WM9e#jNyg!drvNI{u4MlnD6KAzi4nBXE>^#9JMhOmp8nvG*$ zCAqEHpV3ROuJV```(&u3VyF3$n`%}Tp};NCmSRA`%@HYV9%FqO);Q81%qhy5OHEVy z&UlFz>7-0J2#IK~-3kvP=XhFcJcu1JQ!f}z)jYyW&yq5!{B2Hrv-+!1ev`_2vtg=_ zy?|5eR23d_t+lpRcSX#v)-=lJ)f`d?%D*bX>)85O?~)na_75ZO)O=BglGQdh#%y^C z7$+Bf$bNsl)?tw{<%}*s9tH1UTv2(_tg0E z`FB`$6i~g8R8*)!$GjITL}RJYEo>EI$rXC<*5Ak=QWJR>+?Xe#i@7IgM6^z?;zz7AJqvU?V=Bf;>d;tbt-{kx3+6BZp5TYPlO zFXn(_(eb!L_8E4xuXkp^5Z=3=FMQ4{4#IvMx(9ZmJ!C+`A}uYZIf`2g3_e?dHVx-w z2|^<@yB|`!!?Sz)yXiYsn7T?moZ@DqElxM2M8&>s-`iYB)oG?oCviGIuajQ)Zgo5H5~y8iO}b0^v@Ry1pOKPg4-q3NiRS2u>Up^A1JR_)IdYq!sDDqbJF z<~@*$R()Zdf4KI$a!jjQ-3=}Nv!(w9%`Bd|x5wcO#{NL|a*)H{{xQ$uZY3c=0H=$V zWL~kz`g31%%x`Lj`_k8xkYpyj!*RC*&#Ir^0XmMdms@LFa`1GdcD`M3deQ64*0bOL zp8vhRdYxE*;-G4nVF7ICr{qdxx!W>`h zhZ9MBm>eohtSZ5y}WrB%&3a6c)#YmIo)Lsg>E% zc7=#K6ziAVIG?r|KiUgS+8LSOyOHP$Jo_Gvd&I=KKK)c??}z)xts{pEVUfMV{f1{0 z&F>wCjK?gVtR35vkUsMW@r{A^5;WPgh&lgikkZAr)76c~u>;dE=tYZ>^8b4wt~LAe zbmnBYfZ{Q|xS_Do@|bS^`Ef{0NDM&?A=Y56`OrOAY3*yL@mm}g!dL^WQJ#~`&LKWT zPmXH7&bE#ckz4G+(6b&k&6@tjM8gTQBW`P5zIFIJLBkkj_zn;nU9{C(YxsOaIVZQx zn)>pa(5rbp%DKuC`x@3g>&lE!!V*v=oqAm>+>F22gqd9GJe1jcAQYcUZ5@f(5HZdO zU^f`|%M(vGZOgSoPTYdOavO}RMjJ1qHC?LEEq*${=bS-)t@=EJ%0_X@rX~4}1o*=t zFFg5)tuD`z)9EgWg1L_CdB$t)PQ~hlx^mHVH(kd;$J-a*Zohp0?U)dp}vA<;{csuVOeg6(R8~rs|c%?3mvCW-MkbGd= zAs^upPSf}9r1tz(`Wvv6`>|I?A?6Xy=Ey54aJc(mTjlfjp`Qatsj!%`lb_jhpnGFfmig69pO)K3shP-(645m zHm4N}MSwX=UKSuPLR~lv`Kg_Ki(8{s;R)m<27KHBSOH1ov|f5%}&(^#V!wIA?vPM-`koS z2r(JvWAuwU6m1{P4D@aFSUWG2sPS(0l(xKr^h&@9+|tyXwA-+VUL9F#&%4Mc6VedbARAvq!q^n~Q;p;M& z6MJViA-vXs(`nEdVdN5vntq$JftS~-T$%I3`NvLMyyO%!)MnJt=X@L3%YaK;rLj@#;0uw(Hn-8-@g+5`NexxDUA`&QgMBfe- z<=TtrHuEZ|NlHrwiGcb#Qj1rtVaMZeZ0nRX5RgTI`aU^d%8syfC}&tb%Jr{^ri0~1 zI_~u*^Z+l0Y9)7)e=qNYERuJP-8+wbW3f!y4tgIg6*F_q#!}z?E}lk>p#ioSP>-1^ zr<#HbAmC3))2p}Ig)^i|dnZDel}L6`>S{8FA%()so=|3&wF?=Oz5&E9ypzeCX#h52 zo}eWCqg!(v_>m;iu&v5Ms+kVAk)^?PO#G%jf{0*TfsRcyqTu(h=O5$CJ;hPn072hv zFmF}oi`Mz5#;EnRBU_gkqh3{fxogXI@;o8%-A9j)3vpQbW+Z-Hw1u;XB^FCdLhR6H z-7l1aGWOX83yCr|%&N{%f(iCS@@KKTpZ(Cs4oaNZ93Pof@u`wzu=${b58_8HMF1pP zIa$A@9AE}s75)@m|Dwr4dO2NBNSORZbekz zO^`QS(ew4Mi7^e=KHk`r>&cGu_ZVVTf&8d%IG>F za4JXQj7vTmeuBoc=w`+d@zD+fgreFV-yd*~)_X~A2(Vg`Uuq;d1nBNt@^Bw*nYFmI zP|#2cX}(5+)tIJBXB@r%1lB)|`a4$Kv=WFdX}3phTJs^zoR`$n3D5hr@mbHMTpg|( z&ak`hBTe=^&KMNoJcndV2c<~d_D^p@FK;mi(S z48|*MR*^P|FG|Pu!g_+8a$Txo_Z_lDTn)8*k~JJF_7K8_k0rmC79jiCUf=!@6xtBK z3Ak@6D9Az5bN0vxZaVtUFs0XcUGbY#`6sg<)^vbFDv7)$YN5wxi56N>i_@-r+6|W$z)dxY9_b}*SZ)1O$}2h`@^pxi^+)rB|_9m7$?Iqv&d7~2Qs(lsn zk!ODJ$CQ06X2!kxIy*^)!kMDQ)tN$*QM=`ursbLmMq(v3HhSq{3TD!POP(yG?iFS%)9KVtriN}nIWuB z8$qsMYsnD}5=%>Z#DQD=)n1VYkfUUa4{>Jb+Vt|;TZnp+iEGwB%~#gV&YlPAI> z0$EU~kWOjjIsk=+^3T}`t8&o}4Na4`677ACjOY-d)5CjPa{WZC&~ug{$+95!^i> z-5(syCiUE4-oEIx25!Z@O8*fa@A?N+N2UIxuVq{+Ij&(L5Q8{;z*he{f&Ij^0&h3C zT+`3`aWnMxUN7$UQH>K<4Kw~~^DC&oh(4*U`B#WPW%;4KfhgMNOhiIBn^jK5i{5bk za*gy+z0ppv#*psKEIXNFw1eWgj!@8}eU?q85+<%I9m<~cWjSSk*R~7Bv5ej(#ioys z`HI(M@UnTLKln~E)!mcHWg86jI#nH$S`BA9YRi9?Dad;jP2dfdjczpcqxRSS%J8A* zoy@`wnHZVuaZhxxrHOMNgeGFZ2A z9A9BG;-u%U{Il#>Efc4~pmt*)VmDdxcT`P9*N+1_C*#%{JsB43A=5!%46KPJLQEO0 zj7oj>+iC*5r=ZA%vzTvBaPS^0RNjc4Ey7P>4`KM<@MrosY+C@9#+!ft{w#0!egF0Q z<&M^o{qmcgH!pU+9a+6Uyxw}DzOt;Lsf(>RK&u&II4=Z&LH+~XVk<5=6wSG)gaC^I z5=rn&M1>y&`Q{)HV9^|YC4c~9ph)q|@WKGzj8dscL#>O^;vfWb1rt%f|8xP*YcdLa zoad&nt$V2_Pr;GtLur$wFap%&;vIBQSW46nSSDZEpVyakNC z+9&KQs}5G4=Z?I~uAY51Hh$sr=(Dh?c@Hncu^4HOByH>WQ=R{SQ5Xf@mSAx;y(Wf-k#JEfM1GVa z0YxyLi&@9jddGkWPbiN$KL26-xaNs9$LL_$h66U0R0leCFDZM#;}n+8^mca45nkLL?ur9EDM<$%KOvbUGraR*)zh3V|Tv ze*rTFL9YlKDd#A85!ef|awfaW3pPaZjd1zGMjl-5n$c2sHK04oK3sIYs79CVDyOb5&;)s8^943-WO`b7Z>_vk*R?(*jA^HJV-;gV2#Uhp`AitIY4=FJ)osNh+S&iHKUT6fu z5*~3k>sFKPRhHuH0i@do3QBd*u>wLup6Jj5=yW|^G=YbX7Ps~mjOoY9VVbx0|NH~H z>)@#I^t=4cDMN<0@M!f@nFx)hNsUqk>%gbt4c=jM{l5c!^g*6ao)onq+Q;GsUB#bM z_n*jtHs7j%`wKceO+`Lo64A5Y7Q6Ibw|3KsgZOvsBCpvcI;J*ATRwz*Sg2A5IuUM>$?lcQVI|FHToFD!izTZ1?Tn0C4TdTQo0qv~|=@^i6nI zAyQm8=oWwAW@dH{gyatMGD0K@@2 z`?tf)3`hl~8#rWKJ^X)d9J^8sP~7yBR!Q8uO0*ySALnnytO5G!oM8UU3E-n1ZCV`iG)3FCBG0Q zjbM`rYL4S#sM>a(ZxSCauBD>JSqc_7jB_t$8LAX4>9<-^(IoLVHt@e}I^!29v3uBu za36+bs}JDY>ckhKyRKDx=1<75B9M!p5~vnNl!R&|bd=6qwnqB*P6Y-oVV*LXz_cxKXDZuAK}x%k9m(Ud6jvf)KlhPW*SVi^u-|XU zQfAke@J!k>rpz|!YrB7|N^T_$5R@M!RrSaXp%>e5b>n>4x?HFj%Q-~)bZ{j8KhN~v z&Dt+--m~HZNe*tV*_q5d%AO(-ha!tsGSKq!cBnA@{=dim|M;c-nlAuz<^_!}Nq4^I z?1!o;8$y5&i4-43@~mtWG3WG4lFStAoZMy_iVNnT(>q$}xOrQAh4BtX^Y0yjM1x%i z6<&kc@dI9h(tV2MvcGtqDHsS>n=6C^rGEbVpLcyI{GasDhcz0IYI1E$1e3m-Vz*l( z5~x-uA(3bQfFY!{>h>icG;&z?nKt9MF>Bdb@ds8BESk;B=52!PHeUtZcia_t{qd#) zDyqA#yROx*nFzy2yUXqy6 zXCm1*A4|@C_hRYcG$I}6jGgN?PI5t*aBIZ)`@A6kFVzxAIpG6+P0aVW&xm)FLTtu` z;U%dV1lO#OmnkbJG8TiqtU}+c7bZ^$r{phpd<5l2eV#l2s+}b(_6b^rx5k{z$7}TU zOXHu^$FIq5SH>+Ko5z{?yDqFOUSM~vDC}}4nb!^azjC&Uk`Pnz`>Vi-xl69Dr>GHS zxYTtGYHHw}%vjwN!|^xQPX92J!lf;dxWD9F`ocKeKH#|d`}z31&)q%SxWNky_Xubv zLa^rQXS?AiUnlSM`F&OTKooz=mWOFFUJ1_Ev^L}K6RBu?Be@eQ7b^D*XMee1c9)$U zE>;bQpHxPl+=87izAAQnf9r*BVyytcg#PBHkH5IJf z&}{FCN`i=TILrjKpusn*7?%-PExF&k=!?5RnYF@u7`|CGddn?8w1S%2R&L7JUU@}A zx_P*y5*zCkTw=1fpwbTZ(^r}aT(cqLV5c{ML@Rp-VI{a%b` zjxQ2*FAI*)J)kTCt?;Pc|8zb)(-2u-DqQJ~cPH5)eo5B$PnQ>=JH2R#^FvfE`%{E| zna~Bd1n)d>oPJ`LW%i_ru&xgRXA4M94zE&fwI$u}3;q8B^zKjb literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 290a5da04d..e39b625ef5 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -236,80 +236,3 @@ class DIStarMockPolicyCollect: def __init__(self): self.collect_mode = DIstarCollectMode() - - -def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): - - def _battle_inferencer(ctx: "BattleContext"): - - if env.closed: - env.launch() - - # Get current env obs. - obs = env.ready_obs - assert isinstance(obs, dict) - - ctx.obs = obs - - # Policy forward. - inference_output = {} - actions = {} - for env_id in ctx.obs.keys(): - observations = obs[env_id] - inference_output[env_id] = {} - actions[env_id] = {} - for policy_id, policy_obs in observations.items(): - # policy.forward - output = ctx.current_policies[policy_id].forward(policy_obs) - inference_output[env_id][policy_id] = output - actions[env_id][policy_id] = output['action'] - ctx.inference_output = inference_output - ctx.actions = actions - - return _battle_inferencer - - -def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): - - def _battle_rolloutor(ctx: "BattleContext"): - timesteps = env.step(ctx.actions) - - ctx.total_envstep_count += len(timesteps) - ctx.env_step += len(timesteps) - - # for env_id, timestep in timesteps.items(): - # TODO(zms): make sure a standard - # If for each step, the env manager can't get the obs of all envs, we need to use dict here. - for env_id, timestep in enumerate(timesteps): - if timestep.info.get('abnormal'): - # TODO(zms): cannot get exact env_step of a episode because for each observation, - # in most cases only one of two policies has a obs. - # ctx.total_envstep_count -= transitions_list[0].length(env_id) - # ctx.env_step -= transitions_list[0].length(env_id) - - # 1st case when env step has bug and need to reset. - for policy_id, _ in enumerate(ctx.current_policies): - transitions_list[policy_id].clear_newest_episode(env_id) - ctx.current_policies[policy_id].reset([env_id]) - continue - - append_succeed = True - for policy_id, _ in enumerate(ctx.current_policies): - transition = ctx.current_policies[policy_id].process_transition(timestep) - transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) - - # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len - append_succeed = append_succeed and transitions_list[policy_id].append(env_id, transition) - if timestep.done: - ctx.current_policies[policy_id].reset([env_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - if not append_succeed: - for policy_id, _ in enumerate(ctx.current_policies): - transitions_list[policy_id].clear_newest_episode(env_id) - ctx.episode_info[policy_id].pop() - elif timestep.done: - ctx.env_episode += 1 - - return _battle_rolloutor diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index bf2b4a2296..f9378af09a 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -20,8 +20,8 @@ from distar.ctools.utils import read_config from ding.model import VAC -from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect, \ - battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar cfg = deepcopy(distar_cfg) env_cfg = read_config('./test_distar_config.yaml') diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index a5e488f9ec..4047f9b6bc 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -7,13 +7,12 @@ from ding.framework.supervisor import ChildType from ding.framework.context import BattleContext from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar from ding.framework.task import task, Parallel from ding.league.v2 import BaseLeague from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect, \ - battle_inferencer_for_distar, battle_rolloutor_for_distar from unittest.mock import patch env_cfg = dict( diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py index 825a86b2cb..919562d4cf 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ b/ding/framework/middleware/tests/test_league_pipeline_one_process.py @@ -2,15 +2,15 @@ import pytest from ding.envs import BaseEnvManager, EnvSupervisor from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearner +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator from ding.framework.supervisor import ChildType from ding.model import VAC from ding.framework.task import task from ding.framework.middleware.tests import cfg, MockLeague, MockLogger from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect, \ - battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar from distar.ctools.utils import read_config from unittest.mock import patch import os From cb976289418878748da597ddc0a74ef0dbafa3b8 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 14:55:19 +0800 Subject: [PATCH 163/229] remove rep --- ...3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay | Bin 27884 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay diff --git a/ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay b/ding/framework/middleware/tests/2022-06-24-14/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-24-06-51-44_1c3a9367-f38a-11ec-8e04-00ffb15e39af.SC2Replay deleted file mode 100644 index a63bf2bc9d39e8cf8e741a2faa7010c934de0949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27884 zcmeFYRd8I(vMAVMY%ybtnOiK`EoNqBxy8(~x0q!yGcz+;%*?jPVrG^l+t2&#d)}OP zBPM3P=4WnwR90res>saBtXh$&q^d>=fCT^m@Bo0@AAo=ZfMwNiH*=M6HM4dH$;p9S zt(@)6d`P*tU=h#(D6p_7$nYq5h$sMLl!aUr)W0iu6nI3GuSH16h%l%Ku&}V8_ADc( zvdKp&c2`{N-fsIw^uI@8{HyEFC;pFuh4_D<|AYJw2mXfx{~vNdNmY$x?$7tmp#T6J z00D4r^{4#-008}=Vg0v#{5|IHQf>JURQfOYFZ=N~3FaUAziXBMYHE8t|`FEhspmJ zyXN2^0K_G*gIHy5CNycjG@(=l1mz{>Oa}l+uq^w*eSqcn;>kDk6TZAa00{swU<`_= z2tm&T4t@p(C2-yBpw0>RWz&|KXT1UOey`iah1koBcy9 z~NR(1w3=V-f zJT7d9e>d`BJk1D$n^vUzG~cmCl6fC(THzrjVM!h;#tK+PWyroSkH zN}|-@I#H5S>!;%lahOu6{m4h<3;L0J=iiuCTm{ohZxLe(>W%K8&SsP~r@%T3n6N<| zGV<7xvf>I5&aJzb`42Jp<}io>0KES%!~l3@E2IWN!GHTBz~52`Kq?2X1#8|fi}K3E zl;7tjEkS+b7)fmM0YuWd2?-%{i}V4A6(^$NyhJ1@rLpJ$u~V?QC`oR99{`L6+ZQAo z1f=Vif$+itUBROO#9)v@sNy&$sXJ%6InLYCuXxOG1EeoRiaBp9V1&v~F{N{33?Ycf zBop)>BzUHz9l_fnh|duYhplFFB@tzjSPA*G397O|s4jEKA@9Ige#rD`^Q_4Frc~yi z%DAm13nUo)NS?e`(bxfstp^EkEa;aJ7*a;n$mtWheXP@YHpBg}3}`4%-#>^wLSRDq z=mS24oK0f0LCzXS3fHMPVHl%C>R$*{vB>x+T+YWEp3IS3A}TP$64+IdHBgq&8Iq@A zfiU!iQZFV~bzP9&WTpc~B97fl*)midOpW4W&=@;hB!pZpzrrG$>fIwKPHvhU0Qn}E-FRDG~;eVj0YS)gUU;`vetOliO$5&ZG(FfDxf zOX*2VLyJ`T++f7af82kfc$O4bIYs^)08R-2UCaIBa`naR&6w2Bs{$WKkkJYE#bI}4 zyFvTldu@_!H=J~zk&iSq(2uuS{p`*>JOb887?!HciJR^__3^hm!`xqjf)^N3;K-qn zBjyhulx(J`nnZyiA!R|QSQGK1QIYY?vd8}MvPPw<1n?kc30f)6=EXEvmt?ww9eQa~ zvxux9GyM@1`aaJ523q`7h(`TacNF#xXDzg5YjcedBy^1NAq`o%avh*I>7nke9co}D zk77V}W})jq8=+Z!;kzI@gun$^Tt|KC!f~S*6r><1BYnsqV3HdjeOQfky>E5+SJ-)Y z|C|ihmLJuxyt`wW8!uXoP!xn`%IdlK6?TU9LR;SH2psn}ba%P`VEMAA1r`8CvQ0Q(xOpyz&S1#_jQp&GuKbJonDo#-d3D@{-zpug}eitIb5 z#^pp6TFnnKWeDTbkDgXAK-ZJGD5Wcnk7L>ovy%ZU|XyxoIk+*~k$d`srd2Hcv4!C}6K1K?(x`KKXx z0&)?1j5R2TC5WqR(x+^Hl{m#pV?Wz zg}wM%G;w!(SqI*vH&?H{AA#NRGaS}S|A-N#;NNe!ET<i zqC+jEeAp7HS;)&jP@B4HO!uD$gsc4bJ zj2@s-Ah`&G96N)UQZiDL9ZmuKoD55AbPNZv7#etCsfM4U#rMV>O#o2_M2qRMHwz!0 z9P;TN$4>dTTGr0n zZm`VlP{^7#!#x8dsq87i>UW0dO0D4g{+}a{%F|mtht~En)(7#uFe!bE+0H6i*K~KlHnlSl{qIeSb{JG znEOEKPTb`V2XF=qkvH^Hi9Q}$*x51i+Hptf*`lH>o?ZC&0fYd6uRlZ?dop2TTQx=X z$v4>BBhHODjHT?r6FH4l_+ARV;;mxgP<`H zNz~Hmfsy(1@r%;2|58N&82FE7{^KUV{}31Fv~-_N)jUs8 zDlt!DovBnjA3wKfQx09EQA!{Il2|7#tz|+Vz|i|Z97zyz1}+$DQT|hm=19__#&3dAZ2X{&q5-SMIB?ui@ghv~@nTBO$uFpO zQWf*XX`SgaAn&~s()O8QACeA9yd%d)JpNXz&)>E)0?^j2;oD(0E|$X(Oe+!`#?1^) z`$lQVG@W$yG&YtS=L6^rzAB))53AP3l057L)kZCsZj*Rj4~@bA@el3|rJoAWnNdEhpLz+|7Yo>^+T+SqDP}X!EJP@^D5!fgDgE&xK##9lVK|9qezG6j?*FE`<0lRWM znL+;fi~*Qrs5FHE;(#H%9P0Rh5CZ$5jB?!xnpenl{|Jrb}XS2}#2l+D=||Dc#2IKmFSJAa}*^C1JYO zVFCM1=7-?M*xU3ZWB7woiUODat7bPQgEtJ)=iZT(;YXh*|5QUFhaD#~AD!HTl?O^U zkG|`T`(}Qw`8rCbw+*G=#~V%;ff*!Sb)Pgp+6sFa8CNEkKbL=S-*58a$swjBX}OBq zKl1Wc{1kr2Rkd~<&0n@=CbK*o*FN`R5@?p;_bzSTuj|9smC?g{L-zGY&z`#UHpJGE z89T+XHI*!%HFZJqt*3^;gzlBVd5iml*`f`@Evy{a_~1oG5WsOl9I>!K5=+$HNbTOZ zG~mAB4j!H)h$0m>%sT?pLkr8}c9q=9+a&F?q-I|n12bL& z;Qku@9&q`%iXeN7&FP{MAGPIj&x);CiD?1@95_G&S`Q3-(WmN#@td8<`-u^2GC3vs z$h&HUtK1mE*JnVH7=kH*%^k#$m4Pb|tryrVn_|L!xu&txxz_QR7ap>MpDuHS&z9Po&rwycqbtv!H|)xQ|EeoHN#IS- z1zDPwfYJr88C}5vEHDc1WZVal^__j9t@%iIQetqf3Cduua^w42($ve~fk0vnjfOJ< zb7^<%SY6F^{Ne+7q9PW-G*3J)QejqPrkvqB-y>m4gjiiRo9O+U#=;Bh`6iD=1wKh& z2JzP)q~CN8H5-;axtRi6bgQB3isz{gX{OHxd~IQ&6LaM9&h7JwU0P!q4ivH(rTvjb z(1P9B0PYO70{cxl1ub*&K4Ih7TsL6~tJCFaqZ58SytG_fp-`&>8g_2RnxeIRYOY*D4Ep#)byni5JNeYmJ1k zBF#mswFzeZ=Na+>h<_WHZO|Y*N`vV~jXsairJHxF26f8@)fsvXX==ojs`Cse$xtEt zJ2R7nt}K8BJFE6Npml`XzlEB+iVcs~!8=Gd!ia7|L)0io2c0R(z_A>D*G|1eUb%j} z&6}NB{M=IR@W!hxc58RBzQ#1(TfbaeuFkr3n(tPP>!ciwHibJS zXk<5q4)7-qf4J#HJ9hzhFO3dswdOmHTttrie_eKTJL;~M7<1rH+1`IW;vflD>v5}d zDql6;Y{R&GahUVsxwz|Dxo@Gp+_!zH3KQ)rQW4(1v>278Ev!Fs z-FOy0T#ZexnpZW$?zV+fiw8H#=@i~@a1YcFje=ndsI8;xbORx%^t;Wnu6%o4N$J&c ztHQ2+w$Fq^wK~f>U7IR?HAh}aM@|}sdQ21^CqA3b(e8OPUsCV$tXIX1uDyI8y8tYT#@tE1gJLqhEY>kkBP!109)+Q|?L)7fuWrNc*{b7RN6*%k!mLqU#=ZQPT$P;V zP20M>2B~Pe2-zma`PM%iVU*!)_RUHOBsuWjhL`--%Hsy|ooWKKK;aFBVd zB~hkKoh?RAS8vX1*?d{ z4E(|}GFs-lJ6zZnbyL-(FMrZKIV-%H<2@B^cM=;sszkr++LJYu;H!N?e6i~1F?@FX ze6yG}(sGoe!)pHIB--<{$8_*Khhp<6mnJQC^PAG*>|dhh9I~GcCjyy!+~w)_t0D}q zSECwq4413-I#m}-H6Wu}@CERJu$5Ngc>43DCp(%iT9=PH0``t}3DQqTxjIqsH-%A8 zP8F?Rv<*z~Yi>^IA(@tJW(hUdTetCy4bsnT#ZC%}{DNe)Zl!T?8Z#T-H@ovvBBy&f zll4AFDf@z}o=P3$o@eWyFD4Gw(|m6(SWw5;#Pip&N+zbw$n{#>Lb;Q*;T;V!d3WQi zyL}CpkJ9Xh=P$NC>%+BsDX`Q8MVu_UPsm?aKFm}zYbunSKV%uZe6U)c=y3W=$gbmR zZ$=~3@X(Maepp{0xj;i49iUGSYI>4|nNIN;FcnO7|9^&>+nJgY&KEz^c-A42hu`=eHK#8{9S@uRR38v;Lw zS#s$MRmpvt3gwdRSJmvQ!#{HD&V0CjDp1?&@mQ2Dn_PCd((;eRvrjZpvdd z8HWW8Sr){NcpZW|VGW{601e_})8gSoIq~3NDr7Q3SGt7F#= z!2a|~xF;Aq?!AK&qBjt-aqXnt*HQB+}=syLQc6z80vSI9H-V6RU{OiJ?y;B;1 z&H1y%XbS%RO5Sj%Z6aKZdkDL%sHXynP3ybx`uT%Ebtw?(bYzV+1KnJyQ8R2_j;Mff z!Ez-Ahm_XtS6s_m&CkNNI=e2ZjpIXRg&TGi_Rb@+!(Y5@%-1%X=AWHrf9a$~Tca4V zT$FDjatoZs>uBqS!%YaK<&yBG@t&yEUOLIgj;(hUPIeU==54?1-?bU7nvqqdvR}?e z9q!PYW#MDbY1rEw4j=b1Vq51)f0JkLSm74Bv=8g}!q2rk%I>KAas@WGm^ozd+~~NU zxG@$~6I|J8gP?14B}{fTUj`iXtmc_)6EJRUr??Ws9 z=s}0IuDK;ASs;Txz(h5(-&Fy2-Rm;i&{3M`=|1=2{@^9zb7aoax!18JVoEdg!Gmtb zF0HgXSMWRAXsqku<;kY1*=B85?X&1xk8kH;M@Mv!-FlZ_o%j~JMpu?whsV{y(dRvs z=^3)A&zHTC#y%svQj-aW^Rt0&#_#MRdl)-ToG&|{JnuR-=W7Xty)+XqkA!#(YYk7_ z5MI)fh~{(MavBUTFQ+cOtS*_9HbFEhO~q(fBv>JO3#N;xvRVGhlQ*YbtFAL1w>t4n zGlxpf2Syu8o68Svn_UjlKMeNN07;g~k9S)Bl;e*NJ&oLw_S~@`JR2rhEO~%EG$gC) zip^ja$66c}2P?+1Y)HZr^(FUrQzO-6oI=rl5ei4)GwhFvQ-7<+q4TyU#IZ!h!*er` z?0_7scx4Ejp2{fxJCo?WqK)zrL?KU5X!tsujtf4X~ z<#$c0l^YX{51sR#j}Fu52q!z*iWBf5v?wUB_;>>z56H&$UkII2YK*iOvhjNGKchWK z!@@#c)3eq*Z?~N5{jD*3Qi^mNqmYr6DcAQ@`W<}O%WAwij$tGiMr(}Teut|T)MibV zt7G9du_VTafa*reKUM5gA$P?_b4Y#SdCgw>T=OW}lIP1X{axbV)6>erJ;BGH1K&%g zUW7DOSXDpel`OCQ6al)6w8}rjgq`*B(JC7ad5@k*PCnZt7u{PsUFx_Ac203i-ad`K zS@k!6I_V_#<>vE$;NI{mmCLbqfJhFkk8tTo>Q>17D|3*E0Kk zkP!=v@UU`v@qUo=x)B&&J?PTYv-C-D99T1pO(?O`KUQmM&YN{qBbYk6c==?<0XOup zy1t~#X&<5mE!oz0x&h6|vH_>&1%*@*nRV6;tzUFjd6yMu>#mwb422XoZCSCMH<%#h zRDEJ@*sx+4x8(*>jQs}K6bS*H5rz1Y5)RZD<_WUEZAonD59km|i2LuUj|utjsA@&A zuS0a=WKB>5^KWFTMR%aS();_$5uGA;pV<{<1|v`{%VgkPxpdk?LA^hyq9Q2u;pT@u z=K3YshI>z;x$tmZK}bpP57Z*}fHTwZgq?Zsbe{wnD}dkEu5Y^#QBBFmd8KTF_FvHG zoa=Jo2ntCaoqH7*1fh0eS>{-%UH)T&{jkd%a9<)Vh#ZWye8pHWB6&{@a=YfbMz^FO ztSNlwE_P8!wxJj^A_f$}Tb0srXe^rV#|(zUBm*mn=x|M_k{*9xoL3)`^ar3tWJmN# z)5)_bg_44jRp;OZnehO$iU^vV>@dODeWsBFneg#A>O?fy$V?%~7(^lcI{3)wrXkct zxY$u(7A6t^Y$`0o6kA`4OKON(90dU1htCQ!#EV4a)IR2?;qXAqPcY}l>z2MqCe=k8 zh>8tCE}RR&hL9i>K((L*A&gMO0HzWs34&??syZ50W3XkA6t#q2i8gO_W9vkd1GFF_ z10-Q*uU1oSVW4KO&sIY+tlhn^wy$YmFj-ku?SN0PsGt{E1uZh8Aw_J-!gXi`+N7`lH zmolNjERm*qFv9#A#l{$F*#|;Oe2MzKa{AtN+wXd<>vFd8`ooQhcIp#_QA#zoznCjv zDoPhJOKlocQm7@=>UD{dSBRl0CDqz14n>gGW!JT6r%o0}sk%LWugz_$JVQ;2@*zB# zT6}_?=W^kK3ru*+n1YwlXADS?V9_N8w3?CfcqEVZ0V8>UaHM*QLePnTo(-NrQWvmy zY@}B^Q?ue_Ra-Z{Zoe!Atgtt$vWh9^QEE0Yt+Zcuz_Wxd>8|^8cQ3khtv^0VpBgz5 zqD2_7^D9KUlX9w`C=EOj?6~fjLQ5aTpE&#?U3Xju^rxfQs&(ttwa&MmP}qX%&ajmA z0QFIdR-RjN!L6gx;$A(|R+Ff6)QzBFsze#)3QP5grI-Q<{Q_7q>#qyV$=n&iR7K{j z6EUe=^-=~VjVU#DuP7lRu#DLQh$k3$-1GO@PQ902J;aAR9myj5s!Ch9%v?-MaP$P0 za@)A(a3G$s_-hq<3sWu4@O=*o(zvjq{g`C(kQQ+~_A31ZRt9{r?@-N;F6m1OsH~C6 za#vV=Yqe`?gCh`0rau!Wy<7C9 z=W7bXc!WtX2d%KY?ZMZsd*KM(L`RA(BP-jiVre!YI6{a3cV?NA7jVcFZk3pHs zmlHOBvh87WUaK{sbMUnrX|Sg|ur8ofl=Kv|F#HLq^O@c&M?S{o3dlmOqz}Z^4d2I7 zlB*yfga-z|D%jM>FRZJVF0Ie9PMJI@zn%Mp<>*=;e3;~khpqzBQ7P9<=g2wP<<4c1 zJ}G%q@?y%O76A1X4Rs#ygutG@bk54#cy%9d_7=N33xm$~GsjV0n$1<%9vyjaA z1rH-R8=1%F{f#HeHH7+z@V634o8rqfhVy*BaSqWK>>Elt>OtD1b5KF)NMG#tbRB#zl2I%^$Qf+NOLs(&n zORTrV2?;PV@UX9|skhyUU!>!8GiqzT6OMYbe<$kNAY0adY3h%%N>qat1E_A`5u)Q~ zsHsNHayJlBwOcpGmeZPPu2eE65=~}0F4e1P*+1(a+RmCkGJesiGG^v1lxoo<`#?)I_OFCa$d z#u4WVMJ@I`NH27RGPc@Xs*b5`WT|b^NasjY$TA``smEwy;pMx?r%G`WMFh-5kwb!> zRPm}9>30H&u`|S=){&()k%dBXB{=ly1@`654#cpUIRvb!H(Q=3J-M?g`ndu+LmM%4 z`Xz*kOY*GpR;rQpsX@@-Wc5Y0IxptK(=^6)H=Vxa*p}VVel)K#N25qq9e&r2gH@m9 z^)W9O+XL@A2hA2^<{j;gEhQ(CHZT2d?~XdemTBoKSC(AioT!72>FCTY!*O*4{VWok zP=Znm^d>7AM5@Rpi~7*1e3I`}HIv!v<{Mw+eO8$G1`z59mM0x_fTRe)Iyoz>w#;lq zU%{z$c-qVdZKxgEwRYNDs9p}P=wXevtf}Qy!&Uf>6SbN&Sfap-&?jsRdrN9KdfiJv zYzUwe20$%9#^zRmCd~WvE(yM{(v;;)zKTVoG_!u}>|VLJaC|8sQ>pYM{#WBl58gm| zq?p@!PQMDNADnXj`t|77q|{Gw<&Sx+wk#%;aX?YM-ydqY_I5qOJB4}ReKQu{s1i&m zt3Yml8D7EUufz-&e<^SADW>gLihqUi9}2I<0vYxdm=Ed)c=v+ggv_Zun$DFXYE;IWSQM&{DRgD_oMyf{BgJrYN5eYhLiG@%{5d^`Nqm#XNczJt|`kivY zL(B2@s{N>v%BEWoBqc2mJ?t(T2^_M&SvrF+GB#Qe>n)eud?z(%` zlY*+x)I2GFHXCkVS+H6yvwc>Vczyh?Cg;-gy5??xjB3QPBY=tH$kCa!-QndjvwCN% z@zthIs!og;_4+fH?wB9Z)$^8wk3bcf=L&tZVb#wOs;?8Kn=}ZUtep{x*iZrn>q%9`xQWNPmVNM30W zm$Rmq)V)eHO`Lqc++U~7Ps+I3hU1>eLL>XMH>*6y zGuP~*+n#MD(n6`lU;RZ1&{_3IV=fJ1x_)qQ-Eg?Li>CdW_a~fo(7H!!<9xGe&KXKD z>mJwB3`>m>toVg8^*VC1VPdJ1r{a*Ao^d+n<*1|F{8p}Zcj>yqLP(rAk=ClD_{%VO zA<;?>o!pE@{e$oN54|DdZ;Onjrm4o{2q^_!`oB>J7r)Eq6)8};YFbRcCoalq8d5Z! z93LCVVnSTZ*%|LFi}v9LC9u`}?uxVirIP`(fkezVB4F!g!?6!8RNa!0YAbW7cRJ5?^LM9(;~=+R3j$>e+M1O=il$*lLx4X8U(9cy%72>lFc zoKvmJ=*c3{Vhg7&S4aCCyjuzqoK5ftU&2K#4EVZ`ado8Htv}9-PH2j#p7bk;rQ2f%3BDVm-A&^8`3H#L0 zh{>n;?Y(EmYTNbsU_~GaqC*&GUhZzthCQhcYi9Z$3~8%y)-bNpa11DSuikc|5}i~z zf4ZP7tBtRk3>^Wg+utu%Lg18DEi!R^d|h0xH#pww2j|~ELll$;e(9Q}kpon;Td`ZO3#Ys9U9>-dr>pY1W(yU4Gah;Q z;kKoj{d3Y*?Q5#$FPdT0r0ViDtB&Bl?qK;MM2au9TeyqoLXj@S_e{2O4j$QI!WW*} zuOCGi zu^Om|xg9l7Ewr7p_Ow{V3ZGTIPEEw}bzIh7WT@mhTwWJ6dr&Q=KY04D1Qe!X0GIS&ghBi6Pd~!mJQ$Tw4dNfQ^IOxqiv|o==iI%r)R0K zg(+-nzhQP{0@2u9xN|~AWS`#bOHwE>2uRIt&}xt!oUVLS!Vzq`*45pY8L6JUsIB&3 zzUtBTQH>=7cg83Cb_HzDORKrmop{#bk-RLpE`PaJqYh_x!b_s;ep$0H@q(4!vh_aD z>SLw#Lc3+oFGt^rqe%-PG@%l|XAjnzZZjG;?M;#&o+K`f7$04vgW^`}*kLM9nG!4~ z)itA=2j<^B*|mP1E?oGmFlq^+LKX)G(W)n_B7i2CfE@6*&zh7ZE@7^*{w6!uQ&f8o zn9dB3oqMw=Lu9V(a+We-?>BCTU! z1NH^5yjr$xJ{xy;K#=$^6otETr>MSB3_Z$J@!7A(BR{KyypWXLe}6Rz&$PZfh|c3Z z7Ll|2h01t)F@hn=?1N)!JF$FAhl=lnna3|OisOAZO|h_BkZX1u-*7UShmSFMd4@Fq z3Vg)QEXAe*Bq`xy)6j;1q{Xu5B-aNH&j9@6KP=z59hWa-cwuE1UB?cLWOs_*yix9Y z9=+voP4mrPhf+*V^FzKW~`(S1{dH$)%R<@q{FvR7zR9E*U*#CPPH ziCDC9v`nz71ypo86b6I${GaCmC&|K6!rEhK0H|!FtrT3#)=7X&0st)e$!%YbVNbrW z%-8wx5ozP;i`T`^jMPo~Qdw@v1lpJwBmH4?4E=!5vEP>3aKsY1Aqh*wMW3oX;CPId zbZP{)+)_K)_mq%;THNzmK@pe4Q8t~N>{i{t*i$%V3^By~T#JDl7yu(DHM!65i^h%O z=;)E8QNHubQlKT0*um%V#KgimFHiX-#-*H{$f-#c3$*N`y1w|>x*h+J?T==hX*iG& zoIg9U%rH+IF}(Yn{WVR8z_bhVovRl*KUdL=>KkD_S1Y}sz@5Uf@I$SDvd znF?9V(o$9q)~~R=_}IV2?Z{KSSv&h^grH>4%#Pe0F8uA_oMABIcI)7wLl8$+S~4V2 zo{lUc4ih|O<{>nA8mDaLk1TrfodBO-s8-4Q#5R;dD6X#Mpv=fNe$Rxftf`JHryZ8; zvuSLo2&iOO9x1qK9DSb(<9Gq|FWFzWVu?^ZVaR7mff4QFdbBj?|H52lwB zt6vpQRy2={C5YaqxPZ;oC>mHU5}1h%V)(hh&6NBzn4^Os%XpaUd40;$ zN`nV`XB$$FAl@vcr#=8j{pT^XJ-e(zHBurl1PHnBF;Y>JQsF&4HxLYF_C<_&gUvVd z^oV=8G0p#wYjO%+w**G_re4sQsH+$CGi$NLT7+q+D@CryjU$mjNR6D2Tt5Hu4! zimnf!ob?y5=%9SV)+O{cGoSIk42G7MXodg^g#&hckl$Iex5MY*DI@1nlN40{=3$t6 zyQ!R^0+rHF2t{7SU^tZvbAKx}(hhRUBm<3cvz$b#P9%nyrKPfZZkU9%#bQ_*uVIDO zV>w0;!W#tOA?N;Va!~BnL4dUn(A-O*fUVwgoY)^MdJH~SCXvaMj?&ZiMg~dkg=}5IkCRC^LR1GsKbc{PbbE~-*;HLR+CDK*2y&qFGq6^Q zwBHrophBpTXodQ22bt}`Ia_D}%5NO)IDv@mk%eHyG1I}Yc=MsXiP3bS9XxrT0NiFu z5k4YhF;H(m8?WK*5h6W{lm^UTnE8Fc)DkBMOc?INX*tx545=;I%sGVP9=Pd8B7;ok z!?NMEcsx@eURgqdi2&4SArQ_8ICR{=l4^IVW$}S|&HjjwASt@#r2(N7U7V3Vkahqz ze0%`ly`J(Ai%VD?&6I|To8#$BYKpea`_%4*TfbAz2xC`c7cHe(haW7qjjtpfoRR3V z11ul*%LZ45Ew-G-$Ul|E`yJQ|JmEhPe?J;{b+OP|ub=6dp`CQ7l z*&dW-`pYS0{luNVk&Fw1{wQMOOq|#Bw@A|U2&0xQ#y}t{0GI+?M>D~%s}e;-^i3eP zwuf58S4Q{XfYxzXn~1=m@T>)E5R$RG{JP-v-FHpT9{}EM=ZP;dmhv<>a*5Occ~z7o zkZLJo@>m#hOuV&jC@u;;`j~_T=OQvLHL>ha1Qbf04j{4Ok;f4OO-+JmaIBd^Vlhj5 zOvn$mTFL`q=Q^+#e;pXm^@Mbtz84KQOh%LM#X#AZf>X?~f@#LOiZ63WSx!$x8~ZI3Ap{5y z*lF)3F`dVwe60_Ejrfc4Y4nwJWaCI+K_bLQ;!MTbV#!M*JE;3!=VSlLA-3{!IBS3L z^wWW((V;u$H{qh8A8r`$ENTTpXXAN6zC4?Fm*g2LU}23d3h;B&_GBKaZ&AKT?eht2 z)(vFq`(6;jJY0pCANj{ogWjr1kKb8c?cN>Qg_dl(sZ2~oVEPx^gV36?DncDcm&qE~ z4)lP#C<&Q0aJq1OQZAKBuv9ieZR~JO*ujDSP#5)-%Ew`>&cJ!r026C;unOW3p z3hD;nlGZE(aF%_Gyn~fgNvi{kQi*j*j=9yLaUxYiPrgwUxqK;uF{MV<3@g5gTH2I2ixG?~j}?k&l|U;? zMbBjpj%1Xh;l_~`M~?ug23RoRAfqq_#j>Jvj$_HINs~}7$|sse#z-cn%31O_pVL~^W_`iQZ~3+B?)(TI$? z;)ytNFx)uQ5`1()cC74SW!B2vJ0%Vn#xQq8uL%DI=Z& zco=pBmqrOCerkXdxsfYVm4=7bbkS5?QxAQ_T0xGBs-S$TflJng1U#WC9frs_7V=K1 z>TdOJB)PnkYRCf3x^I8#+xPU~-uDer0)ytxbhj2<-^OWpN@!DDBbb%wnSZGndtXe? zXu8=YxJeJUOxc^?Ia{)N1jMs4hX$xNK+9cTyT5gisrn3IX!Z&>J!hGBggi1NdRhzA z5{w5%UCacOUGpH^XvHL)&3JCX2;gCSVWSO+h(y?)J&nuA{|oszjSjQh7Wnu$Q-6br zwHqf=YhArwt`W+#hxI+`7xq<5Y4K~>E&sy3f?Oo9ZNY19`Ab-{K3E+ZrKDury|V0E zC2AJ|lEq5U`gnvAw8Jz{^bW3eLO`oZ(WX7ZPzQ1uwFKE3OvqG8DZOIT?pk*Jn)NOx z-;36_iB5%cPo7>jCE{Q#j@beDC)%XBE}s7bhTCvemp|R;GgXqB19d<0umv#{EDjC` zAy`0Lr{MtA0dqlpXeVapW$U}yXKv(A85l#o`o0>C{N~}v5)F~WvC9e(z<$#j@2#*< zkqY$DMv?iYpOLSJO(Cv|_u}TLER}32XYmthN8C6hcT8fF*%UAhB!T=D)qW*QrWf-BZgipk?*C{~wQ_@68K|jh zvyEGGxTq=5SQt42TMQ$Qjf%`_3&(Fbc_a8I5vZ4)M@;b`#^bSdC3NNM?2Xp7pgmrg zpqDYrUR)f%&uG4&RIKsRui&+ug2@Sq=!^x3|IL8#9mmN#(1zgfG-pzENM(FE`h3?4 zpiHZERMV7WVX$9FrkIEHXfoG%(tR;-lkkR9!s;>W`E8sa4p5y+)rXp znb?d%0pq=8BD1>`&o{h!M$O6)bMYdTh*IsbQ|dtrrXX~e*^JwcJtEgxbCdMKqFMe4 zfM;2h9ctW`erbJp^2eg=?N8MusPM5`nn{U)wE(2v?@w`31t!csJb)=5jjdE54+C6o zv3{~q2* zP{yMr88BmmmiGt>hI+p05|3@G_&xD~W0D$rpVhXTS0|6ia5P%E7iDMf} zV)K!VN=yMSG?(+M1gDhFKiN-+J_=C)2}|mLEjE|}cY#Kz&&hY`|5y%qy~Ok9aWDI4 zp}&`+0t5yBlfm(Khd_r)^@(-xQ)J#<{W2q0_!C5p*;Pg!2^a)>RSwbLZ zZf20ZjZ#3m9?MCi7z_ZU2Mll%gDvOggSfzBT-?MYL@_aeN$^C9vEVsG`b=)nEd}n0FLp0qkW`MCc~jw8)E0K1Z@kNi}1*~?C$MDyBXxnofH8i$pydrQ+<_( z3>j4A@3o!qzW82;sH1s)Ig^wiE|dzVR))4W_rSwk?}eGxyyMoPrW7iiP9>>b5SNLY zueDvdyt_X4@mt~{{ME#@Pd^1xLup#8I(4BiT4?lFY-qylZIno6*i65Yxc4FM4+rLs z?`B1wHQcpbmanpn!>6nC>i_OkgR$k;P1Gd0cuiw?FplW+1#+n_)Qwz?+uXArJ<_dw z1gYy*RVv-q?B-kACUx=th6DsE-?({R8m^>_bvfD_>j8m#mICbbe{nnDCajFy-pE82 zw;VM-y&ohtC|pOD5~4bg-SUzUC5*30PVSraX`aXs_vnNAEHo&WSo6Ita}SS)+R^Pr zoj%Vj=2Q@|=!D?j`?{5tCO7&<`x2+Mv6L!oud(S9ymNjvW0u|;F?)ltZQ->OH%INvoG@aYpvZ1siU}?pkq%(=u&Lu4`PPS2rp<;=!mP3 znxt1>fooIF3Pm8kPA+U;#hVoO`5P@>1cij+rctU$J@IVUEPCu8J0|=RfA-*Fk@-{g z*Y@degg>+NxHa*?wTxrq@`Y%Y9SoUF{>7aFkY{+>c&w?c)ah)WOnP~sfJ32flt7q( zeNo9G`T#hmU0k3oQsi>vxS>`13U%cPEd0Js1^1J*b9|lmUHN8E&p9ECrhvx8&Dgc_ zc3G;|d65C4-TGevf-b;ibRg2}2vH6Y5Y~-nzc+aCu~5=Kq$n3VrDZ54-jxr(zEoJC zs{((nswUmlKD5b=aP4$<1z6zdE)(5%hbu^1un~xZxsF!E4C7eviYq^6>v6Pa@`bt@ zrLjOJ=qG+d%9}0dO6tS{1|5RGk2B&rhG{(Bo)eLLXTE61Ea1#Qq-IvHlPt`}4nq2E z#u64R>zHwM^g7Z`WTot-Ha-3!Trw+H_h^|NAJa70{wMaATsB*Sa1^S~`g)m!s}etS z;ZT`v3?%5szD1Zg(-?Vli3S|nNAtetwPK9&bkmdJ*qN8^2N5NCmo_+T0DFE>zPDN}RW3iP<_Lqt@1{n(TeV%$W1#wyTLlBEoM02PM833ty2mnCm zY><@=g^4lej6|VTgQWL!mU1!CQ(IEWrqgpFCsPHY6Gur}(sL3eAjnh8OGdInOjBtS zaj>JPWEBC4M3VBv5o4u_=Hj4`1a!;#an3@nNG{75OUd$th(x>sY@$drQ);!CK*llC z2+IhrJWgD5KEw|jjai+u|dQf@ZM1( zts>R4F(A|nzx9``DZ)CfEbHb($cnN9>0fq^1&Uu)b(#_J-Aj2YI<%@Xz3I7e~k>eBgV3uD_Dvgwan>968v^0)jODidFB6I3;XT z0qK>aWwF?yGAk|t@v5jXZV44H*%RQ8GR^zrU!E0~;DN7WzQQS!`tQvpHYaYaEE2a} zQ;})Vx<~5k7IxdK?8jjE?Z}!L*;sO$je44TTR+n}?5Z*`=Za2B6P!g9jaJUds#)0W zsBnXXy?3jE6LQ>`%W)G(>KTX+es=E1>!c09J*TC+s8WUBP@*}%le@{VE*J5uj%D^eSq2bl z=y2Mf#7loMPuO&HK%lE6*E&72pmM|cNElaLT6DPt6Z{c(t$93V;gyoJ5xFMI7?2e3 z8x{8}s_O0`&v6PFZCwtoSfX}BT^mMeL4bFLWI zH{vcids>3?bdzGhL{luT`7nHD4AI+bmL`_L7wM6o+?+T6tFx~RYAfp6O>hYwC<7MJ1&NLsY2QvX_1wvvB$o93){n1y zqU%dJV4@(tAoPl$H79{}379E`GJ4GmCN^qen=96xh9JJLMn{CcN$E+*UTvg=O7~69 ze-`k%?~WR`1EhR-TjnN~0tRwNTA0o-14d-k#SK>deOEO@JU!%Uy`L!D#j;_Ykc42f zx3kN5H>m&w&)ct4$F>r1*p3>s)^fsHi^Aa?1Ti%Rs*FLFqbGoz*eLEA0T3TR|JJ_< zUrKSUS&SKIEHF>S{25QIrQ6WKRamcb+?tyAfmER;zjc3DPKyhf=j9}GDPLuF0DD>7 z^KO)s!NSIFjKV3WS-_)DZKMTBLG8$_$mz^)s$Y)L>5z+5<4=hIVlBwDK3?(HpX|*M zyhN>oORRdFDLmrDJlZmC4g4-Og+h3YdG}qkKUOY*oFfX6`3nX7c}B&A9w)n zr?u(+)oM$Q;iP|G>OHm!D#CiJWky;(0$8%D3fL2-j1Lu|=1ua6HevlrI83ujy}YvW zvUT9ie-*ew+vb`BoTfBKq+v&<>@ufRVM=40|E;o|1d1L5RO2!Pm$;we5*+26&jYk;! zMO4ty1_a^`0RT9N)MIgQmSuBYR4Pgp0yM)Ps?VsXr8(>cJaQ6X$~a(AM-2cF2FPg^ z3}{pvc}-`EJ6F$ec{n8~EL1sX8G@}x7xWNnAU#(}=L2V8E)K&Za3?N(q`)(-$m-Mw zZZONsHB=cl50@I8+AzY9l--(=aR{HT0AOlvYE5acOx}oPUQ{v~%BG}0PRUL^x=9Ec zCf49jo0NiP)7bO3c45(3wzs;%h+l1JxQuHU+t+|6G(hd^hs>Mh{OwZ&nbh_+h;{`i zSEVi_lSj~4UA`odGT{-*^@)atkuVi;MtfGby!gDghL2Xl+EP+hd1g0F3!7>4=#o{- zOIT)+kk{mvngP^PARQt-@13{^o?Ee5=3iSC@{+>j&U?5x1ya){({A}?;E z;Cs*I46St6i4L;rf2u>RIxM1`yk`upJctx%?|6}Em9XKv``41bmoytBaIF3KVCi@N z(~hnF$=UnkvtxX+o!2$X+S+fg=5h+psA8cgv_l$I(TiKTSKHWe0TKUuA(%yw=cSD%$wz$4H(+lfVs23#Q@Pt>;&5mkTT9NN--3op6#zr;B-o_5nt-XYb-<((0*D1ItA}FaS$HRwUIW=yq-U%t>1PZ|I@IFy~E!wtfK~(KW z8hW$XxalU%h0)B++G!*P)IK%cGnQn+-kQ^JrF7c2Sv388D7JRJvZYv2` zq697ARILnz8o3qDM9WM9e#jNyg!drvNI{u4MlnD6KAzi4nBXE>^#9JMhOmp8nvG*$ zCAqEHpV3ROuJV```(&u3VyF3$n`%}Tp};NCmSRA`%@HYV9%FqO);Q81%qhy5OHEVy z&UlFz>7-0J2#IK~-3kvP=XhFcJcu1JQ!f}z)jYyW&yq5!{B2Hrv-+!1ev`_2vtg=_ zy?|5eR23d_t+lpRcSX#v)-=lJ)f`d?%D*bX>)85O?~)na_75ZO)O=BglGQdh#%y^C z7$+Bf$bNsl)?tw{<%}*s9tH1UTv2(_tg0E z`FB`$6i~g8R8*)!$GjITL}RJYEo>EI$rXC<*5Ak=QWJR>+?Xe#i@7IgM6^z?;zz7AJqvU?V=Bf;>d;tbt-{kx3+6BZp5TYPlO zFXn(_(eb!L_8E4xuXkp^5Z=3=FMQ4{4#IvMx(9ZmJ!C+`A}uYZIf`2g3_e?dHVx-w z2|^<@yB|`!!?Sz)yXiYsn7T?moZ@DqElxM2M8&>s-`iYB)oG?oCviGIuajQ)Zgo5H5~y8iO}b0^v@Ry1pOKPg4-q3NiRS2u>Up^A1JR_)IdYq!sDDqbJF z<~@*$R()Zdf4KI$a!jjQ-3=}Nv!(w9%`Bd|x5wcO#{NL|a*)H{{xQ$uZY3c=0H=$V zWL~kz`g31%%x`Lj`_k8xkYpyj!*RC*&#Ir^0XmMdms@LFa`1GdcD`M3deQ64*0bOL zp8vhRdYxE*;-G4nVF7ICr{qdxx!W>`h zhZ9MBm>eohtSZ5y}WrB%&3a6c)#YmIo)Lsg>E% zc7=#K6ziAVIG?r|KiUgS+8LSOyOHP$Jo_Gvd&I=KKK)c??}z)xts{pEVUfMV{f1{0 z&F>wCjK?gVtR35vkUsMW@r{A^5;WPgh&lgikkZAr)76c~u>;dE=tYZ>^8b4wt~LAe zbmnBYfZ{Q|xS_Do@|bS^`Ef{0NDM&?A=Y56`OrOAY3*yL@mm}g!dL^WQJ#~`&LKWT zPmXH7&bE#ckz4G+(6b&k&6@tjM8gTQBW`P5zIFIJLBkkj_zn;nU9{C(YxsOaIVZQx zn)>pa(5rbp%DKuC`x@3g>&lE!!V*v=oqAm>+>F22gqd9GJe1jcAQYcUZ5@f(5HZdO zU^f`|%M(vGZOgSoPTYdOavO}RMjJ1qHC?LEEq*${=bS-)t@=EJ%0_X@rX~4}1o*=t zFFg5)tuD`z)9EgWg1L_CdB$t)PQ~hlx^mHVH(kd;$J-a*Zohp0?U)dp}vA<;{csuVOeg6(R8~rs|c%?3mvCW-MkbGd= zAs^upPSf}9r1tz(`Wvv6`>|I?A?6Xy=Ey54aJc(mTjlfjp`Qatsj!%`lb_jhpnGFfmig69pO)K3shP-(645m zHm4N}MSwX=UKSuPLR~lv`Kg_Ki(8{s;R)m<27KHBSOH1ov|f5%}&(^#V!wIA?vPM-`koS z2r(JvWAuwU6m1{P4D@aFSUWG2sPS(0l(xKr^h&@9+|tyXwA-+VUL9F#&%4Mc6VedbARAvq!q^n~Q;p;M& z6MJViA-vXs(`nEdVdN5vntq$JftS~-T$%I3`NvLMyyO%!)MnJt=X@L3%YaK;rLj@#;0uw(Hn-8-@g+5`NexxDUA`&QgMBfe- z<=TtrHuEZ|NlHrwiGcb#Qj1rtVaMZeZ0nRX5RgTI`aU^d%8syfC}&tb%Jr{^ri0~1 zI_~u*^Z+l0Y9)7)e=qNYERuJP-8+wbW3f!y4tgIg6*F_q#!}z?E}lk>p#ioSP>-1^ zr<#HbAmC3))2p}Ig)^i|dnZDel}L6`>S{8FA%()so=|3&wF?=Oz5&E9ypzeCX#h52 zo}eWCqg!(v_>m;iu&v5Ms+kVAk)^?PO#G%jf{0*TfsRcyqTu(h=O5$CJ;hPn072hv zFmF}oi`Mz5#;EnRBU_gkqh3{fxogXI@;o8%-A9j)3vpQbW+Z-Hw1u;XB^FCdLhR6H z-7l1aGWOX83yCr|%&N{%f(iCS@@KKTpZ(Cs4oaNZ93Pof@u`wzu=${b58_8HMF1pP zIa$A@9AE}s75)@m|Dwr4dO2NBNSORZbekz zO^`QS(ew4Mi7^e=KHk`r>&cGu_ZVVTf&8d%IG>F za4JXQj7vTmeuBoc=w`+d@zD+fgreFV-yd*~)_X~A2(Vg`Uuq;d1nBNt@^Bw*nYFmI zP|#2cX}(5+)tIJBXB@r%1lB)|`a4$Kv=WFdX}3phTJs^zoR`$n3D5hr@mbHMTpg|( z&ak`hBTe=^&KMNoJcndV2c<~d_D^p@FK;mi(S z48|*MR*^P|FG|Pu!g_+8a$Txo_Z_lDTn)8*k~JJF_7K8_k0rmC79jiCUf=!@6xtBK z3Ak@6D9Az5bN0vxZaVtUFs0XcUGbY#`6sg<)^vbFDv7)$YN5wxi56N>i_@-r+6|W$z)dxY9_b}*SZ)1O$}2h`@^pxi^+)rB|_9m7$?Iqv&d7~2Qs(lsn zk!ODJ$CQ06X2!kxIy*^)!kMDQ)tN$*QM=`ursbLmMq(v3HhSq{3TD!POP(yG?iFS%)9KVtriN}nIWuB z8$qsMYsnD}5=%>Z#DQD=)n1VYkfUUa4{>Jb+Vt|;TZnp+iEGwB%~#gV&YlPAI> z0$EU~kWOjjIsk=+^3T}`t8&o}4Na4`677ACjOY-d)5CjPa{WZC&~ug{$+95!^i> z-5(syCiUE4-oEIx25!Z@O8*fa@A?N+N2UIxuVq{+Ij&(L5Q8{;z*he{f&Ij^0&h3C zT+`3`aWnMxUN7$UQH>K<4Kw~~^DC&oh(4*U`B#WPW%;4KfhgMNOhiIBn^jK5i{5bk za*gy+z0ppv#*psKEIXNFw1eWgj!@8}eU?q85+<%I9m<~cWjSSk*R~7Bv5ej(#ioys z`HI(M@UnTLKln~E)!mcHWg86jI#nH$S`BA9YRi9?Dad;jP2dfdjczpcqxRSS%J8A* zoy@`wnHZVuaZhxxrHOMNgeGFZ2A z9A9BG;-u%U{Il#>Efc4~pmt*)VmDdxcT`P9*N+1_C*#%{JsB43A=5!%46KPJLQEO0 zj7oj>+iC*5r=ZA%vzTvBaPS^0RNjc4Ey7P>4`KM<@MrosY+C@9#+!ft{w#0!egF0Q z<&M^o{qmcgH!pU+9a+6Uyxw}DzOt;Lsf(>RK&u&II4=Z&LH+~XVk<5=6wSG)gaC^I z5=rn&M1>y&`Q{)HV9^|YC4c~9ph)q|@WKGzj8dscL#>O^;vfWb1rt%f|8xP*YcdLa zoad&nt$V2_Pr;GtLur$wFap%&;vIBQSW46nSSDZEpVyakNC z+9&KQs}5G4=Z?I~uAY51Hh$sr=(Dh?c@Hncu^4HOByH>WQ=R{SQ5Xf@mSAx;y(Wf-k#JEfM1GVa z0YxyLi&@9jddGkWPbiN$KL26-xaNs9$LL_$h66U0R0leCFDZM#;}n+8^mca45nkLL?ur9EDM<$%KOvbUGraR*)zh3V|Tv ze*rTFL9YlKDd#A85!ef|awfaW3pPaZjd1zGMjl-5n$c2sHK04oK3sIYs79CVDyOb5&;)s8^943-WO`b7Z>_vk*R?(*jA^HJV-;gV2#Uhp`AitIY4=FJ)osNh+S&iHKUT6fu z5*~3k>sFKPRhHuH0i@do3QBd*u>wLup6Jj5=yW|^G=YbX7Ps~mjOoY9VVbx0|NH~H z>)@#I^t=4cDMN<0@M!f@nFx)hNsUqk>%gbt4c=jM{l5c!^g*6ao)onq+Q;GsUB#bM z_n*jtHs7j%`wKceO+`Lo64A5Y7Q6Ibw|3KsgZOvsBCpvcI;J*ATRwz*Sg2A5IuUM>$?lcQVI|FHToFD!izTZ1?Tn0C4TdTQo0qv~|=@^i6nI zAyQm8=oWwAW@dH{gyatMGD0K@@2 z`?tf)3`hl~8#rWKJ^X)d9J^8sP~7yBR!Q8uO0*ySALnnytO5G!oM8UU3E-n1ZCV`iG)3FCBG0Q zjbM`rYL4S#sM>a(ZxSCauBD>JSqc_7jB_t$8LAX4>9<-^(IoLVHt@e}I^!29v3uBu za36+bs}JDY>ckhKyRKDx=1<75B9M!p5~vnNl!R&|bd=6qwnqB*P6Y-oVV*LXz_cxKXDZuAK}x%k9m(Ud6jvf)KlhPW*SVi^u-|XU zQfAke@J!k>rpz|!YrB7|N^T_$5R@M!RrSaXp%>e5b>n>4x?HFj%Q-~)bZ{j8KhN~v z&Dt+--m~HZNe*tV*_q5d%AO(-ha!tsGSKq!cBnA@{=dim|M;c-nlAuz<^_!}Nq4^I z?1!o;8$y5&i4-43@~mtWG3WG4lFStAoZMy_iVNnT(>q$}xOrQAh4BtX^Y0yjM1x%i z6<&kc@dI9h(tV2MvcGtqDHsS>n=6C^rGEbVpLcyI{GasDhcz0IYI1E$1e3m-Vz*l( z5~x-uA(3bQfFY!{>h>icG;&z?nKt9MF>Bdb@ds8BESk;B=52!PHeUtZcia_t{qd#) zDyqA#yROx*nFzy2yUXqy6 zXCm1*A4|@C_hRYcG$I}6jGgN?PI5t*aBIZ)`@A6kFVzxAIpG6+P0aVW&xm)FLTtu` z;U%dV1lO#OmnkbJG8TiqtU}+c7bZ^$r{phpd<5l2eV#l2s+}b(_6b^rx5k{z$7}TU zOXHu^$FIq5SH>+Ko5z{?yDqFOUSM~vDC}}4nb!^azjC&Uk`Pnz`>Vi-xl69Dr>GHS zxYTtGYHHw}%vjwN!|^xQPX92J!lf;dxWD9F`ocKeKH#|d`}z31&)q%SxWNky_Xubv zLa^rQXS?AiUnlSM`F&OTKooz=mWOFFUJ1_Ev^L}K6RBu?Be@eQ7b^D*XMee1c9)$U zE>;bQpHxPl+=87izAAQnf9r*BVyytcg#PBHkH5IJf z&}{FCN`i=TILrjKpusn*7?%-PExF&k=!?5RnYF@u7`|CGddn?8w1S%2R&L7JUU@}A zx_P*y5*zCkTw=1fpwbTZ(^r}aT(cqLV5c{ML@Rp-VI{a%b` zjxQ2*FAI*)J)kTCt?;Pc|8zb)(-2u-DqQJ~cPH5)eo5B$PnQ>=JH2R#^FvfE`%{E| zna~Bd1n)d>oPJ`LW%i_ru&xgRXA4M94zE&fwI$u}3;q8B^zKjb From 19aae0945da88d959b08cfbb77531bec69367c89 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Fri, 24 Jun 2022 17:35:47 +0800 Subject: [PATCH 164/229] change to fix bug on k8s --- ding/framework/middleware/functional/collector.py | 5 ++--- ding/framework/middleware/league_learner.py | 2 ++ 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 83b2757514..85022eb34a 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -1,7 +1,6 @@ from typing import TYPE_CHECKING, Optional, Callable, List, Tuple, Any from easydict import EasyDict from functools import reduce -from more_itertools import only import treetensor.torch as ttorch from ding.envs import BaseEnvManager from ding.policy import Policy @@ -16,7 +15,7 @@ from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories from dizoo.distar.envs.fake_data import rl_step_data -import logging +from ditk import logging class TransitionList: @@ -381,4 +380,4 @@ def _battle_rolloutor(ctx: "BattleContext"): elif timestep.done: ctx.env_episode += 1 - return _battle_rolloutor \ No newline at end of file + return _battle_rolloutor diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 5b97be1b96..8dea75305d 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -37,6 +37,8 @@ def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: self.player_id = player.player_id self.policy = policy self.prefix = '{}/ckpt'.format(cfg.exp_name) + if not os.path.exists(self.prefix): + os.makedirs(self.prefix) task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) def _push_data(self, data: "ActorData"): From e9aad7eeda804a046f714121d87a5ebde0733fe0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 27 Jun 2022 10:21:20 +0800 Subject: [PATCH 165/229] change a bit data_processor.py --- ding/framework/middleware/functional/data_processor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/middleware/functional/data_processor.py b/ding/framework/middleware/functional/data_processor.py index 88185839fb..b136885017 100644 --- a/ding/framework/middleware/functional/data_processor.py +++ b/ding/framework/middleware/functional/data_processor.py @@ -115,7 +115,7 @@ def _fetch(ctx: "OnlineRLContext"): except (ValueError, AssertionError): # You can modify data collect config to avoid this warning, e.g. increasing n_sample, n_episode. log_every_sec( - logging.warning, 10, + logging.WARNING, 10, "Replay buffer's data is not enough to support training, so skip this training for waiting more data." ) ctx.train_data = None From 98effdcc676e27134a4e02b7d52724420730d615 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 27 Jun 2022 15:56:44 +0800 Subject: [PATCH 166/229] make old tests could run --- ding/framework/middleware/functional/collector.py | 12 ++++++------ .../tests/test_league_actor_one_process.py | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 85022eb34a..6a7dca28fe 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -256,10 +256,10 @@ def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data - new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) - ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) - ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) - obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} + # new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) + # ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) + # ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) + # obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} # Policy forward. if cfg.transform_obs: @@ -270,7 +270,7 @@ def _battle_inferencer(ctx: "BattleContext"): ctx.inference_output = inference_output # Interact with env. actions = {} - for env_id in ctx.ready_env_id: + for env_id in range(env.env_num): actions[env_id] = [] for output in inference_output: actions[env_id].append(output[env_id]['action']) @@ -300,7 +300,7 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.episode_info[policy_id].append(timestep.info[policy_id]) if timestep.done: - ctx.ready_env_id.remove(env_id) + # ctx.ready_env_id.remove(env_id) ctx.env_episode += 1 return _battle_rolloutor diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index c91a683372..f1afb1d1fe 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -5,7 +5,7 @@ from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel from dizoo.distar.config import distar_cfg -from ding.framework.middleware import LeagueActor, StepLeagueActor +from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage @@ -43,7 +43,7 @@ def test_league_actor(): cfg, env_fn, policy_fn = prepare_test() policy = policy_fn() with task.start(async_mode=True, ctx=BattleContext()): - league_actor = LeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) + league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) def test_actor(): job = Job( From 2d712784e9d00aa4f588a8dfb5087205ac836a48 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 27 Jun 2022 16:39:34 +0800 Subject: [PATCH 167/229] feature(zms): check for 60s if get new model or not --- ding/framework/middleware/collector.py | 38 +++++++++++++++++-- ding/framework/middleware/league_actor.py | 20 +++++----- .../tests/test_league_actor_one_process.py | 3 +- 3 files changed, 45 insertions(+), 16 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 925cad194f..fa44bbf834 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,18 +1,26 @@ from easydict import EasyDict +from typing import Dict, TYPE_CHECKING +import time +from ditk import logging + from ding.policy import get_random_policy from ding.envs import BaseEnvManager +from ding.utils import log_every_sec from ding.framework import task -from .functional import inferencer, rolloutor, TransitionList, BattleTransitionList, battle_inferencer, battle_rolloutor -from typing import Dict, TYPE_CHECKING +from .functional import inferencer, rolloutor, TransitionList, BattleTransitionList, \ + battle_inferencer, battle_rolloutor if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext +WAIT_MODEL_TIME = 60 + class BattleStepCollector: def __init__( - self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, all_policies: Dict, agent_num: int + self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, model_time_dict: Dict, + all_policies: Dict, agent_num: int ): self.cfg = cfg self.end_flag = False @@ -23,6 +31,7 @@ def __init__( self.total_envstep_count = 0 self.unroll_len = unroll_len self.model_dict = model_dict + self.model_time_dict = model_time_dict self.all_policies = all_policies self.agent_num = agent_num @@ -44,7 +53,28 @@ def __del__(self) -> None: self.env.close() def _update_policies(self, player_id_list) -> None: - # TODO(zms): 60 秒 没有更新 就阻塞,更新才返回 + for player_id in player_id_list: + # for this player, actor didn't recieve any new model, use initial model instead. + if self.model_time_dict.get(player_id) is None: + self.model_time_dict[player_id] = time.time() + + while True: + time_now = time.time() + time_list = [time_now - self.model_time_dict[player_id] for player_id in player_id_list] + if any(x >= WAIT_MODEL_TIME for x in time_list): + for player_id in player_id_list: + if time_now - self.model_time_dict[player_id] >= WAIT_MODEL_TIME: + #TODO: log_every_sec can only print the first model that not updated + log_every_sec( + logging.WARNING, 5, + 'In actor {}, model for {} is not updated for {} senconds, and need new model'.format( + task.router.node_id, player_id, time_now - self.model_time_dict[player_id] + ) + ) + time.sleep(1) + else: + break + for player_id in player_id_list: if self.model_dict.get(player_id) is None: continue diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index eba1bc1735..e282005332 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -1,18 +1,15 @@ -from ding.framework import task, EventEnum -from ditk import logging - from typing import TYPE_CHECKING, Dict, Callable -from ding.league import player - -from ding.policy import Policy -from ding.framework.middleware import BattleStepCollector -from ding.framework.middleware.functional import ActorData, ActorDataMeta -from ding.league.player import PlayerMeta from threading import Lock import queue from easydict import EasyDict import time +from ditk import logging +from ding.policy import Policy +from ding.framework import task, EventEnum +from ding.framework.middleware import BattleStepCollector +from ding.framework.middleware.functional import ActorData, ActorDataMeta +from ding.league.player import PlayerMeta from ding.utils.sparse_logging import log_every_sec if TYPE_CHECKING: @@ -36,6 +33,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.job_queue = queue.Queue() self.model_dict = {} self.model_dict_lock = Lock() + self.model_time_dict = {} self.agent_num = 2 @@ -52,6 +50,7 @@ def _on_learner_model(self, learner_model: "LearnerModel"): ) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model + self.model_time_dict[learner_model.player_id] = time.time() def _on_league_job(self, job: "Job"): """ @@ -66,7 +65,8 @@ def _get_collector(self, player_id: str): env = self.env_fn() collector = task.wrap( BattleStepCollector( - cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.all_policies, self.agent_num + cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.model_time_dict, + self.all_policies, self.agent_num ) ) self._collectors[player_id] = collector diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py index f1afb1d1fe..cce7fb97f3 100644 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_one_process.py @@ -82,7 +82,7 @@ def on_actor_data(actor_data): def _test_actor(ctx): sleep(0.3) task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) - sleep(0.3) + sleep(5) task.emit( EventEnum.LEARNER_SEND_MODEL, @@ -90,7 +90,6 @@ def _test_actor(ctx): player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 ) ) - sleep(5) try: print(testcases) assert all(testcases.values()) From 61883a7f7e610d344fa2196076b3c889bd1e4c7c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 27 Jun 2022 17:05:31 +0800 Subject: [PATCH 168/229] change commit to run in k8s --- dizoo/distar/config/distar_config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index c462d3d671..60412fdf07 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -95,7 +95,7 @@ 'other': { 'replay_buffer': { 'type': 'naive', - 'replay_buffer_size': 10000, + 'replay_buffer_size': 20, 'deepcopy': False, 'enable_track_used_data': False, 'periodic_thruput_seconds': 60, @@ -105,7 +105,7 @@ 'player_category': ['default'], 'path_policy': 'league_demo/ckpt', 'active_players': { - 'main_player': 1 + 'main_player': 2 }, 'main_player': { 'one_phase_step': 10, # 20 From 05cc0f0962b501c5e1bba699f5d7b26d15fdea30 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 27 Jun 2022 18:33:31 +0800 Subject: [PATCH 169/229] fix(zms): fix the bug that when job begin, there is a infinite loop --- ding/framework/middleware/collector.py | 4 ++++ ding/framework/middleware/functional/collector.py | 8 -------- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index fa44bbf834..ef56e89683 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -101,6 +101,8 @@ def __call__(self, ctx: "BattleContext") -> None: old = ctx.env_step while True: + if self.env.closed: + self.env.launch() self._update_policies(ctx.player_id_list) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) @@ -180,6 +182,8 @@ def __call__(self, ctx: "BattleContext") -> None: # ctx.total_envstep_count = self.total_envstep_count # old = ctx.env_episode # while True: +# if self.env.closed: +# self.env.launch() # self._update_policies(ctx.player_id_list) # self._battle_inferencer(ctx) # self._battle_rolloutor(ctx) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 6a7dca28fe..b1ccd3ff8e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -249,10 +249,6 @@ def _rollout(ctx: "OnlineRLContext"): def battle_inferencer(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): - - if env.closed: - env.launch() - # Get current env obs. obs = env.ready_obs # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data @@ -309,10 +305,6 @@ def _battle_rolloutor(ctx: "BattleContext"): def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): - - if env.closed: - env.launch() - # Get current env obs. obs = env.ready_obs assert isinstance(obs, dict) From d6ef348c621288a6851e1a87b8201000b1c4246c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 10:56:24 +0800 Subject: [PATCH 170/229] update train iter --- ding/framework/middleware/collector.py | 24 ++++++++++++------- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/actor_data.py | 7 ++++++ .../middleware/functional/collector.py | 15 ++++++++---- ding/framework/middleware/league_actor.py | 10 ++++---- 5 files changed, 39 insertions(+), 19 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index ef56e89683..5c1ba1f6ed 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -7,6 +7,7 @@ from ding.envs import BaseEnvManager from ding.utils import log_every_sec from ding.framework import task +from ding.framework.middleware.functional import ModelInfo from .functional import inferencer, rolloutor, TransitionList, BattleTransitionList, \ battle_inferencer, battle_rolloutor @@ -19,7 +20,7 @@ class BattleStepCollector: def __init__( - self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, model_time_dict: Dict, + self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, model_info_dict: Dict, all_policies: Dict, agent_num: int ): self.cfg = cfg @@ -31,7 +32,7 @@ def __init__( self.total_envstep_count = 0 self.unroll_len = unroll_len self.model_dict = model_dict - self.model_time_dict = model_time_dict + self.model_info_dict = model_info_dict self.all_policies = all_policies self.agent_num = agent_num @@ -39,7 +40,9 @@ def __init__( self._transitions_list = [ BattleTransitionList(self.env.env_num, self.unroll_len) for _ in range(self.agent_num) ] - self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) + self._battle_rolloutor = task.wrap( + battle_rolloutor(self.cfg, self.env, self._transitions_list, self.model_info_dict) + ) def __del__(self) -> None: """ @@ -55,20 +58,22 @@ def __del__(self) -> None: def _update_policies(self, player_id_list) -> None: for player_id in player_id_list: # for this player, actor didn't recieve any new model, use initial model instead. - if self.model_time_dict.get(player_id) is None: - self.model_time_dict[player_id] = time.time() + if self.model_info_dict.get(player_id) is None: + self.model_info_dict[player_id] = ModelInfo( + get_model_time=time.time(), update_model_time=None, train_iter=0 + ) while True: time_now = time.time() - time_list = [time_now - self.model_time_dict[player_id] for player_id in player_id_list] + time_list = [time_now - self.model_info_dict[player_id].get_model_time for player_id in player_id_list] if any(x >= WAIT_MODEL_TIME for x in time_list): - for player_id in player_id_list: - if time_now - self.model_time_dict[player_id] >= WAIT_MODEL_TIME: + for index, player_id in enumerate(player_id_list): + if time_list[index] >= WAIT_MODEL_TIME: #TODO: log_every_sec can only print the first model that not updated log_every_sec( logging.WARNING, 5, 'In actor {}, model for {} is not updated for {} senconds, and need new model'.format( - task.router.node_id, player_id, time_now - self.model_time_dict[player_id] + task.router.node_id, player_id, time_list[index] ) ) time.sleep(1) @@ -84,6 +89,7 @@ def _update_policies(self, player_id_list) -> None: assert policy, "for player{}, policy should have been initialized already" # update policy model policy.load_state_dict(learner_model.state_dict) + self.model_info_dict[player_id].update_model_time = time.time() self.model_dict[player_id] = None def __call__(self, ctx: "BattleContext") -> None: diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index dde50535b2..e22066bc76 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -11,4 +11,4 @@ from .explorer import eps_greedy_handler, eps_greedy_masker from .advantage_estimator import gae_estimator from .enhancer import reward_estimator, her_data_enhancer, nstep_reward_enhancer -from .actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories +from .actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories, ModelInfo diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 44ba0d7aea..342a5884f3 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -21,3 +21,10 @@ class ActorEnvTrajectories: class ActorData: meta: ActorDataMeta train_data: List[ActorEnvTrajectories] = field(default_factory=[]) + + +@dataclass +class ModelInfo: + get_model_time: float + update_model_time: float + train_iter: int diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index b1ccd3ff8e..a8c3030caf 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -1,7 +1,8 @@ -from typing import TYPE_CHECKING, Optional, Callable, List, Tuple, Any +from typing import TYPE_CHECKING, Optional, Callable, List, Tuple, Any, Dict from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch +from ding import policy from ding.envs import BaseEnvManager from ding.policy import Policy import torch @@ -275,7 +276,7 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): +def battle_rolloutor(cfg: EasyDict, env: BaseEnvManager, transitions_list: List, model_info_dict: Dict): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) @@ -289,7 +290,9 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.obs[policy_id][env_id], ctx.inference_output[policy_id][env_id], policy_timestep ) transition = ttorch.as_tensor(transition) - transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transition.collect_train_iter = ttorch.as_tensor( + [model_info_dict[ctx.player_id_list[policy_id]].train_iter] + ) transitions_list[policy_id].append(env_id, transition) if timestep.done: ctx.current_policies[policy_id].reset([env_id]) @@ -329,7 +332,7 @@ def _battle_inferencer(ctx: "BattleContext"): return _battle_inferencer -def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List): +def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List, model_info_dict: Dict): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) @@ -357,7 +360,9 @@ def _battle_rolloutor(ctx: "BattleContext"): for policy_id, _ in enumerate(ctx.current_policies): transition = ctx.current_policies[policy_id].process_transition(timestep) transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor([ctx.train_iter]) + transition.collect_train_iter = ttorch.as_tensor( + [model_info_dict[ctx.player_id_list[policy_id]].train_iter] + ) # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len append_succeed = append_succeed and transitions_list[policy_id].append(env_id, transition) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index e282005332..1859a5ce97 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -8,7 +8,7 @@ from ding.policy import Policy from ding.framework import task, EventEnum from ding.framework.middleware import BattleStepCollector -from ding.framework.middleware.functional import ActorData, ActorDataMeta +from ding.framework.middleware.functional import ActorData, ActorDataMeta, ModelInfo from ding.league.player import PlayerMeta from ding.utils.sparse_logging import log_every_sec @@ -33,7 +33,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.job_queue = queue.Queue() self.model_dict = {} self.model_dict_lock = Lock() - self.model_time_dict = {} + self.model_info_dict = {} self.agent_num = 2 @@ -50,7 +50,9 @@ def _on_learner_model(self, learner_model: "LearnerModel"): ) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model - self.model_time_dict[learner_model.player_id] = time.time() + self.model_info_dict[learner_model.player_id] = ModelInfo( + get_model_time=time.time(), update_model_time=None, train_iter=learner_model.train_iter + ) def _on_league_job(self, job: "Job"): """ @@ -65,7 +67,7 @@ def _get_collector(self, player_id: str): env = self.env_fn() collector = task.wrap( BattleStepCollector( - cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.model_time_dict, + cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.model_info_dict, self.all_policies, self.agent_num ) ) From 0cb987f03db2876e19797fb1ba147d6ea490a521 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 14:40:35 +0800 Subject: [PATCH 171/229] change logic of update train_iter --- ding/framework/context.py | 1 - ding/framework/middleware/collector.py | 15 +++++++++------ ding/framework/middleware/functional/__init__.py | 2 +- .../framework/middleware/functional/actor_data.py | 8 ++++---- ding/framework/middleware/functional/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 14 ++++++++------ 6 files changed, 24 insertions(+), 20 deletions(-) diff --git a/ding/framework/context.py b/ding/framework/context.py index 97e178a5bd..873cd37a91 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -89,7 +89,6 @@ def __init__(self, *args, **kwargs) -> None: self.env_episode = 0 self.env_step = 0 self.total_envstep_count = 0 - self.train_iter = 0 self.collect_kwargs = {} self.current_policies = [] diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 5c1ba1f6ed..3ddddd0821 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -2,12 +2,14 @@ from typing import Dict, TYPE_CHECKING import time from ditk import logging +from more_itertools import last +from ding.league import player from ding.policy import get_random_policy from ding.envs import BaseEnvManager from ding.utils import log_every_sec from ding.framework import task -from ding.framework.middleware.functional import ModelInfo +from ding.framework.middleware.functional import PlayerModelInfo from .functional import inferencer, rolloutor, TransitionList, BattleTransitionList, \ battle_inferencer, battle_rolloutor @@ -57,15 +59,15 @@ def __del__(self) -> None: def _update_policies(self, player_id_list) -> None: for player_id in player_id_list: - # for this player, actor didn't recieve any new model, use initial model instead. + # for this player, in the beginning of actor's lifetime, actor didn't recieve any new model, use initial model instead. if self.model_info_dict.get(player_id) is None: - self.model_info_dict[player_id] = ModelInfo( - get_model_time=time.time(), update_model_time=None, train_iter=0 + self.model_info_dict[player_id] = PlayerModelInfo( + get_new_model_time=time.time(), update_new_model_time=None ) while True: time_now = time.time() - time_list = [time_now - self.model_info_dict[player_id].get_model_time for player_id in player_id_list] + time_list = [time_now - self.model_info_dict[player_id].get_new_model_time for player_id in player_id_list] if any(x >= WAIT_MODEL_TIME for x in time_list): for index, player_id in enumerate(player_id_list): if time_list[index] >= WAIT_MODEL_TIME: @@ -89,7 +91,8 @@ def _update_policies(self, player_id_list) -> None: assert policy, "for player{}, policy should have been initialized already" # update policy model policy.load_state_dict(learner_model.state_dict) - self.model_info_dict[player_id].update_model_time = time.time() + self.model_info_dict[player_id].update_new_model_time = time.time() + self.model_info_dict[player_id].update_train_iter = learner_model.train_iter self.model_dict[player_id] = None def __call__(self, ctx: "BattleContext") -> None: diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index e22066bc76..a15af5a844 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -11,4 +11,4 @@ from .explorer import eps_greedy_handler, eps_greedy_masker from .advantage_estimator import gae_estimator from .enhancer import reward_estimator, her_data_enhancer, nstep_reward_enhancer -from .actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories, ModelInfo +from .actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories, PlayerModelInfo diff --git a/ding/framework/middleware/functional/actor_data.py b/ding/framework/middleware/functional/actor_data.py index 342a5884f3..f86cd12325 100644 --- a/ding/framework/middleware/functional/actor_data.py +++ b/ding/framework/middleware/functional/actor_data.py @@ -24,7 +24,7 @@ class ActorData: @dataclass -class ModelInfo: - get_model_time: float - update_model_time: float - train_iter: int +class PlayerModelInfo: + get_new_model_time: float + update_new_model_time: float + update_train_iter: int = 0 diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index a8c3030caf..6cd2e4de86 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -291,7 +291,7 @@ def _battle_rolloutor(ctx: "BattleContext"): ) transition = ttorch.as_tensor(transition) transition.collect_train_iter = ttorch.as_tensor( - [model_info_dict[ctx.player_id_list[policy_id]].train_iter] + [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] ) transitions_list[policy_id].append(env_id, transition) if timestep.done: @@ -361,7 +361,7 @@ def _battle_rolloutor(ctx: "BattleContext"): transition = ctx.current_policies[policy_id].process_transition(timestep) transition = EasyDict(transition) transition.collect_train_iter = ttorch.as_tensor( - [model_info_dict[ctx.player_id_list[policy_id]].train_iter] + [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] ) # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 1859a5ce97..4700ab1a19 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -8,7 +8,7 @@ from ding.policy import Policy from ding.framework import task, EventEnum from ding.framework.middleware import BattleStepCollector -from ding.framework.middleware.functional import ActorData, ActorDataMeta, ModelInfo +from ding.framework.middleware.functional import ActorData, ActorDataMeta, PlayerModelInfo from ding.league.player import PlayerMeta from ding.utils.sparse_logging import log_every_sec @@ -50,9 +50,13 @@ def _on_learner_model(self, learner_model: "LearnerModel"): ) with self.model_dict_lock: self.model_dict[learner_model.player_id] = learner_model - self.model_info_dict[learner_model.player_id] = ModelInfo( - get_model_time=time.time(), update_model_time=None, train_iter=learner_model.train_iter - ) + if self.model_info_dict.get(learner_model.player_id): + self.model_info_dict[learner_model.player_id].get_new_model_time = time.time() + self.model_info_dict[learner_model.player_id].update_new_model_time = None + else: + self.model_info_dict[learner_model.player_id] = PlayerModelInfo( + get_new_model_time=time.time(), update_new_model_time=None + ) def _on_league_job(self, job: "Job"): """ @@ -141,7 +145,6 @@ def __call__(self, ctx: "BattleContext"): ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "Please make sure n_episode >= env_num" - ctx.train_iter = main_player.total_agent_step ctx.episode_info = [[] for _ in range(self.agent_num)] while True: @@ -301,7 +304,6 @@ def __call__(self, ctx: "BattleContext"): # task.router.node_id # ) -# ctx.train_iter = main_player.total_agent_step # ctx.episode_info = [[] for _ in range(self.agent_num)] # ctx.remain_episode = ctx.n_episode # while True: From 7012966481daad474b23f384ceced70db84fa7e8 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 15:32:53 +0800 Subject: [PATCH 172/229] add check of main player --- ding/framework/middleware/collector.py | 1 - ding/framework/middleware/league_actor.py | 42 +++++++++++------------ 2 files changed, 21 insertions(+), 22 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 3ddddd0821..a902299948 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -165,7 +165,6 @@ def __call__(self, ctx: "BattleContext") -> None: # self.env.close() # def _update_policies(self, player_id_list) -> None: -# # TODO(zms): update train_iter, update train_iter and player_id inside policy is a good idea # for player_id in player_id_list: # if self.model_dict.get(player_id) is None: # continue diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 4700ab1a19..e8dbbf58b2 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -132,6 +132,7 @@ def __call__(self, ctx: "BattleContext"): ) ctx.player_id_list = [player.player_id for player in job.players] + main_player_idx = [idx for idx, player in enumerate(job.players) if player.player_id == job.launch_player] self.agent_num = len(job.players) collector = self._get_collector(job.launch_player) @@ -152,28 +153,24 @@ def __call__(self, ctx: "BattleContext"): old_envstep = ctx.total_envstep_count collector(ctx) - # ctx.trajectories_list[0] for policy_id 0 - # ctx.trajectories_list[0][0] for first env - if len(ctx.trajectories_list[0]) > 0: - for traj in ctx.trajectories_list[0][0].trajectories: - assert len(traj) == self.unroll_len + 1 if ctx.job_finish is True: logging.info('[Actor {}] finish current job !'.format(task.router.node_id)) - assert len(ctx.trajectories_list[0][0].trajectories) > 0 - # TODO(zms): 判断是不是main_player - if not job.is_eval and len(ctx.trajectories_list[0]) > 0: - trajectories = ctx.trajectories_list[0] - log_every_sec( - logging.INFO, 5, '[Actor {}] send {} trajectories.'.format(task.router.node_id, len(trajectories)) - ) - meta_data = ActorDataMeta( - player_total_env_step=ctx.total_envstep_count, - actor_id=task.router.node_id, - send_wall_time=time.time() - ) - actor_data = ActorData(meta=meta_data, train_data=trajectories) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - log_every_sec(logging.INFO, 5, '[Actor {}] send data\n'.format(task.router.node_id)) + + for idx in main_player_idx: + if not job.is_eval and len(ctx.trajectories_list[idx]) > 0: + trajectories = ctx.trajectories_list[idx] + log_every_sec( + logging.INFO, 5, + '[Actor {}] send {} trajectories.'.format(task.router.node_id, len(trajectories)) + ) + meta_data = ActorDataMeta( + player_total_env_step=ctx.total_envstep_count, + actor_id=task.router.node_id, + send_wall_time=time.time() + ) + actor_data = ActorData(meta=meta_data, train_data=trajectories) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) + log_every_sec(logging.INFO, 5, '[Actor {}] send data\n'.format(task.router.node_id)) ctx.trajectories_list = [] time_end = time.time() @@ -191,7 +188,10 @@ def __call__(self, ctx: "BattleContext"): ) if ctx.job_finish is True: - job.result = [e['result'] for e in ctx.episode_info[0]] + job.result = [] + for idx in main_player_idx: + for e in ctx.episode_info[idx]: + job.result.append(e['result']) task.emit(EventEnum.ACTOR_FINISH_JOB, job) ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) From 7912613defb325d91713adb6e6c5f293cf6a4abb Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 16:40:35 +0800 Subject: [PATCH 173/229] fix bug --- ding/framework/middleware/collector.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index a902299948..d78f9c85e8 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -2,8 +2,6 @@ from typing import Dict, TYPE_CHECKING import time from ditk import logging -from more_itertools import last -from ding.league import player from ding.policy import get_random_policy from ding.envs import BaseEnvManager From 2b51afcc0be6c9ac3c995ccf903858ba74ad4599 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 17:07:47 +0800 Subject: [PATCH 174/229] fix bug --- ding/framework/context.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ding/framework/context.py b/ding/framework/context.py index 873cd37a91..97e178a5bd 100644 --- a/ding/framework/context.py +++ b/ding/framework/context.py @@ -89,6 +89,7 @@ def __init__(self, *args, **kwargs) -> None: self.env_episode = 0 self.env_step = 0 self.total_envstep_count = 0 + self.train_iter = 0 self.collect_kwargs = {} self.current_policies = [] From c912e4bc4833c3b7abf98dc78e92dc44d56d71d2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 28 Jun 2022 18:17:57 +0800 Subject: [PATCH 175/229] change structure of map_size from list to point --- dizoo/distar/envs/distar_env.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 74d7785706..f6a6f191ea 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -17,10 +17,10 @@ def __init__(self, cfg): def reset(self): observations, game_info, map_name = super(DIStarEnv, self).reset() - map_size = get_map_size(map_name) for policy_id, policy_obs in observations.items(): policy_obs['game_info'] = game_info[policy_id] + map_size = game_info[policy_id].start_raw.map_size policy_obs['map_name'] = map_name policy_obs['map_size'] = map_size From 83d93d0f2f3ba39b35fe1cb23d6de3881750b12a Mon Sep 17 00:00:00 2001 From: niuyazhe Date: Tue, 28 Jun 2022 18:33:49 +0800 Subject: [PATCH 176/229] test(nyz): add naive distar policy collect test --- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/envs/distar_env.py | 25 +- dizoo/distar/envs/fake_data.py | 486 ++++++++++++++++++ .../distar/{policy => envs}/z_files/12D.json | 0 .../{policy => envs}/z_files/1758k.json | 0 .../distar/{policy => envs}/z_files/3map.json | 0 .../z_files/7map_filter_spine.json | 0 .../z_files/NewRepugnancy.json | 0 .../{policy => envs}/z_files/filter.json | 0 .../{policy => envs}/z_files/lurker.json | 0 .../{policy => envs}/z_files/mutalisk.json | 0 .../{policy => envs}/z_files/nydus.json | 0 .../{policy => envs}/z_files/perfect_z.json | 0 .../{policy => envs}/z_files/stairs.json | 0 .../{policy => envs}/z_files/worker_rush.json | 0 dizoo/distar/policy/distar_policy.py | 36 +- dizoo/distar/policy/test_distar_policy.py | 11 +- 17 files changed, 530 insertions(+), 30 deletions(-) rename dizoo/distar/{policy => envs}/z_files/12D.json (100%) rename dizoo/distar/{policy => envs}/z_files/1758k.json (100%) rename dizoo/distar/{policy => envs}/z_files/3map.json (100%) rename dizoo/distar/{policy => envs}/z_files/7map_filter_spine.json (100%) rename dizoo/distar/{policy => envs}/z_files/NewRepugnancy.json (100%) rename dizoo/distar/{policy => envs}/z_files/filter.json (100%) rename dizoo/distar/{policy => envs}/z_files/lurker.json (100%) rename dizoo/distar/{policy => envs}/z_files/mutalisk.json (100%) rename dizoo/distar/{policy => envs}/z_files/nydus.json (100%) rename dizoo/distar/{policy => envs}/z_files/perfect_z.json (100%) rename dizoo/distar/{policy => envs}/z_files/stairs.json (100%) rename dizoo/distar/{policy => envs}/z_files/worker_rush.json (100%) diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 5837c285ba..5fec4947d1 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -2,4 +2,4 @@ from .meta import * from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS from .stat import Stat -from .fake_data import get_fake_rl_trajectory, fake_rl_data_batch_with_last +from .fake_data import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index c61f3c8454..9201b33c83 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -2,7 +2,7 @@ from copy import deepcopy from collections import defaultdict from s2clientprotocol import sc2api_pb2 as sc_pb -from pysc2.lib import named_array, colors +from pysc2.lib import named_array, colors, point from pysc2.lib.features import Effects, ScoreCategories, FeatureType, Feature from torch import int8, uint8, int16, int32, float32, float16, int64 @@ -168,13 +168,15 @@ def __repr__(self): def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): # init Z - z_path = osp.join(osp.dirname(__file__), '../envs', z_path) + z_path = osp.join(osp.dirname(__file__), "z_files", z_path) with open(z_path, 'r') as f: z_data = json.load(f) raw_ob = data['raw_obs'] game_info = data['game_info'] map_size = data['map_size'] + if isinstance(map_size, list): + map_size = point.Point(map_size[0], map_size[1]) map_name = data['map_name'] requested_races = { info.player_id: info.race_requested @@ -210,7 +212,7 @@ def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = z else: target_building_order, target_cumulative_stat, bo_location, target_z_loop = z - return race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop + return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop class FeatureUnit(enum.IntEnum): @@ -258,7 +260,7 @@ class FeatureUnit(enum.IntEnum): class MinimapFeatures(collections.namedtuple( "MinimapFeatures", - ["height_map", "visibility_map", "creep", "player_relative", "alerts", "pathable", "buildable"])): + ["height_map", "visibility_map", "creep", "player_relative", "alerts", "pathable", "buildable"])): """The set of minimap feature layers.""" __slots__ = () @@ -359,10 +361,10 @@ def compute_battle_score(obs): return battle_score -def transform_obs(self, obs, padding_spatial=False, opponent_obs=None): +def transform_obs(obs, map_size, requested_races, padding_spatial=False, opponent_obs=None): spatial_info = defaultdict(list) scalar_info = {} - entity_info = dict() + entity_info = {} game_info = {} raw = obs.observation.raw_data @@ -380,7 +382,7 @@ def transform_obs(self, obs, padding_spatial=False, opponent_obs=None): if name in ['LiberatorDefenderZone', 'LurkerSpines'] and e.owner == 1: continue for p in e.pos: - location = int(p.x) + int(self.map_size.y - p.y) * DEFAULT_SPATIAL_SIZE[1] + location = int(p.x) + int(map_size.y - p.y) * DEFAULT_SPATIAL_SIZE[1] spatial_info['effect_' + name].append(location) for k, _ in SPATIAL_INFO: if 'effect' in k: @@ -538,7 +540,7 @@ def get_addon_type(tag): elif k == 'vespene_contents': entity_info[k] = torch.as_tensor(raw_entity_info[:, 'vespene_contents'], dtype=dtype) / 2500 elif k == 'y': - entity_info[k] = torch.as_tensor(self.map_size.y - raw_entity_info[:, 'y'], dtype=dtype) + entity_info[k] = torch.as_tensor(map_size.y - raw_entity_info[:, 'y'], dtype=dtype) else: entity_info[k] = torch.as_tensor(raw_entity_info[:, k], dtype=dtype) @@ -554,8 +556,8 @@ def get_addon_type(tag): ) scalar_info['agent_statistics'] = torch.log(scalar_info['agent_statistics'] + 1) - scalar_info["home_race"] = torch.tensor(self._requested_races[player.player_id], dtype=torch.uint8) - for player_id, race in self._requested_races.items(): + scalar_info["home_race"] = torch.tensor(requested_races[player.player_id], dtype=torch.uint8) + for player_id, race in requested_races.items(): if player_id != player.player_id: scalar_info["away_race"] = torch.tensor(race, dtype=torch.uint8) @@ -586,7 +588,6 @@ def get_addon_type(tag): ) # game info - game_info['map_name'] = self._map_name game_info['action_result'] = [o.result for o in obs.action_errors] game_info['game_loop'] = obs.observation.game_loop game_info['tags'] = tags @@ -628,7 +629,7 @@ def get_addon_type(tag): unit_x = torch.cat([enemy_x, entity_info['x'][entity_info['alliance'] == 1]], dim=0) enemy_y = torch.as_tensor(enemy_y, dtype=float32) - enemy_y = torch.as_tensor(self.map_size.y - enemy_y, dtype=uint8) + enemy_y = torch.as_tensor(map_size.y - enemy_y, dtype=uint8) unit_y = torch.cat([enemy_y, entity_info['y'][entity_info['alliance'] == 1]], dim=0) total_unit_count = len(unit_y) unit_alliance += [0] * (total_unit_count - len(unit_alliance)) diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index 569ce70031..91fddc463d 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -1,6 +1,15 @@ from typing import Sequence +import math +import six +import numpy as np import torch +from pysc2.lib import features, actions, point, units +from pysc2.maps.melee import Melee +from s2clientprotocol import raw_pb2 +from s2clientprotocol import sc2api_pb2 as sc_pb +from s2clientprotocol import score_pb2, common_pb2 + from ding.utils.data import default_collate from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, NUM_UNIT_TYPES, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, \ @@ -183,3 +192,480 @@ def fake_rl_data_batch_with_last(unroll_len=4): def get_fake_rl_trajectory(batch_size=3, unroll_len=4): data_batch = [fake_rl_data_batch_with_last(unroll_len) for _ in range(batch_size)] return data_batch + + +class Unit(object): + """Class to hold unit data for the builder.""" + + def __init__( + self, + unit_type, # see lib/units.py + player_relative, # features.PlayerRelative, + health, + shields=0, + energy=0, + transport_slots_taken=0, + build_progress=1.0 + ): + + self.unit_type = unit_type + self.player_relative = player_relative + self.health = health + self.shields = shields + self.energy = energy + self.transport_slots_taken = transport_slots_taken + self.build_progress = build_progress + + def fill(self, unit_proto): + """Fill a proto unit data object from this Unit.""" + unit_proto.unit_type = self.unit_type + unit_proto.player_relative = self.player_relative + unit_proto.health = self.health + unit_proto.shields = self.shields + unit_proto.energy = self.energy + unit_proto.transport_slots_taken = self.transport_slots_taken + unit_proto.build_progress = self.build_progress + + def as_array(self): + """Return the unit represented as a numpy array.""" + return np.array( + [ + self.unit_type, self.player_relative, self.health, self.shields, self.energy, + self.transport_slots_taken, + int(self.build_progress * 100) + ], + dtype=np.int32 + ) + + def as_dict(self): + return vars(self) + + +class FeatureUnit(object): + """Class to hold feature unit data for the builder.""" + + def __init__( + self, + unit_type, # see lib/units + alliance, # features.PlayerRelative, + owner, # 1-15, 16=neutral + pos, # common_pb2.Point, + radius, + health, + health_max, + is_on_screen, + shield=0, + shield_max=0, + energy=0, + energy_max=0, + cargo_space_taken=0, + cargo_space_max=0, + build_progress=1.0, + facing=0.0, + display_type=raw_pb2.Visible, # raw_pb.DisplayType + cloak=raw_pb2.NotCloaked, # raw_pb.CloakState + is_selected=False, + is_blip=False, + is_powered=True, + mineral_contents=0, + vespene_contents=0, + assigned_harvesters=0, + ideal_harvesters=0, + weapon_cooldown=0.0, + orders=None, + is_flying=False, + is_burrowed=False, + is_hallucination=False, + is_active=False, + attack_upgrade_level=0, + armor_upgrade_level=0, + shield_upgrade_level=0, + ): + + self.unit_type = unit_type + self.alliance = alliance + self.owner = owner + self.pos = pos + self.radius = radius + self.health = health + self.health_max = health_max + self.is_on_screen = is_on_screen + self.shield = shield + self.shield_max = shield_max + self.energy = energy + self.energy_max = energy_max + self.cargo_space_taken = cargo_space_taken + self.cargo_space_max = cargo_space_max + self.build_progress = build_progress + self.facing = facing + self.display_type = display_type + self.cloak = cloak + self.is_selected = is_selected + self.is_blip = is_blip + self.is_powered = is_powered + self.mineral_contents = mineral_contents + self.vespene_contents = vespene_contents + self.assigned_harvesters = assigned_harvesters + self.ideal_harvesters = ideal_harvesters + self.weapon_cooldown = weapon_cooldown + self.is_flying = is_flying + self.is_burrowed = is_burrowed + self.is_hallucination = is_hallucination + self.is_active = is_active + self.attack_upgrade_level = attack_upgrade_level + self.armor_upgrade_level = armor_upgrade_level + self.shield_upgrade_level = shield_upgrade_level + if orders is not None: + self.orders = orders + + def as_dict(self): + return vars(self) + + +class FeatureResource(object): + """Class to hold feature unit data for the builder.""" + + def __init__( + self, + unit_type, # see lib/units + alliance, # features.PlayerRelative, + owner, # 1-15, 16=neutral + pos, # common_pb2.Point, + radius, + is_on_screen, + build_progress=1.0, + facing=0.0, + display_type=raw_pb2.Visible, # raw_pb.DisplayType + cloak=raw_pb2.NotCloaked, # raw_pb.CloakState + is_blip=False, + is_powered=True, + ): + + self.unit_type = unit_type + self.alliance = alliance + self.owner = owner + self.pos = pos + self.radius = radius + self.is_on_screen = is_on_screen + self.build_progress = build_progress + self.facing = facing + self.display_type = display_type + self.cloak = cloak + self.is_blip = is_blip + self.is_powered = is_powered + + def as_dict(self): + return vars(self) + + +class Builder(object): + """For test code - build a dummy ResponseObservation proto.""" + + def __init__(self, obs_spec): + self._game_loop = 1 + self._player_common = sc_pb.PlayerCommon( + player_id=1, + minerals=20, + vespene=50, + food_cap=36, + food_used=21, + food_army=6, + food_workers=15, + idle_worker_count=2, + army_count=6, + warp_gate_count=0, + ) + + self._score = 300 + self._score_type = Melee + self._score_details = score_pb2.ScoreDetails( + idle_production_time=0, + idle_worker_time=0, + total_value_units=190, + total_value_structures=230, + killed_value_units=0, + killed_value_structures=0, + collected_minerals=2130, + collected_vespene=560, + collection_rate_minerals=50, + collection_rate_vespene=20, + spent_minerals=2000, + spent_vespene=500, + food_used=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=self._player_common.food_used, technology=0.0, upgrade=0.0 + ), + killed_minerals=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 + ), + killed_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), + lost_minerals=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), + lost_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), + friendly_fire_minerals=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 + ), + friendly_fire_vespene=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 + ), + used_minerals=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), + used_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), + total_used_minerals=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 + ), + total_used_vespene=score_pb2.CategoryScoreDetails( + none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 + ), + total_damage_dealt=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), + total_damage_taken=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), + total_healed=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), + ) + + self._obs_spec = obs_spec + self._single_select = None + self._multi_select = None + self._build_queue = None + self._production = None + self._feature_units = None + + def game_loop(self, game_loop): + self._game_loop = game_loop + return self + + # pylint:disable=unused-argument + def player_common( + self, + player_id=None, + minerals=None, + vespene=None, + food_cap=None, + food_used=None, + food_army=None, + food_workers=None, + idle_worker_count=None, + army_count=None, + warp_gate_count=None, + larva_count=None + ): + """Update some or all of the fields in the PlayerCommon data.""" + + args = dict(locals()) + for key, value in six.iteritems(args): + if value is not None and key != 'self': + setattr(self._player_common, key, value) + return self + + def score(self, score): + self._score = score + return self + + def score_details( + self, + idle_production_time=None, + idle_worker_time=None, + total_value_units=None, + total_value_structures=None, + killed_value_units=None, + killed_value_structures=None, + collected_minerals=None, + collected_vespene=None, + collection_rate_minerals=None, + collection_rate_vespene=None, + spent_minerals=None, + spent_vespene=None + ): + """Update some or all of the fields in the ScoreDetails data.""" + + args = dict(locals()) + for key, value in six.iteritems(args): + if value is not None and key != 'self': + setattr(self._score_details, key, value) + return self + + # pylint:enable=unused-argument + + def score_by_category(self, entry_name, none, army, economy, technology, upgrade): + + field = getattr(self._score_details, entry_name) + field.CopyFrom( + score_pb2.CategoryScoreDetails( + none=none, army=army, economy=economy, technology=technology, upgrade=upgrade + ) + ) + + def score_by_vital(self, entry_name, life, shields, energy): + field = getattr(self._score_details, entry_name) + field.CopyFrom(score_pb2.VitalScoreDetails(life=life, shields=shields, energy=energy)) + + def single_select(self, unit): + self._single_select = unit + return self + + def multi_select(self, units): + self._multi_select = units + return self + + def build_queue(self, build_queue, production=None): + self._build_queue = build_queue + self._production = production + return self + + def feature_units(self, feature_units): + self._feature_units = feature_units + return self + + def build(self): + """Builds and returns a proto ResponseObservation.""" + response_observation = sc_pb.ResponseObservation() + obs = response_observation.observation + + obs.game_loop = self._game_loop + obs.player_common.CopyFrom(self._player_common) + + obs.score.score_type = 2 + obs.score.score = self._score + obs.score.score_details.CopyFrom(self._score_details) + + def fill(image_data, size, bits): + image_data.bits_per_pixel = bits + image_data.size.y = size[0] + image_data.size.x = size[1] + image_data.data = b'\0' * int(math.ceil(size[0] * size[1] * bits / 8)) + + if 'feature_screen' in self._obs_spec: + for feature in features.SCREEN_FEATURES: + fill(getattr(obs.feature_layer_data.renders, feature.name), self._obs_spec['feature_screen'][1:], 8) + + if 'feature_minimap' in self._obs_spec: + for feature in features.MINIMAP_FEATURES: + fill( + getattr(obs.feature_layer_data.minimap_renders, feature.name), + self._obs_spec['feature_minimap'][1:], 8 + ) + + # if 'rgb_screen' in self._obs_spec: + # fill(obs.render_data.map, self._obs_spec['rgb_screen'][:2], 24) + + # if 'rgb_minimap' in self._obs_spec: + # fill(obs.render_data.minimap, self._obs_spec['rgb_minimap'][:2], 24) + + if self._single_select: + self._single_select.fill(obs.ui_data.single.unit) + + if self._multi_select: + for unit in self._multi_select: + obs.ui_data.multi.units.add(**unit.as_dict()) + + if self._build_queue: + for unit in self._build_queue: + obs.ui_data.production.build_queue.add(**unit.as_dict()) + + if self._production: + for item in self._production: + obs.ui_data.production.production_queue.add(**item) + + if self._feature_units: + for tag, feature_unit in enumerate(self._feature_units, 1): + args = dict(tag=tag) + args.update(feature_unit.as_dict()) + obs.raw_data.units.add(**args) + + return response_observation + + +def fake_raw_obs(): + _features = features.Features( + features.AgentInterfaceFormat( + feature_dimensions=features.Dimensions(screen=(1, 1), minimap=(W, H)), + rgb_dimensions=features.Dimensions(screen=(128, 124), minimap=(1, 1)), + action_space=actions.ActionSpace.RAW, + use_raw_units=True + ), + map_size=point.Point(256, 256) + ) + obs_spec = _features.observation_spec() + builder = Builder(obs_spec).game_loop(0) + feature_units = [ + FeatureResource( + units.Neutral.MineralField, + features.PlayerRelative.NEUTRAL, + owner=16, + pos=common_pb2.Point(x=10, y=10, z=0), + facing=0.0, + radius=1.125, + build_progress=1.0, + cloak=raw_pb2.CloakedUnknown, + is_on_screen=True, + is_blip=False, + is_powered=False, + ), + FeatureResource( + units.Neutral.MineralField, + features.PlayerRelative.NEUTRAL, + owner=16, + pos=common_pb2.Point(x=120, y=10, z=0), + facing=0.0, + radius=1.125, + build_progress=1.0, + cloak=raw_pb2.CloakedUnknown, + is_on_screen=False, + is_blip=False, + is_powered=False, + ), + FeatureResource( + units.Neutral.MineralField, + features.PlayerRelative.NEUTRAL, + owner=16, + pos=common_pb2.Point(x=10, y=120, z=0), + facing=0.0, + radius=1.125, + build_progress=1.0, + cloak=raw_pb2.CloakedUnknown, + is_on_screen=False, + is_blip=False, + is_powered=False, + ), + FeatureResource( + units.Neutral.MineralField, + features.PlayerRelative.NEUTRAL, + owner=16, + pos=common_pb2.Point(x=120, y=120, z=0), + facing=0.0, + radius=1.125, + build_progress=1.0, + cloak=raw_pb2.CloakedUnknown, + is_on_screen=False, + is_blip=False, + is_powered=False, + ), + FeatureUnit( + units.Zerg.Drone, + features.PlayerRelative.SELF, + owner=1, + display_type=raw_pb2.Visible, + pos=common_pb2.Point(x=10, y=11, z=0), + radius=0.375, + facing=3, + cloak=raw_pb2.NotCloaked, + is_selected=False, + is_on_screen=True, + is_blip=False, + health_max=40, + health=40, + is_flying=False, + is_burrowed=False + ), + ] + + builder.feature_units(feature_units) + return builder.build() + + +def get_fake_env_step_data(): + return {'raw_obs': fake_raw_obs(), 'opponent_obs': None, 'action_result': [0]} + + +def get_fake_env_reset_data(): + import os + import pickle + with open(os.path.join(os.path.dirname(__file__), 'fake_reset.pkl'), 'rb') as f: + data = pickle.load(f) + return data diff --git a/dizoo/distar/policy/z_files/12D.json b/dizoo/distar/envs/z_files/12D.json similarity index 100% rename from dizoo/distar/policy/z_files/12D.json rename to dizoo/distar/envs/z_files/12D.json diff --git a/dizoo/distar/policy/z_files/1758k.json b/dizoo/distar/envs/z_files/1758k.json similarity index 100% rename from dizoo/distar/policy/z_files/1758k.json rename to dizoo/distar/envs/z_files/1758k.json diff --git a/dizoo/distar/policy/z_files/3map.json b/dizoo/distar/envs/z_files/3map.json similarity index 100% rename from dizoo/distar/policy/z_files/3map.json rename to dizoo/distar/envs/z_files/3map.json diff --git a/dizoo/distar/policy/z_files/7map_filter_spine.json b/dizoo/distar/envs/z_files/7map_filter_spine.json similarity index 100% rename from dizoo/distar/policy/z_files/7map_filter_spine.json rename to dizoo/distar/envs/z_files/7map_filter_spine.json diff --git a/dizoo/distar/policy/z_files/NewRepugnancy.json b/dizoo/distar/envs/z_files/NewRepugnancy.json similarity index 100% rename from dizoo/distar/policy/z_files/NewRepugnancy.json rename to dizoo/distar/envs/z_files/NewRepugnancy.json diff --git a/dizoo/distar/policy/z_files/filter.json b/dizoo/distar/envs/z_files/filter.json similarity index 100% rename from dizoo/distar/policy/z_files/filter.json rename to dizoo/distar/envs/z_files/filter.json diff --git a/dizoo/distar/policy/z_files/lurker.json b/dizoo/distar/envs/z_files/lurker.json similarity index 100% rename from dizoo/distar/policy/z_files/lurker.json rename to dizoo/distar/envs/z_files/lurker.json diff --git a/dizoo/distar/policy/z_files/mutalisk.json b/dizoo/distar/envs/z_files/mutalisk.json similarity index 100% rename from dizoo/distar/policy/z_files/mutalisk.json rename to dizoo/distar/envs/z_files/mutalisk.json diff --git a/dizoo/distar/policy/z_files/nydus.json b/dizoo/distar/envs/z_files/nydus.json similarity index 100% rename from dizoo/distar/policy/z_files/nydus.json rename to dizoo/distar/envs/z_files/nydus.json diff --git a/dizoo/distar/policy/z_files/perfect_z.json b/dizoo/distar/envs/z_files/perfect_z.json similarity index 100% rename from dizoo/distar/policy/z_files/perfect_z.json rename to dizoo/distar/envs/z_files/perfect_z.json diff --git a/dizoo/distar/policy/z_files/stairs.json b/dizoo/distar/envs/z_files/stairs.json similarity index 100% rename from dizoo/distar/policy/z_files/stairs.json rename to dizoo/distar/envs/z_files/stairs.json diff --git a/dizoo/distar/policy/z_files/worker_rush.json b/dizoo/distar/envs/z_files/worker_rush.json similarity index 100% rename from dizoo/distar/policy/z_files/worker_rush.json rename to dizoo/distar/envs/z_files/worker_rush.json diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 90ec735670..059e0ef467 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -356,11 +356,12 @@ def _init_collect(self): self.z_path = self._cfg.z_path # TODO(zms): in _setup_agents, load state_dict to set up z_idx self.z_idx = None - self._reset_collect() - def _reset_collect(self, data: Dict, env_id=0): + def _reset_collect(self, data: Dict): self.exceed_loop_flag = False - self.hidden_state = None + hidden_size = 384 # TODO(nyz) set from cfg + num_layers = 3 + self.hidden_state = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] self.last_action_type = torch.tensor(0, dtype=torch.long) self.last_delay = torch.tensor(0, dtype=torch.long) self.last_queued = torch.tensor(0, dtype=torch.long) @@ -369,15 +370,16 @@ def _reset_collect(self, data: Dict, env_id=0): self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop = parse_new_game( + race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop = parse_new_game( data, self.z_path, self.z_idx ) - self.race = race + self.race = race # home_race + self.requested_race = requested_race self.map_size = map_size self.target_z_loop = target_z_loop self.stat = Stat(self.race) - self.target_building_order = torch.tensor(self.target_building_order, dtype=torch.long) + self.target_building_order = torch.tensor(target_building_order, dtype=torch.long) self.target_bo_location = torch.tensor(bo_location, dtype=torch.long) self.target_cumulative_stat = torch.zeros(NUM_CUMULATIVE_STAT_ACTIONS, dtype=torch.float) self.target_cumulative_stat.scatter_( @@ -385,8 +387,7 @@ def _reset_collect(self, data: Dict, env_id=0): ) def _forward_collect(self, data): - game_info = data.pop('game_info') - obs = self._data_preprocess_collect(data, game_info) + obs, game_info = self._data_preprocess_collect(data) obs = default_collate([obs]) if self._cfg.cuda: obs = to_device(obs, self._device) @@ -400,15 +401,16 @@ def _forward_collect(self, data): policy_output = self._data_postprocess_collect(policy_output, game_info) return policy_output - def _data_preprocess_collect(self, data, game_info): + def _data_preprocess_collect(self, data): if self._cfg.use_value_feature: - obs = transform_obs(data['raw_obs'], opponent_obs=data['opponent_obs']) + obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, opponent_obs=data['opponent_obs']) else: raise NotImplementedError + game_info = obs.pop('game_info') game_step = game_info['game_loop'] - if self._cfg.zero_z_exceed_loop and game_step > self._target_z_loop: - self._exceed_loop_flag = True + if self._cfg.zero_z_exceed_loop and game_step > self.target_z_loop: + self.exceed_loop_flag = True last_selected_units = torch.zeros(obs['entity_num'], dtype=torch.int8) last_targeted_unit = torch.zeros(obs['entity_num'], dtype=torch.int8) @@ -431,16 +433,18 @@ def _data_preprocess_collect(self, data, game_info): obs['scalar_info']['enemy_unit_type_bool'] = ( self.enemy_unit_type_bool | obs['scalar_info']['enemy_unit_type_bool'] ).to(torch.uint8) - obs['scalar_info']['beginning_order'] = self.target_building_order * (~self.exceed_loop_flag) - obs['scalar_info']['bo_location'] = self.target_bo_location * (~self.exceed_loop_flag) if self.exceed_loop_flag: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value + obs['scalar_info']['beginning_order'] = self.target_building_order * 0 + obs['scalar_info']['bo_location'] = self.target_bo_location * 0 else: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat + obs['scalar_info']['beginning_order'] = self.target_building_order + obs['scalar_info']['bo_location'] = self.target_bo_location # update stat self.stat.update(self.last_action_type, data['action_result'][0], obs, game_step) - return obs + return obs, game_info def _data_postprocess_collect(self, data, game_info): self.hidden_state = data['hidden_state'] @@ -456,7 +460,7 @@ def _data_postprocess_collect(self, data, game_info): raw_action = {} raw_action['func_id'] = action_attr['func_id'] raw_action['skip_steps'] = self.last_delay.item() - raw_action['queued'] = self.queued.item() + raw_action['queued'] = self.last_queued.item() unit_tags = [] for i in range(data['selected_units_num'] - 1): # remove end flag diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py index c2d9c08272..77d2473a0d 100644 --- a/dizoo/distar/policy/test_distar_policy.py +++ b/dizoo/distar/policy/test_distar_policy.py @@ -1,7 +1,7 @@ import pytest from dizoo.distar.policy import DIStarPolicy -from dizoo.distar.envs import get_fake_rl_trajectory +from dizoo.distar.envs import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data @pytest.mark.envtest @@ -13,3 +13,12 @@ def test_forward_learn(self): data = get_fake_rl_trajectory(batch_size=3) output = policy.forward(data) print(output) + + def test_forward_collect(self): + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) + policy = policy.collect_mode + data = get_fake_env_reset_data() + policy.reset(data) + data = get_fake_env_step_data() + output = policy.forward(data) + print(output) From 7b5b233d7dcd1406bbe98e2531c93ad83fbc6347 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 29 Jun 2022 11:03:01 +0800 Subject: [PATCH 177/229] to run in k8s --- ding/framework/middleware/league_learner.py | 2 +- .../middleware/tests/test_league_pipeline.py | 18 +++++++++++------- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 8dea75305d..413ee62980 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -32,7 +32,7 @@ class LeagueLearnerCommunicator: def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: self.cfg = cfg - self._cache = deque(maxlen=1000) + self._cache = deque(maxlen=50) self.player = player self.player_id = player.player_id self.policy = policy diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 4047f9b6bc..1e77e0fb41 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -45,13 +45,17 @@ def get_env_fn(cls): @classmethod def get_env_supervisor(cls): - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env + for _ in range(10): + try: + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager + ) + env.seed(cfg.seed) + return env + except: + continue @classmethod def policy_fn(cls): From 0b985d25516f5543ef449380a23bcb876ae305c0 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 29 Jun 2022 11:07:22 +0800 Subject: [PATCH 178/229] change num workers --- ding/framework/middleware/tests/test_league_pipeline.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 1e77e0fb41..5b98010b94 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -99,8 +99,8 @@ def main(): @pytest.mark.unittest def test_league_pipeline(): - Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) if __name__ == "__main__": - Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) From 57d3a431290d27c46c9a4ca242e1149ae09203e7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 29 Jun 2022 23:44:36 +0800 Subject: [PATCH 179/229] to run real policy forward_collect --- ding/framework/middleware/collector.py | 5 ++- .../middleware/functional/collector.py | 38 ++++++++++--------- ding/framework/middleware/league_actor.py | 4 +- .../middleware/tests/mock_for_test.py | 3 +- .../test_league_actor_distar_one_process.py | 35 ++++++++--------- dizoo/distar/policy/distar_policy.py | 17 +++++---- 6 files changed, 56 insertions(+), 46 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index d78f9c85e8..07c5f57471 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,7 +14,7 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext -WAIT_MODEL_TIME = 60 +WAIT_MODEL_TIME = 6000 class BattleStepCollector: @@ -110,6 +110,9 @@ def __call__(self, ctx: "BattleContext") -> None: while True: if self.env.closed: self.env.launch() + # TODO(zms): only runnable when 1 actor has exactly one env, need to write more general + for policy_id, policy in enumerate(ctx.current_policies): + policy.reset(self.env.ready_obs[0][policy_id]) self._update_policies(ctx.player_id_list) self._battle_inferencer(ctx) self._battle_rolloutor(ctx) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 6cd2e4de86..b3c4dd1d50 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -2,7 +2,6 @@ from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch -from ding import policy from ding.envs import BaseEnvManager from ding.policy import Policy import torch @@ -129,11 +128,14 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: def clear_newest_episode(self, env_id: int) -> None: # Use it when env.step raise some error - newest_episode = self._transitions[env_id].pop() - len_newest_episode = len(newest_episode) - newest_episode.clear() - self._done_episode[env_id].pop() - return len_newest_episode + if len(self._transitions[env_id]) > 0: + newest_episode = self._transitions[env_id].pop() + len_newest_episode = len(newest_episode) + newest_episode.clear() + self._done_episode[env_id].pop() + return len_newest_episode + else: + return 0 def append(self, env_id: int, transition: Any) -> bool: # If previous episode is done, we create a new episode @@ -283,10 +285,10 @@ def _battle_rolloutor(ctx: "BattleContext"): ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) for env_id, timestep in timesteps.items(): - for policy_id, _ in enumerate(ctx.current_policies): + for policy_id, policy in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) - transition = ctx.current_policies[policy_id].process_transition( + transition = policy.process_transition( ctx.obs[policy_id][env_id], ctx.inference_output[policy_id][env_id], policy_timestep ) transition = ttorch.as_tensor(transition) @@ -295,7 +297,7 @@ def _battle_rolloutor(ctx: "BattleContext"): ) transitions_list[policy_id].append(env_id, transition) if timestep.done: - ctx.current_policies[policy_id].reset([env_id]) + policy.reset([env_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) if timestep.done: @@ -351,26 +353,28 @@ def _battle_rolloutor(ctx: "BattleContext"): # ctx.env_step -= transitions_list[0].length(env_id) # 1st case when env step has bug and need to reset. - for policy_id, _ in enumerate(ctx.current_policies): + + # TODO(zms): if it is first step of the episode, do not delete the last episode in the TransitionList + for policy_id, policy in enumerate(ctx.current_policies): transitions_list[policy_id].clear_newest_episode(env_id) - ctx.current_policies[policy_id].reset([env_id]) + policy.reset(env.ready_obs[0][policy_id]) continue - append_succeed = True - for policy_id, _ in enumerate(ctx.current_policies): - transition = ctx.current_policies[policy_id].process_transition(timestep) + episode_long_enough = True + for policy_id, policy in enumerate(ctx.current_policies): + transition = policy.process_transition(timestep) transition = EasyDict(transition) transition.collect_train_iter = ttorch.as_tensor( [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] ) # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len - append_succeed = append_succeed and transitions_list[policy_id].append(env_id, transition) + episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) if timestep.done: - ctx.current_policies[policy_id].reset([env_id]) + policy.reset(env.ready_obs[0][policy_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) - if not append_succeed: + if not episode_long_enough: for policy_id, _ in enumerate(ctx.current_policies): transitions_list[policy_id].clear_newest_episode(env_id) ctx.episode_info[policy_id].pop() diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index e8dbbf58b2..cbefa81518 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -115,8 +115,6 @@ def _get_current_policies(self, job): assert len(current_policies) > 1, "[Actor {}] battle collector needs more than 1 policies".format( task.router.node_id ) - for p in current_policies: - p.reset() else: raise RuntimeError('[Actor {}] current_policies should not be None'.format(task.router.node_id)) @@ -130,7 +128,7 @@ def __call__(self, ctx: "BattleContext"): log_every_sec( logging.INFO, 5, '[Actor {}] job of player {} begins.'.format(task.router.node_id, job.launch_player) ) - + # TODO(zms): when get job, update the policies to the checkpoint in job ctx.player_id_list = [player.player_id for player in job.players] main_player_idx = [idx for idx, player in enumerate(job.players) if player.player_id == job.launch_player] self.agent_num = len(job.players) diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index e39b625ef5..7b75dda960 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -184,7 +184,8 @@ def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: return super()._forward_learn(data) def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: - return DIStarEnv.random_action(data) + print("Call forward_collect:", flush=True) + return super()._forward_collect(data) class DIStarMockPPOPolicy(PPOPolicy): diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index f9378af09a..d362f45510 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -20,7 +20,7 @@ from distar.ctools.utils import read_config from ding.model import VAC -from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect, DIStarMockPolicy from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar cfg = deepcopy(distar_cfg) @@ -35,31 +35,34 @@ def get_env_fn(cls): @classmethod def get_env_supervisor(cls): - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env + for _ in range(10): + try: + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager + ) + env.seed(cfg.seed) + return env + except: + continue @classmethod - def policy_fn(cls): - model = VAC(**cfg.policy.model) - policy = DIStarMockPPOPolicy(cfg.policy, model=model) + def learn_policy_fn(cls): + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) return policy @classmethod def collect_policy_fn(cls): - policy = DIStarMockPolicyCollect() + # policy = DIStarMockPolicyCollect() + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) return policy @pytest.mark.unittest def test_league_actor(): with task.start(async_mode=True, ctx=BattleContext()): - policy = PrepareTest.policy_fn() - + policy = PrepareTest.learn_policy_fn().learn_mode def test_actor(): job = Job( launch_player='main_player_default_0', @@ -103,9 +106,7 @@ def _test_actor(ctx): task.emit( EventEnum.LEARNER_SEND_MODEL, - LearnerModel( - player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 - ) + LearnerModel(player_id='main_player_default_0', state_dict=policy.state_dict(), train_iter=0) ) # sleep(100) # try: diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 059e0ef467..afc571f3e3 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -12,7 +12,7 @@ from ding.utils import EasyTimer from ding.utils.data import default_collate, default_decollate from dizoo.distar.model import Model -from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, Stat, parse_new_game, transform_obs +from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, DEFAULT_SPATIAL_SIZE, Stat, parse_new_game, transform_obs from .utils import collate_fn_learn, kl_error, entropy_error @@ -351,8 +351,11 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: self._learn_model.load_state_dict(_state_dict['model']) self.optimizer.load_state_dict(_state_dict['optimizer']) + def _load_state_dict_collect(self, _state_dict: Dict) -> None: + self._collect_model.load_state_dict(_state_dict['model'], strict=False) + def _init_collect(self): - self.collect_model = model_wrap(self._model, 'base') + self._collect_model = model_wrap(self._model, 'base') self.z_path = self._cfg.z_path # TODO(zms): in _setup_agents, load state_dict to set up z_idx self.z_idx = None @@ -393,7 +396,7 @@ def _forward_collect(self, data): obs = to_device(obs, self._device) with torch.no_grad(): - policy_output = self.collect_model.compute_logp_action(**obs) + policy_output = self._collect_model.compute_logp_action(**obs) if self._cfg.cuda: policy_output = to_device(policy_output, self._device) @@ -403,7 +406,7 @@ def _forward_collect(self, data): def _data_preprocess_collect(self, data): if self._cfg.use_value_feature: - obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, opponent_obs=data['opponent_obs']) + obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True, opponent_obs=data['opponent_obs']) else: raise NotImplementedError @@ -481,13 +484,13 @@ def _data_postprocess_collect(self, data, game_info): else: self.last_targeted_unit_tag = None - x = data['action_info']['target_location'].item() % self.map_size.x - y = data['action_info']['target_location'].item() // self.map_size.x + x = data['action_info']['target_location'].item() % DEFAULT_SPATIAL_SIZE[1] + y = data['action_info']['target_location'].item() // DEFAULT_SPATIAL_SIZE[1] inverse_y = max(self.map_size.y - y, 0) raw_action['location'] = (x, inverse_y) self.last_location = data['action_info']['target_location'] - data['action'] = raw_action + data['action'] = [raw_action] return data From 584fd822189aa2b0d9f6b0e031887e206b83ebb1 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 30 Jun 2022 10:53:24 +0800 Subject: [PATCH 180/229] print exception --- .../middleware/tests/test_league_actor_distar_one_process.py | 3 ++- ding/framework/middleware/tests/test_league_pipeline.py | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index d362f45510..c63b53d35b 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -44,7 +44,8 @@ def get_env_supervisor(cls): ) env.seed(cfg.seed) return env - except: + except Exception as e: + print(e) continue @classmethod diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 5b98010b94..be63e30e66 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -54,7 +54,8 @@ def get_env_supervisor(cls): ) env.seed(cfg.seed) return env - except: + except Exception as e: + print(e) continue @classmethod From df21a9a804af8e998afd2e8bfefd11e1d3e7a84e Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 30 Jun 2022 13:45:34 +0800 Subject: [PATCH 181/229] reformat test --- .../test_league_actor_distar_one_process.py | 49 +++++++++++++------ 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index c63b53d35b..4a950e268f 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -1,30 +1,46 @@ from time import sleep import pytest from copy import deepcopy -from ding.envs import BaseEnvManager, EnvSupervisor -from ding.framework.context import BattleContext -from ding.framework.middleware.league_learner import LearnerModel -from dizoo.distar.config import distar_cfg -from ding.framework.middleware import StepLeagueActor -from ding.framework.middleware.functional import ActorData -from ding.league.player import PlayerMeta -from ding.framework.storage import FileStorage +from unittest.mock import patch +from easydict import EasyDict -from ding.framework.task import task -from ding.league.v2.base_league import Job +from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv -from unittest.mock import patch -from ding.framework.supervisor import ChildType +from ding.envs import EnvSupervisor +from ding.league.player import PlayerMeta +from ding.league.v2.base_league import Job from ding.framework import EventEnum -from distar.ctools.utils import read_config -from ding.model import VAC +from ding.framework.storage import FileStorage +from ding.framework.task import task +from ding.framework.context import BattleContext -from ding.framework.middleware.tests import DIStarMockPPOPolicy, DIStarMockPolicyCollect, DIStarMockPolicy +from ding.framework.supervisor import ChildType +from ding.framework.middleware import StepLeagueActor +from ding.framework.middleware.functional import ActorData +from ding.framework.middleware.tests import DIStarMockPolicy from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar +env_cfg = dict( + actor=dict(job_type='train', ), + env=dict( + map_name='KingsCove', + player_ids=['agent1', 'agent2'], + races=['zerg', 'zerg'], + map_size_resolutions=[True, True], # if True, ignore minimap_resolutions + minimap_resolutions=[[160, 152], [160, 152]], + realtime=False, + replay_dir='.', + random_seed='none', + game_steps_per_episode=100000, + update_bot_obs=False, + save_replay_episodes=1, + update_both_obs=False, + version='4.10.0', + ), +) +env_cfg = EasyDict(env_cfg) cfg = deepcopy(distar_cfg) -env_cfg = read_config('./test_distar_config.yaml') class PrepareTest(): @@ -64,6 +80,7 @@ def collect_policy_fn(cls): def test_league_actor(): with task.start(async_mode=True, ctx=BattleContext()): policy = PrepareTest.learn_policy_fn().learn_mode + def test_actor(): job = Job( launch_player='main_player_default_0', From 72803ef9f5c7da1b450b5ba7cf05d54479f989e3 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 30 Jun 2022 13:58:24 +0800 Subject: [PATCH 182/229] fix bug --- .../middleware/tests/test_league_actor_distar_one_process.py | 1 + 1 file changed, 1 insertion(+) diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py index 4a950e268f..b77e427297 100644 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py @@ -19,6 +19,7 @@ from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.framework.middleware.tests import DIStarMockPolicy +from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar env_cfg = dict( From e8e7551b66085edda9562785eba81bb5ab41311b Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 14:09:56 +0800 Subject: [PATCH 183/229] tools to do serialization and test if two objects same --- ding/utils/tensor_dict_to_shm.py | 154 +++++++++++++++++++++++++++++++ 1 file changed, 154 insertions(+) create mode 100644 ding/utils/tensor_dict_to_shm.py diff --git a/ding/utils/tensor_dict_to_shm.py b/ding/utils/tensor_dict_to_shm.py new file mode 100644 index 0000000000..e1b377ac36 --- /dev/null +++ b/ding/utils/tensor_dict_to_shm.py @@ -0,0 +1,154 @@ +import torch +import torch.multiprocessing as mp +from array import array +import numpy as np + + +def shm_encode_with_schema(data, maxlen=1024 * 1024 * 64): + idx = 0 + encoding = np.zeros(shape=(maxlen, ), dtype=np.float32) + + def _helper(data): + nonlocal idx + if isinstance(data, torch.Tensor): + if data.size(): + tmp = data.flatten() + encoding[idx:idx + len(tmp)] = tmp + idx += len(tmp) + else: + encoding[idx] = data.item() + idx += 1 + return data.size() + elif isinstance(data, dict): + schema = {} + for key, chunk in data.items(): + schema[key] = _helper(chunk) + return schema + elif isinstance(data, (list, tuple)): + schema = [] + for chunk in data: + schema.append(_helper(chunk)) + if isinstance(data, tuple): + schema = tuple(schema) + return schema + else: + raise ValueError("not supported dtype! {}".format(type(data))) + + schema = _helper(data) + return encoding[:idx], schema + + +def shm_decode(encoding, schema): + + def _shm_decode_helper(encoding, schema, start): + if isinstance(schema, torch.Size): + storage = 1 + for d in schema: + storage *= d + # if isinstance(encoding[start], int): + # decoding = torch.LongTensor(encoding[start: start + storage]).view(schema) + # else: + # decoding = torch.FloatTensor(encoding[start: start + storage]).view(schema) + decoding = torch.Tensor(encoding[start:start + storage]).view(schema) + start += storage + return decoding, start + elif isinstance(schema, dict): + decoding = {} + for key, chunk in schema.items(): + decoding[key], start = _shm_decode_helper(encoding, chunk, start) + return decoding, start + elif isinstance(schema, (list, tuple)): + decoding = [] + for chunk in schema: + chunk, start = _shm_decode_helper(encoding, chunk, start) + decoding.append(chunk) + if isinstance(schema, tuple): + decoding = tuple(decoding) + return decoding, start + else: + raise ValueError("not supported schema! {}".format(schema)) + + decoding, start = _shm_decode_helper(encoding, schema, 0) + assert len(encoding) == start, "Encoding length and schema do not match!" + return decoding + + +def equal(data1, data2, check_dict_order=True, strict_dtype=False, parent_key=None): + if type(data1) != type(data2): + print(parent_key) + # print("data1: {} {}".format(parent_key, data1)) + # print("data2: {} {}".format(parent_key, data2)) + return False + if isinstance(data1, torch.Tensor): + if not strict_dtype: + data1 = data1.float() + data2 = data2.float() + if data1.dtype != data2.dtype: + print("data type does not match! data1({}), data2({})".format(data1.dtype, data2.dtype)) + # print("data1: {} {}".format(parent_key, data1)) + # print("data2: {} {}".format(parent_key, data2)) + return False + if data1.equal(data2): + return True + else: + print("value not match") + # print("parent key of data1: {}".format(parent_key)) + print("data1: {} {}".format(parent_key, data1)) + print("data2: {} {}".format(parent_key, data2)) + return False + elif isinstance(data1, dict): + key_set1 = data1.keys() + key_set2 = data2.keys() + if check_dict_order and key_set1 != key_set2: + print("key sequence not match!") + # print("data1: {}".format(data1)) + # print("data2: {}".format(data2)) + return False + elif set(key_set1) != set(key_set2): + print("key set not match!") + # print("data1: {}".format(data1)) + # print("data2: {}".format(data2)) + return False + for key in key_set1: + if equal(data1[key], data2[key], check_dict_order, strict_dtype, key): + print("passed:", key) + else: + print("!!!!!!! not match:", key) + return False + return True + elif isinstance(data1, (tuple, list)): + if len(data1) != len(data2): + print("list length does not match!") + # print("data1: {}".format(data1)) + # print("data2: {}".format(data2)) + return False + return all([equal(data1[i], data2[i], check_dict_order, strict_dtype, parent_key) for i in range(len(data1))]) + else: + raise ValueError("not supported dtype! {}".format(data1)) + + +def equal_v0(data1, data2, check_dict_order=True, strict_dtype=False): + if type(data1) != type(data2): + return False + if isinstance(data1, torch.Tensor): + if not strict_dtype: + data1 = data1.float() + data2 = data2.float() + if data1.dtype != data2.dtype: + print("data type does not match! data1({}), data2({})".format(data1.dtype, data2.dtype)) + return False + return data1.equal(data2) + elif isinstance(data1, dict): + key_set1 = data1.keys() + key_set2 = data2.keys() + if check_dict_order and key_set1 != key_set2: + return False + elif set(key_set1) != set(key_set2): + return False + return all([equal(data1[key], data2[key], check_dict_order, strict_dtype) for key in key_set1]) + elif isinstance(data1, (tuple, list)): + if len(data1) != len(data2): + return False + return all([equal(data1[i], data2[i], check_dict_order, strict_dtype) for i in range(len(data1))]) + else: + raise ValueError("not supported dtype! {}".format(data1)) \ No newline at end of file From 2da40100329247fabb85899fff9a809f1975691c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 14:23:38 +0800 Subject: [PATCH 184/229] changes in the model to correctly make actions using pretrained model --- ding/torch_utils/network/activation.py | 3 +- ding/torch_utils/network/transformer.py | 26 +++++++++++++---- dizoo/distar/model/head/action_type_head.py | 29 ++++++++++++++++++- .../model/obs_encoder/entity_encoder.py | 1 + 4 files changed, 51 insertions(+), 8 deletions(-) diff --git a/ding/torch_utils/network/activation.py b/ding/torch_utils/network/activation.py index 56afa03ce3..8fe27c1108 100644 --- a/ding/torch_utils/network/activation.py +++ b/ding/torch_utils/network/activation.py @@ -85,7 +85,8 @@ def build_activation(activation: str, inplace: bool = None) -> nn.Module: if inplace is not None: assert activation == 'relu', 'inplace argument is not compatible with {}'.format(activation) else: - inplace = False + # TODO(nyz): influence dizoo/gfootball/model/iql/iql_network.py, and tests of this function + inplace = True act_func = {'relu': nn.ReLU(inplace=inplace), 'glu': GLU, 'prelu': nn.PReLU(), 'swish': Swish()} if activation in act_func.keys(): return act_func[activation] diff --git a/ding/torch_utils/network/transformer.py b/ding/torch_utils/network/transformer.py index e707134a3f..49e0a67a2f 100644 --- a/ding/torch_utils/network/transformer.py +++ b/ding/torch_utils/network/transformer.py @@ -89,7 +89,7 @@ class TransformerLayer(nn.Module): def __init__( self, input_dim: int, head_dim: int, hidden_dim: int, output_dim: int, head_num: int, mlp_num: int, - dropout: nn.Module, activation: nn.Module + dropout: nn.Module, activation: nn.Module, ln_type ) -> None: r""" Overview: @@ -117,6 +117,7 @@ def __init__( layers.append(self.dropout) self.mlp = nn.Sequential(*layers) self.layernorm2 = build_normalization('LN')(output_dim) + self.ln_type = ln_type def forward(self, inputs: Tuple[torch.Tensor, torch.Tensor]) -> Tuple[torch.Tensor, torch.Tensor]: """ @@ -128,10 +129,22 @@ def forward(self, inputs: Tuple[torch.Tensor, torch.Tensor]) -> Tuple[torch.Tens - output (:obj:`Tuple[torch.Tensor, torch.Tensor]`): predict value and mask """ x, mask = inputs - a = self.dropout(self.attention(x, mask)) - x = self.layernorm1(x + a) - m = self.dropout(self.mlp(x)) - x = self.layernorm2(x + m) + if self.ln_type == "pre": + a = self.attention(self.layernorm1(x), mask) + if self.dropout: + a = self.dropout(a) + x = x + a + m = self.mlp(self.layernorm2(x)) + if self.dropout: + m = self.dropout(m) + x = x + m + elif self.ln_type == "post": + a = self.dropout(self.attention(x, mask)) + x = self.layernorm1(x + a) + m = self.dropout(self.mlp(x)) + x = self.layernorm2(x + m) + else: + raise NotImplementedError(self.ln_type) return (x, mask) @@ -156,6 +169,7 @@ def __init__( layer_num: int = 3, dropout_ratio: float = 0., activation: nn.Module = nn.ReLU(), + ln_type = 'pre' ): r""" Overview: @@ -179,7 +193,7 @@ def __init__( self.dropout = nn.Dropout(dropout_ratio) for i in range(layer_num): layers.append( - TransformerLayer(dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act) + TransformerLayer(dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act, ln_type) ) self.main = nn.Sequential(*layers) diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py index d16c2cdd3b..ddcda01b80 100644 --- a/dizoo/distar/model/head/action_type_head.py +++ b/dizoo/distar/model/head/action_type_head.py @@ -9,10 +9,37 @@ import torch import torch.nn as nn import torch.nn.functional as F -from ding.torch_utils import ResFCBlock, fc_block, build_activation +from ding.torch_utils import ResFCBlock, fc_block, conv2d_block from dizoo.distar.envs import ACTION_RACE_MASK +class GLU(nn.Module): + def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): + super(GLU, self).__init__() + assert (input_type in ['fc', 'conv2d']) + if input_type == 'fc': + self.layer1 = fc_block(context_dim, input_dim) + self.layer2 = fc_block(input_dim, output_dim) + elif input_type == 'conv2d': + self.layer1 = conv2d_block(context_dim, input_dim, 1, 1, 0) + self.layer2 = conv2d_block(input_dim, output_dim, 1, 1, 0) + + def forward(self, x, context): + gate = self.layer1(context) + gate = torch.sigmoid(gate) + x = gate * x + x = self.layer2(x) + return x + + +def build_activation(activation): + act_func = {'relu': nn.ReLU(inplace=True), 'glu': GLU, 'prelu': nn.PReLU(init=0.0)} + if activation in act_func.keys(): + return act_func[activation] + else: + raise KeyError("invalid key for activation: {}".format(activation)) + + class ActionTypeHead(nn.Module): __constants__ = ['mask_action'] diff --git a/dizoo/distar/model/obs_encoder/entity_encoder.py b/dizoo/distar/model/obs_encoder/entity_encoder.py index 93ffb7fe29..a94de40037 100644 --- a/dizoo/distar/model/obs_encoder/entity_encoder.py +++ b/dizoo/distar/model/obs_encoder/entity_encoder.py @@ -48,6 +48,7 @@ def __init__(self, cfg): layer_num=self.cfg.layer_num, dropout_ratio=self.cfg.dropout_ratio, activation=self.act, + ln_type=self.cfg.ln_type ) self.entity_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) self.embed_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) From a0efe1cc4aa829f87ab07d9b482c38ef2c3a4937 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 14:26:02 +0800 Subject: [PATCH 185/229] changes to run the test using pretrained model --- ding/framework/middleware/collector.py | 2 +- ding/framework/middleware/league_actor.py | 15 ++++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 07c5f57471..166bad50be 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,7 +14,7 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext -WAIT_MODEL_TIME = 6000 +WAIT_MODEL_TIME = 600000 class BattleStepCollector: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index cbefa81518..01289bf6d4 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -4,6 +4,7 @@ from easydict import EasyDict import time from ditk import logging +import torch from ding.policy import Policy from ding.framework import task, EventEnum @@ -112,9 +113,11 @@ def _get_current_policies(self, job): assert main_player, "[Actor {}] can not find active player.".format(task.router.node_id) if current_policies is not None: - assert len(current_policies) > 1, "[Actor {}] battle collector needs more than 1 policies".format( - task.router.node_id - ) + #TODO(zms): make it more general, should we have the restriction of 1 policies + # assert len(current_policies) > 1, "[Actor {}] battle collector needs more than 1 policies".format( + # task.router.node_id + # ) + pass else: raise RuntimeError('[Actor {}] current_policies should not be None'.format(task.router.node_id)) @@ -136,6 +139,12 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) + #TODO(zms): only for test pretrained model + rl_model = torch.load('./rl_model.pth') + for policy in ctx.current_policies: + policy.load_state_dict(rl_model) + print('load state_dict okay') + ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( task.router.node_id From a3c9e3942d63253407b6b17b4b950a8da0378d46 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 14:29:52 +0800 Subject: [PATCH 186/229] tests to test the performance againist bot using pretrained mdoel --- dizoo/distar/policy/test_distar_policy.py | 15 +- ...test_league_actor_with_pretrained_model.py | 178 ++++++++++++++++++ 2 files changed, 191 insertions(+), 2 deletions(-) create mode 100644 dizoo/distar/tests/test_league_actor_with_pretrained_model.py diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py index 77d2473a0d..76ff7ea9aa 100644 --- a/dizoo/distar/policy/test_distar_policy.py +++ b/dizoo/distar/policy/test_distar_policy.py @@ -3,6 +3,9 @@ from dizoo.distar.policy import DIStarPolicy from dizoo.distar.envs import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data +import torch +from ding.utils import set_pkg_seed + @pytest.mark.envtest class TestDIStarPolicy: @@ -17,8 +20,16 @@ def test_forward_learn(self): def test_forward_collect(self): policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) policy = policy.collect_mode + + rl_model = torch.load('./rl_model.pth') + policy.load_state_dict(rl_model) + data = get_fake_env_reset_data() policy.reset(data) - data = get_fake_env_step_data() output = policy.forward(data) - print(output) + +if __name__ == '__main__': + set_pkg_seed(0, use_cuda=False) + torch.set_printoptions(profile="full") + test = TestDIStarPolicy() + test.test_forward_collect() \ No newline at end of file diff --git a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py new file mode 100644 index 0000000000..dfac92d6ac --- /dev/null +++ b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py @@ -0,0 +1,178 @@ +from time import sleep +import pytest +from copy import deepcopy +from unittest.mock import patch +from easydict import EasyDict + +from dizoo.distar.config import distar_cfg +from dizoo.distar.envs.distar_env import DIStarEnv + +from ding.envs import EnvSupervisor +from ding.league.player import PlayerMeta +from ding.league.v2.base_league import Job +from ding.framework import EventEnum +from ding.framework.storage import FileStorage +from ding.framework.task import task +from ding.framework.context import BattleContext + +from ding.framework.supervisor import ChildType +from ding.framework.middleware import StepLeagueActor +from ding.framework.middleware.functional import ActorData +from ding.framework.middleware.tests import DIStarMockPolicy +from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar + + +def battle_rolloutor_for_distar(cfg, env, transitions_list, model_info_dict): + + def _battle_rolloutor(ctx: "BattleContext"): + timesteps = env.step(ctx.actions) + + ctx.total_envstep_count += len(timesteps) + ctx.env_step += len(timesteps) + + for env_id, timestep in enumerate(timesteps): + if timestep.info.get('abnormal'): + for policy_id, policy in enumerate(ctx.current_policies): + policy.reset(env.ready_obs[0][policy_id]) + continue + + for policy_id, policy in enumerate(ctx.current_policies): + if timestep.done: + policy.reset(env.ready_obs[0][policy_id]) + ctx.episode_info[policy_id].append(timestep.info[policy_id]) + + if timestep.done: + ctx.env_episode += 1 + + return _battle_rolloutor + + +env_cfg = dict( + actor=dict(job_type='train', ), + env=dict( + map_name='KingsCove', + player_ids=['agent1', 'bot10'], + races=['zerg', 'zerg'], + map_size_resolutions=[True, True], # if True, ignore minimap_resolutions + minimap_resolutions=[[160, 152], [160, 152]], + realtime=False, + replay_dir='.', + random_seed='none', + game_steps_per_episode=100000, + update_bot_obs=False, + save_replay_episodes=1, + update_both_obs=False, + version='4.10.0', + ), +) +env_cfg = EasyDict(env_cfg) +cfg = deepcopy(distar_cfg) + + +class PrepareTest(): + + @classmethod + def get_env_fn(cls): + return DIStarEnv(env_cfg) + + @classmethod + def get_env_supervisor(cls): + for _ in range(10): + try: + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager + ) + env.seed(cfg.seed) + return env + except Exception as e: + print(e) + continue + + @classmethod + def learn_policy_fn(cls): + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) + return policy + + @classmethod + def collect_policy_fn(cls): + # policy = DIStarMockPolicyCollect() + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) + return policy + + +total_games = 0 +win_games = 0 +draw_games = 0 +loss_games = 0 + + +@pytest.mark.unittest +def test_league_actor(): + with task.start(async_mode=True, ctx=BattleContext()): + policy = PrepareTest.learn_policy_fn().learn_mode + + def test_actor(): + job = Job( + launch_player='main_player_default_0', + players=[ + PlayerMeta( + player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 + ) + ] + ) + + def on_actor_job(job_: Job): + assert job_.launch_player == job.launch_player + print(job) + global total_games + global win_games + global draw_games + global loss_games + + for r in job_.result: + total_games += 1 + if r == 'wins': + win_games += 1 + elif r == 'draws': + draw_games += 1 + elif r == 'losses': + loss_games += 1 + else: + raise NotImplementedError + + print( + 'total games {}, win games {}, draw_games {}, loss_games {}'.format( + total_games, win_games, draw_games, loss_games + ) + ) + + def on_actor_data(actor_data): + print('got actor_data') + assert isinstance(actor_data, ActorData) + + task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) + task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) + + def _test_actor(ctx): + sleep(0.3) + for _ in range(20): + task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) + sleep(0.3) + + return _test_actor + + with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): + with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + league_actor = StepLeagueActor( + cfg=cfg, env_fn=PrepareTest.get_env_supervisor, policy_fn=PrepareTest.collect_policy_fn + ) + task.use(test_actor()) + task.use(league_actor) + task.run() + + +if __name__ == '__main__': + test_league_actor() From 43f86a1a3c7d6dc040f65ad9dafd1e7b9df3f3fe Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 14:52:26 +0800 Subject: [PATCH 187/229] changes in the policy(agent) to correctly make actions using pretrained model --- dizoo/distar/envs/distar_env.py | 4 +- .../model/actor_critic_default_config.yaml | 1 + dizoo/distar/policy/distar_policy.py | 60 +++++++++++++++---- 3 files changed, 51 insertions(+), 14 deletions(-) diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index 6800c0a5e8..a7138c9db1 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -225,7 +225,7 @@ def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = z else: target_building_order, target_cumulative_stat, bo_location, target_z_loop = z - return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop + return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type class FeatureUnit(enum.IntEnum): @@ -599,7 +599,7 @@ def get_addon_type(tag): index=enemy_unit_types.long(), src=torch.ones_like(enemy_unit_types, dtype=torch.uint8) ) - + # game info game_info['action_result'] = [o.result for o in obs.action_errors] game_info['game_loop'] = obs.observation.game_loop diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml index 05edf693e4..7ddc366f7b 100644 --- a/dizoo/distar/model/actor_critic_default_config.yaml +++ b/dizoo/distar/model/actor_critic_default_config.yaml @@ -401,6 +401,7 @@ model: activation: 'relu' norm_type: 'LN' ln_type: 'normal' + # TODO(zms): use_mask when common_type is play, i.e. evaluate. e.g. play against bot. use_mask: False race: 'zerg' temperature: 1.0 diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index afc571f3e3..088ad73ba4 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -3,6 +3,7 @@ import os.path as osp import torch from torch.optim import Adam +import random from ding.model import model_wrap from ding.policy import Policy @@ -104,11 +105,12 @@ class DIStarPolicy(Policy): ), grad_clip=dict(threshold=1.0, ), # collect - use_value_feature=True, # whether to use value feature, this must be False when play against bot + use_value_feature=True, # TODO(zms): whether to use value feature, this must be False when play against bot zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z zero_z_value=1, extra_units=True, # selcet extra units if selected units exceed 64 - z_path='7map_filter_spine.json' + z_path='7map_filter_spine.json', + use_upia_model=True ) def _create_model( @@ -157,6 +159,8 @@ def _forward_learn(self, inputs: Dict): if self._cfg.cuda: inputs = to_device(inputs, self._device) + self._learn_model.train() + # ============= # model forward # ============= @@ -352,11 +356,30 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: self.optimizer.load_state_dict(_state_dict['optimizer']) def _load_state_dict_collect(self, _state_dict: Dict) -> None: - self._collect_model.load_state_dict(_state_dict['model'], strict=False) + #TODO(zms): need to load state_dict after collect, which is very dirty and need to rewrite + + if 'map_name' in _state_dict: + # map_names.append(_state_dict['map_name']) + self.fake_reward_prob = _state_dict['fake_reward_prob'] + # agent._z_path = state_dict['z_path'] + self.z_idx = _state_dict['z_idx'] + _state_dict = {k: v for k, v in _state_dict['model'].items() if 'value_networks' not in k} + + if self.use_upia_model: + for key in list(_state_dict.keys()): + new = key + if "transformer" in key: + new = key.replace('layers', 'main').replace('mlp.1', 'mlp.2') + elif "location_head" in key: + new = key.replace('GateWeightG', 'gate').replace('UpdateSP','update_sp') + _state_dict[new] = _state_dict.pop(key) + + self._collect_model.load_state_dict(_state_dict, strict=False) def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') self.z_path = self._cfg.z_path + self.use_upia_model = self._cfg.use_upia_model # TODO(zms): in _setup_agents, load state_dict to set up z_idx self.z_idx = None @@ -373,9 +396,21 @@ def _reset_collect(self, data: Dict): self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop = parse_new_game( + race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = parse_new_game( data, self.z_path, self.z_idx ) + self.use_cum_reward = True + self.use_bo_reward = True + if z_type is not None: + if z_type == 2 or z_type == 3: + self.use_cum_reward = False + if z_type == 1 or z_type == 3: + self.use_bo_reward = False + if random.random() > self.fake_reward_prob: + self.use_cum_reward = False + if random.random() > self.fake_reward_prob: + self.use_bo_reward = False + self.race = race # home_race self.requested_race = requested_race self.map_size = map_size @@ -395,6 +430,7 @@ def _forward_collect(self, data): if self._cfg.cuda: obs = to_device(obs, self._device) + self._collect_model.eval() with torch.no_grad(): policy_output = self._collect_model.compute_logp_action(**obs) @@ -408,7 +444,7 @@ def _data_preprocess_collect(self, data): if self._cfg.use_value_feature: obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True, opponent_obs=data['opponent_obs']) else: - raise NotImplementedError + obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True) game_info = obs.pop('game_info') game_step = game_info['game_loop'] @@ -436,14 +472,14 @@ def _data_preprocess_collect(self, data): obs['scalar_info']['enemy_unit_type_bool'] = ( self.enemy_unit_type_bool | obs['scalar_info']['enemy_unit_type_bool'] ).to(torch.uint8) - if self.exceed_loop_flag: - obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value - obs['scalar_info']['beginning_order'] = self.target_building_order * 0 - obs['scalar_info']['bo_location'] = self.target_bo_location * 0 - else: + + obs['scalar_info']['beginning_order'] = self.target_building_order * (self.use_bo_reward & (not self.exceed_loop_flag)) + obs['scalar_info']['bo_location'] = self.target_bo_location * (self.use_bo_reward & (not self.exceed_loop_flag)) + + if self.use_cum_reward and not self.exceed_loop_flag: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat - obs['scalar_info']['beginning_order'] = self.target_building_order - obs['scalar_info']['bo_location'] = self.target_bo_location + else: + obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value # update stat self.stat.update(self.last_action_type, data['action_result'][0], obs, game_step) From a99c8bb289b1da980b951549eea466cbc39318c9 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 6 Jul 2022 16:27:35 +0800 Subject: [PATCH 188/229] move GLU and build_activation in action_type_head.py to ding/torch_utils/network/activation.py, rename them to GLU2 and build_activation2 --- ding/torch_utils/network/__init__.py | 2 +- ding/torch_utils/network/activation.py | 28 ++++++++++++++++ dizoo/distar/model/head/action_type_head.py | 37 +++------------------ 3 files changed, 34 insertions(+), 33 deletions(-) diff --git a/ding/torch_utils/network/__init__.py b/ding/torch_utils/network/__init__.py index 56926e7180..23bad434b5 100644 --- a/ding/torch_utils/network/__init__.py +++ b/ding/torch_utils/network/__init__.py @@ -1,4 +1,4 @@ -from .activation import build_activation, Swish +from .activation import build_activation, Swish, build_activation2 from .res_block import ResBlock, ResFCBlock, GatedConvResBlock from .nn_module import fc_block, conv2d_block, one_hot, deconv2d_block, BilinearUpsample, NearestUpsample, \ binary_encode, NoiseLinearLayer, noise_block, MLP, Flatten, normed_linear, normed_conv2d, AttentionPool diff --git a/ding/torch_utils/network/activation.py b/ding/torch_utils/network/activation.py index 8fe27c1108..167395d3aa 100644 --- a/ding/torch_utils/network/activation.py +++ b/ding/torch_utils/network/activation.py @@ -1,6 +1,7 @@ import torch import torch.nn as nn import torch.nn.functional as F +from ding.torch_utils.network.nn_module import fc_block, conv2d_block class GLU(nn.Module): @@ -92,3 +93,30 @@ def build_activation(activation: str, inplace: bool = None) -> nn.Module: return act_func[activation] else: raise KeyError("invalid key for activation: {}".format(activation)) + + +class GLU2(nn.Module): + def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): + super(GLU2, self).__init__() + assert (input_type in ['fc', 'conv2d']) + if input_type == 'fc': + self.layer1 = fc_block(context_dim, input_dim) + self.layer2 = fc_block(input_dim, output_dim) + elif input_type == 'conv2d': + self.layer1 = conv2d_block(context_dim, input_dim, 1, 1, 0) + self.layer2 = conv2d_block(input_dim, output_dim, 1, 1, 0) + + def forward(self, x, context): + gate = self.layer1(context) + gate = torch.sigmoid(gate) + x = gate * x + x = self.layer2(x) + return x + + +def build_activation2(activation): + act_func = {'relu': nn.ReLU(inplace=True), 'glu': GLU2, 'prelu': nn.PReLU(init=0.0)} + if activation in act_func.keys(): + return act_func[activation] + else: + raise KeyError("invalid key for activation: {}".format(activation)) diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py index ddcda01b80..ad91ce06e8 100644 --- a/dizoo/distar/model/head/action_type_head.py +++ b/dizoo/distar/model/head/action_type_head.py @@ -9,48 +9,21 @@ import torch import torch.nn as nn import torch.nn.functional as F -from ding.torch_utils import ResFCBlock, fc_block, conv2d_block +from ding.torch_utils import ResFCBlock, fc_block, build_activation2 from dizoo.distar.envs import ACTION_RACE_MASK -class GLU(nn.Module): - def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): - super(GLU, self).__init__() - assert (input_type in ['fc', 'conv2d']) - if input_type == 'fc': - self.layer1 = fc_block(context_dim, input_dim) - self.layer2 = fc_block(input_dim, output_dim) - elif input_type == 'conv2d': - self.layer1 = conv2d_block(context_dim, input_dim, 1, 1, 0) - self.layer2 = conv2d_block(input_dim, output_dim, 1, 1, 0) - - def forward(self, x, context): - gate = self.layer1(context) - gate = torch.sigmoid(gate) - x = gate * x - x = self.layer2(x) - return x - - -def build_activation(activation): - act_func = {'relu': nn.ReLU(inplace=True), 'glu': GLU, 'prelu': nn.PReLU(init=0.0)} - if activation in act_func.keys(): - return act_func[activation] - else: - raise KeyError("invalid key for activation: {}".format(activation)) - - class ActionTypeHead(nn.Module): __constants__ = ['mask_action'] def __init__(self, cfg): super(ActionTypeHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) # use relu as default + self.act = build_activation2(self.cfg.activation) # use relu as default self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim, activation=self.act, norm_type=None) blocks = [ResFCBlock(self.cfg.res_dim, self.act, self.cfg.norm_type) for _ in range(self.cfg.res_num)] self.res = nn.Sequential(*blocks) - self.action_fc = build_activation('glu')(self.cfg.res_dim, self.cfg.action_num, self.cfg.context_dim) + self.action_fc = build_activation2('glu')(self.cfg.res_dim, self.cfg.action_num, self.cfg.context_dim) self.action_map_fc1 = fc_block( self.cfg.action_num, self.cfg.action_map_dim, activation=self.act, norm_type=None @@ -58,8 +31,8 @@ def __init__(self, cfg): self.action_map_fc2 = fc_block( self.cfg.action_map_dim, self.cfg.action_map_dim, activation=None, norm_type=None ) - self.glu1 = build_activation('glu')(self.cfg.action_map_dim, self.cfg.gate_dim, self.cfg.context_dim) - self.glu2 = build_activation('glu')(self.cfg.input_dim, self.cfg.gate_dim, self.cfg.context_dim) + self.glu1 = build_activation2('glu')(self.cfg.action_map_dim, self.cfg.gate_dim, self.cfg.context_dim) + self.glu2 = build_activation2('glu')(self.cfg.input_dim, self.cfg.gate_dim, self.cfg.context_dim) self.action_num = self.cfg.action_num self.use_mask = self.cfg.use_mask self.race = self.cfg.race From a11e14628fb6eb26e79ea9c412e1898669602d4a Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 11 Jul 2022 01:04:13 +0800 Subject: [PATCH 189/229] change default value of build_activation to False --- ding/torch_utils/network/activation.py | 4 ++-- dizoo/distar/model/head/action_arg_head.py | 20 +++++++++---------- .../model/obs_encoder/entity_encoder.py | 2 +- .../model/obs_encoder/scalar_encoder.py | 4 ++-- .../model/obs_encoder/spatial_encoder.py | 2 +- .../distar/model/obs_encoder/value_encoder.py | 2 +- dizoo/distar/model/value.py | 2 +- dizoo/distar/policy/test_distar_policy.py | 3 ++- 8 files changed, 20 insertions(+), 19 deletions(-) diff --git a/ding/torch_utils/network/activation.py b/ding/torch_utils/network/activation.py index 167395d3aa..c1a9110758 100644 --- a/ding/torch_utils/network/activation.py +++ b/ding/torch_utils/network/activation.py @@ -86,8 +86,7 @@ def build_activation(activation: str, inplace: bool = None) -> nn.Module: if inplace is not None: assert activation == 'relu', 'inplace argument is not compatible with {}'.format(activation) else: - # TODO(nyz): influence dizoo/gfootball/model/iql/iql_network.py, and tests of this function - inplace = True + inplace = False act_func = {'relu': nn.ReLU(inplace=inplace), 'glu': GLU, 'prelu': nn.PReLU(), 'swish': Swish()} if activation in act_func.keys(): return act_func[activation] @@ -96,6 +95,7 @@ def build_activation(activation: str, inplace: bool = None) -> nn.Module: class GLU2(nn.Module): + def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): super(GLU2, self).__init__() assert (input_type in ['fc', 'conv2d']) diff --git a/dizoo/distar/model/head/action_arg_head.py b/dizoo/distar/model/head/action_arg_head.py index 1c7e7b61fc..f9df39b9ba 100644 --- a/dizoo/distar/model/head/action_arg_head.py +++ b/dizoo/distar/model/head/action_arg_head.py @@ -26,7 +26,7 @@ class DelayHead(nn.Module): def __init__(self, cfg): super(DelayHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) self.fc3 = fc_block(self.cfg.decode_dim, self.cfg.delay_dim, activation=None, norm_type=None) # regression @@ -55,7 +55,7 @@ class QueuedHead(nn.Module): def __init__(self, cfg): super(QueuedHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) # to get queued logits self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) @@ -88,7 +88,7 @@ class SelectedUnitsHead(nn.Module): def __init__(self, cfg): super(SelectedUnitsHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.func_dim, activation=self.act) self.query_fc2 = fc_block(self.cfg.func_dim, self.cfg.key_dim, activation=None) @@ -300,7 +300,7 @@ class TargetUnitHead(nn.Module): def __init__(self, cfg): super(TargetUnitHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.key_dim, activation=self.act, norm_type=None) self.query_fc2 = fc_block(self.cfg.key_dim, self.cfg.key_dim, activation=None, norm_type=None) @@ -329,7 +329,7 @@ class LocationHead(nn.Module): def __init__(self, cfg): super(LocationHead, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.reshape_channel = self.cfg.reshape_channel self.conv1 = conv2d_block( @@ -338,7 +338,7 @@ def __init__(self, cfg): 1, 1, 0, - activation=build_activation(self.cfg.activation), + activation=build_activation(self.cfg.activation, inplace=True), norm_type=None ) self.res = nn.ModuleList() @@ -348,7 +348,7 @@ def __init__(self, cfg): self.project_embed = fc_block( self.cfg.input_dim, self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8 * 4, - activation=build_activation(self.cfg.activation) + activation=build_activation(self.cfg.activation, inplace=True) ) self.res = nn.ModuleList() @@ -361,12 +361,12 @@ def __init__(self, cfg): 3, 1, 1, - activation=build_activation(self.cfg.activation), + activation=build_activation(self.cfg.activation, inplace=True), norm_type=None ) ) else: - self.res.append(ResBlock(self.dim, build_activation(self.cfg.activation), norm_type=None)) + self.res.append(ResBlock(self.dim, build_activation(self.cfg.activation, inplace=True), norm_type=None)) self.upsample = nn.ModuleList() # upsample list dims = [self.res_dim] + self.cfg.upsample_dims @@ -375,7 +375,7 @@ def __init__(self, cfg): if i == len(self.cfg.upsample_dims) - 1: activation = None else: - activation = build_activation(self.cfg.activation) + activation = build_activation(self.cfg.activation, inplace=True) if self.cfg.upsample_type == 'deconv': self.upsample.append( deconv2d_block(dims[i], dims[i + 1], 4, 2, 1, activation=activation, norm_type=None) diff --git a/dizoo/distar/model/obs_encoder/entity_encoder.py b/dizoo/distar/model/obs_encoder/entity_encoder.py index a94de40037..a47f34fd3a 100644 --- a/dizoo/distar/model/obs_encoder/entity_encoder.py +++ b/dizoo/distar/model/obs_encoder/entity_encoder.py @@ -37,7 +37,7 @@ def __init__(self, cfg): self.encode_modules[k] = torch.nn.Embedding.from_pretrained( get_binary_embed_mat(item['num_embeddings']), freeze=True, padding_idx=None ) - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.transformer = Transformer( input_dim=self.cfg.input_dim, head_dim=self.cfg.head_dim, diff --git a/dizoo/distar/model/obs_encoder/scalar_encoder.py b/dizoo/distar/model/obs_encoder/scalar_encoder.py index 3bad5cb933..14e02086bc 100644 --- a/dizoo/distar/model/obs_encoder/scalar_encoder.py +++ b/dizoo/distar/model/obs_encoder/scalar_encoder.py @@ -22,7 +22,7 @@ def __init__(self, cfg): self.cfg = cfg self.output_dim = self.cfg.output_dim self.input_dim = self.cfg.action_one_hot_dim + 20 + self.cfg.binary_dim * 2 - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.transformer = Transformer( input_dim=self.input_dim, head_dim=self.cfg.head_dim, @@ -65,7 +65,7 @@ class ScalarEncoder(nn.Module): def __init__(self, cfg): super(ScalarEncoder, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) self.keys = [] self.scalar_context_keys = [] self.baseline_feature_keys = [] diff --git a/dizoo/distar/model/obs_encoder/spatial_encoder.py b/dizoo/distar/model/obs_encoder/spatial_encoder.py index 95549eef07..8bfda6fcfe 100644 --- a/dizoo/distar/model/obs_encoder/spatial_encoder.py +++ b/dizoo/distar/model/obs_encoder/spatial_encoder.py @@ -12,7 +12,7 @@ class SpatialEncoder(nn.Module): def __init__(self, cfg): super(SpatialEncoder, self).__init__() self.cfg = cfg - self.act = build_activation(self.cfg.activation) + self.act = build_activation(self.cfg.activation, inplace=True) if self.cfg.norm_type == 'none': self.norm = None else: diff --git a/dizoo/distar/model/obs_encoder/value_encoder.py b/dizoo/distar/model/obs_encoder/value_encoder.py index a8183c3233..fa49ae0362 100644 --- a/dizoo/distar/model/obs_encoder/value_encoder.py +++ b/dizoo/distar/model/obs_encoder/value_encoder.py @@ -14,7 +14,7 @@ def __init__(self, cfg): super(ValueEncoder, self).__init__() self.whole_cfg = cfg self.cfg = cfg.model.value.encoder - self.act = build_activation('relu') + self.act = build_activation('relu', inplace=True) self.encode_modules = nn.ModuleDict() for k, item in self.cfg.modules.items(): if item['arc'] == 'fc': diff --git a/dizoo/distar/model/value.py b/dizoo/distar/model/value.py index 501b8ebbc8..b3e76e5f9d 100644 --- a/dizoo/distar/model/value.py +++ b/dizoo/distar/model/value.py @@ -15,7 +15,7 @@ class ValueBaseline(nn.Module): def __init__(self, cfg): super(ValueBaseline, self).__init__() - self.act = build_activation(cfg.activation) + self.act = build_activation(cfg.activation, inplace=True) if cfg.use_value_feature: input_dim = cfg.input_dim + 1056 else: diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py index 76ff7ea9aa..40a786d352 100644 --- a/dizoo/distar/policy/test_distar_policy.py +++ b/dizoo/distar/policy/test_distar_policy.py @@ -23,11 +23,12 @@ def test_forward_collect(self): rl_model = torch.load('./rl_model.pth') policy.load_state_dict(rl_model) - + data = get_fake_env_reset_data() policy.reset(data) output = policy.forward(data) + if __name__ == '__main__': set_pkg_seed(0, use_cuda=False) torch.set_printoptions(profile="full") From ca651b54c0bec1801d94336e3b7956932a3fe7bd Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 11 Jul 2022 02:08:19 +0800 Subject: [PATCH 190/229] add util to change ia's model --- dizoo/distar/policy/distar_policy.py | 28 ++++++++++------------- dizoo/distar/policy/test_distar_policy.py | 1 + dizoo/distar/state_dict_utils.py | 19 +++++++++++++++ 3 files changed, 32 insertions(+), 16 deletions(-) create mode 100644 dizoo/distar/state_dict_utils.py diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 088ad73ba4..4aa3414848 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -110,7 +110,6 @@ class DIStarPolicy(Policy): zero_z_value=1, extra_units=True, # selcet extra units if selected units exceed 64 z_path='7map_filter_spine.json', - use_upia_model=True ) def _create_model( @@ -357,7 +356,7 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: def _load_state_dict_collect(self, _state_dict: Dict) -> None: #TODO(zms): need to load state_dict after collect, which is very dirty and need to rewrite - + if 'map_name' in _state_dict: # map_names.append(_state_dict['map_name']) self.fake_reward_prob = _state_dict['fake_reward_prob'] @@ -365,21 +364,11 @@ def _load_state_dict_collect(self, _state_dict: Dict) -> None: self.z_idx = _state_dict['z_idx'] _state_dict = {k: v for k, v in _state_dict['model'].items() if 'value_networks' not in k} - if self.use_upia_model: - for key in list(_state_dict.keys()): - new = key - if "transformer" in key: - new = key.replace('layers', 'main').replace('mlp.1', 'mlp.2') - elif "location_head" in key: - new = key.replace('GateWeightG', 'gate').replace('UpdateSP','update_sp') - _state_dict[new] = _state_dict.pop(key) - self._collect_model.load_state_dict(_state_dict, strict=False) def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') self.z_path = self._cfg.z_path - self.use_upia_model = self._cfg.use_upia_model # TODO(zms): in _setup_agents, load state_dict to set up z_idx self.z_idx = None @@ -410,7 +399,7 @@ def _reset_collect(self, data: Dict): self.use_cum_reward = False if random.random() > self.fake_reward_prob: self.use_bo_reward = False - + self.race = race # home_race self.requested_race = requested_race self.map_size = map_size @@ -442,7 +431,13 @@ def _forward_collect(self, data): def _data_preprocess_collect(self, data): if self._cfg.use_value_feature: - obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True, opponent_obs=data['opponent_obs']) + obs = transform_obs( + data['raw_obs'], + self.map_size, + self.requested_race, + padding_spatial=True, + opponent_obs=data['opponent_obs'] + ) else: obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True) @@ -473,9 +468,10 @@ def _data_preprocess_collect(self, data): self.enemy_unit_type_bool | obs['scalar_info']['enemy_unit_type_bool'] ).to(torch.uint8) - obs['scalar_info']['beginning_order'] = self.target_building_order * (self.use_bo_reward & (not self.exceed_loop_flag)) + obs['scalar_info']['beginning_order' + ] = self.target_building_order * (self.use_bo_reward & (not self.exceed_loop_flag)) obs['scalar_info']['bo_location'] = self.target_bo_location * (self.use_bo_reward & (not self.exceed_loop_flag)) - + if self.use_cum_reward and not self.exceed_loop_flag: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat else: diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py index 40a786d352..6eedf13f2a 100644 --- a/dizoo/distar/policy/test_distar_policy.py +++ b/dizoo/distar/policy/test_distar_policy.py @@ -27,6 +27,7 @@ def test_forward_collect(self): data = get_fake_env_reset_data() policy.reset(data) output = policy.forward(data) + print(output) if __name__ == '__main__': diff --git a/dizoo/distar/state_dict_utils.py b/dizoo/distar/state_dict_utils.py new file mode 100644 index 0000000000..9c94b39f5a --- /dev/null +++ b/dizoo/distar/state_dict_utils.py @@ -0,0 +1,19 @@ +import torch + + +def adjust_ia_state_dict(model_path): + state_dict = torch.load(model_path) + for key in list(state_dict['model'].keys()): + new = key + if "transformer" in key: + new = key.replace('layers', 'main').replace('mlp.1', 'mlp.2') + elif "location_head" in key: + new = key.replace('GateWeightG', 'gate').replace('UpdateSP', 'update_sp') + state_dict['model'][new] = state_dict['model'].pop(key) + + torch.save(state_dict, model_path) + + +if __name__ == '__main__': + model_path = './tests/rl_model.pth' + adjust_ia_state_dict(model_path) From 8dd3b393ed738c7527773d049ec1b32b0d10f5ee Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 11 Jul 2022 16:04:55 +0800 Subject: [PATCH 191/229] add update_fake_reward; change behaviour to behavior --- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/metric.py | 10 ++ dizoo/distar/envs/__init__.py | 4 +- dizoo/distar/envs/distar_env.py | 6 +- dizoo/distar/policy/distar_policy.py | 202 ++++++++++++++++++++++++--- 5 files changed, 199 insertions(+), 25 deletions(-) diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index b78d0f08b2..69f0891dd0 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -2,7 +2,7 @@ from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad, flatten from .distribution import CategoricalPd, CategoricalPdPytorch -from .metric import levenshtein_distance, hamming_distance +from .metric import l2_distance, levenshtein_distance, hamming_distance from .network import * from .loss import * from .optimizer_helper import Adam, RMSprop, calculate_grad_norm, calculate_grad_norm_without_bias_two_norm diff --git a/ding/torch_utils/metric.py b/ding/torch_utils/metric.py index 7fc2edf230..827bee4634 100644 --- a/ding/torch_utils/metric.py +++ b/ding/torch_utils/metric.py @@ -2,6 +2,16 @@ from typing import Optional, Callable +def l2_distance(a, b, min=0, max=0.8, threshold=5, spatial_x=160): + x0 = a % spatial_x + y0 = a // spatial_x + x1 = b % spatial_x + y1 = b // spatial_x + l2 = torch.sqrt((torch.square(x1 - x0) + torch.square(y1 - y0)).float()) + cost = (l2 / threshold).clamp_(min=min, max=max) + return cost + + def levenshtein_distance( pred: torch.LongTensor, target: torch.LongTensor, diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index 5fec4947d1..d1eb59ed5a 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -1,5 +1,5 @@ -from .distar_env import DIStarEnv, parse_new_game, transform_obs +from .distar_env import DIStarEnv, parse_new_game, transform_obs, compute_battle_score from .meta import * -from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS +from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS from .stat import Stat from .fake_data import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py index a7138c9db1..a4aeaca3df 100644 --- a/dizoo/distar/envs/distar_env.py +++ b/dizoo/distar/envs/distar_env.py @@ -200,7 +200,7 @@ def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): if i.unit_type == 59 or i.unit_type == 18 or i.unit_type == 86: location.append([i.pos.x, i.pos.y]) assert len(location) == 1, 'no fog of war, check game version!' - born_location = deepcopy(location[0]) + _born_location = deepcopy(location[0]) born_location = location[0] born_location[0] = int(born_location[0]) born_location[1] = int(map_size.y - born_location[1]) @@ -225,7 +225,7 @@ def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = z else: target_building_order, target_cumulative_stat, bo_location, target_z_loop = z - return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type + return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type, _born_location class FeatureUnit(enum.IntEnum): @@ -599,7 +599,7 @@ def get_addon_type(tag): index=enemy_unit_types.long(), src=torch.ones_like(enemy_unit_types, dtype=torch.uint8) ) - + # game info game_info['action_result'] = [o.result for o in obs.action_errors] game_info['game_loop'] = obs.observation.game_loop diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 4aa3414848..5b7d10925a 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -1,19 +1,22 @@ +from logging.config import DEFAULT_LOGGING_CONFIG_PORT from typing import Dict, Optional, List from easydict import EasyDict import os.path as osp import torch from torch.optim import Adam import random +from functools import partial from ding.model import model_wrap from ding.policy import Policy -from ding.torch_utils import to_device +from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ upgo_data, upgo_error from ding.utils import EasyTimer from ding.utils.data import default_collate, default_decollate from dizoo.distar.model import Model -from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, DEFAULT_SPATIAL_SIZE, Stat, parse_new_game, transform_obs +from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, DEFAULT_SPATIAL_SIZE, BEGINNING_ORDER_LENGTH, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS,\ + Stat, parse_new_game, transform_obs, compute_battle_score from .utils import collate_fn_learn, kl_error, entropy_error @@ -107,9 +110,12 @@ class DIStarPolicy(Policy): # collect use_value_feature=True, # TODO(zms): whether to use value feature, this must be False when play against bot zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z - zero_z_value=1, + fake_reward_prob=0.0, # probablity which set Z to 0 + zero_z_value=1, # value used for 0Z extra_units=True, # selcet extra units if selected units exceed 64 + clip_bo=False, # clip the length of teacher's building order to agent's length z_path='7map_filter_spine.json', + realtime=False, #TODO(zms): set from env, need to use only one cfg define policy and env ) def _create_model( @@ -174,7 +180,7 @@ def _forward_learn(self, inputs: Dict): # =========== target_policy_logits_dict = model_output['target_logit'] # shape (T,B) baseline_values_dict = model_output['value'] # shape (T+1,B) - behaviour_action_log_probs_dict = model_output['action_log_prob'] # shape (T,B) + behavior_action_log_probs_dict = model_output['action_log_prob'] # shape (T,B) teacher_policy_logits_dict = model_output['teacher_logit'] # shape (T,B) masks_dict = model_output['mask'] # shape (T,B) actions_dict = model_output['action'] # shape (T,B) @@ -192,7 +198,7 @@ def _forward_learn(self, inputs: Dict): clipped_rhos_dict = {} # ============================================================ - # get distribution info for behaviour policy and target policy + # get distribution info for behavior policy and target policy # ============================================================ for head_type in self.head_types: # take info from correspondent input dict @@ -203,10 +209,10 @@ def _forward_learn(self, inputs: Dict): target_policy_probs = pi_target.probs target_policy_log_probs = pi_target.logits target_action_log_probs = pi_target.log_prob(actions) - behaviour_action_log_probs = behaviour_action_log_probs_dict[head_type] + behavior_action_log_probs = behavior_action_log_probs_dict[head_type] with torch.no_grad(): - log_rhos = target_action_log_probs - behaviour_action_log_probs + log_rhos = target_action_log_probs - behavior_action_log_probs if head_type == 'selected_units': log_rhos *= masks_dict['selected_units_mask'] log_rhos = log_rhos.sum(dim=-1) @@ -369,8 +375,14 @@ def _load_state_dict_collect(self, _state_dict: Dict) -> None: def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') self.z_path = self._cfg.z_path - # TODO(zms): in _setup_agents, load state_dict to set up z_idx self.z_idx = None + self.bo_norm = 20 #TODO(nyz): set from cfg + self.cum_norm = 30 #TODO(nyz): set from cfg + self.battle_norm = 30 #TODO(nyz): set from cfg + self.fake_reward_prob = self._cfg.fake_reward_prob + self.clip_bo = self._cfg.clip_bo + self.cum_type = 'action' # observation or action + self.realtime = self._cfg.realtime def _reset_collect(self, data: Dict): self.exceed_loop_flag = False @@ -384,10 +396,18 @@ def _reset_collect(self, data: Dict): self.last_targeted_unit_tag = None self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - - race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = parse_new_game( + self._observation = None # TODO(zms): need to move to input and output of function + self._output = None # TODO(zms): need to move to input and output of function + self.game_step = 0 # step * 10 is game duration time + self.behavior_building_order = [] # idx in BEGINNING_ORDER_ACTIONS + self.behavior_bo_location = [] + self.bo_zergling_count = 0 + self.behavior_cumulative_stat = [0] * NUM_CUMULATIVE_STAT_ACTIONS + + race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type, _born_location = parse_new_game( data, self.z_path, self.z_idx ) + self.born_location = _born_location self.use_cum_reward = True self.use_bo_reward = True if z_type is not None: @@ -400,6 +420,9 @@ def _reset_collect(self, data: Dict): if random.random() > self.fake_reward_prob: self.use_bo_reward = False + self.bo_norm = len(self.target_building_order) + self.cum_norm = len(target_cumulative_stat) + self.race = race # home_race self.requested_race = requested_race self.map_size = map_size @@ -412,6 +435,18 @@ def _reset_collect(self, data: Dict): self.target_cumulative_stat.scatter_( index=torch.tensor(target_cumulative_stat, dtype=torch.long), dim=0, value=1. ) + if not self.realtime: + if not self.clip_bo: + self.old_bo_reward = -levenshtein_distance( + torch.as_tensor(self.behavior_building_order, dtype=torch.long), self.target_building_order + ) / self.bo_norm + else: + self.old_bo_reward = torch.tensor(0.) + self.old_cum_reward = -hamming_distance( + torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.float), self.target_cumulative_stat + ) / self.cum_norm + self.total_bo_reward = torch.zeros(size=(), dtype=torch.float) + self.total_cum_reward = torch.zeros(size=(), dtype=torch.float) def _forward_collect(self, data): obs, game_info = self._data_preprocess_collect(data) @@ -442,8 +477,10 @@ def _data_preprocess_collect(self, data): obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True) game_info = obs.pop('game_info') - game_step = game_info['game_loop'] - if self._cfg.zero_z_exceed_loop and game_step > self.target_z_loop: + self.battle_score = game_info['battle_score'] + self.opponent_battle_score = game_info['opponent_battle_score'] + self.game_step = game_info['game_loop'] + if self._cfg.zero_z_exceed_loop and self.game_step > self.target_z_loop: self.exceed_loop_flag = True last_selected_units = torch.zeros(obs['entity_num'], dtype=torch.int8) @@ -477,16 +514,20 @@ def _data_preprocess_collect(self, data): else: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value + self._observation = obs + # update stat - self.stat.update(self.last_action_type, data['action_result'][0], obs, game_step) + self.stat.update(self.last_action_type, data['action_result'][0], obs, self.game_step) return obs, game_info def _data_postprocess_collect(self, data, game_info): self.hidden_state = data['hidden_state'] - + self.last_queued = data['action_info']['queued'] self.last_action_type = data['action_info']['action_type'] self.last_delay = data['action_info']['delay'] - self.last_queued = data['action_info']['queued'] + self.last_location = data['action_info']['target_location'] + self._output = data + action_type = self.last_action_type.item() action_attr = ACTIONS[action_type] @@ -520,20 +561,143 @@ def _data_postprocess_collect(self, data, game_info): y = data['action_info']['target_location'].item() // DEFAULT_SPATIAL_SIZE[1] inverse_y = max(self.map_size.y - y, 0) raw_action['location'] = (x, inverse_y) - self.last_location = data['action_info']['target_location'] data['action'] = [raw_action] return data - def _process_transition(self, obs, policy_output, timestep): + def _process_transition(self, next_obs, reward, done): + action_result = False if next_obs is None else ('Success' in next_obs['action_result']) + + behavior_z = self.get_behavior_z() + bo_reward, cum_reward, battle_reward = self.update_fake_reward(next_obs) + + def get_behavior_z(self): + bo = self.behavior_building_order + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_building_order)) + bo_location = self.behavior_bo_location + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_bo_location)) return { - 'obs': obs, - 'action': policy_output['action_info'], + 'beginning_order': torch.as_tensor(bo, dtype=torch.long), + 'bo_location': torch.as_tensor(bo_location, dtype=torch.long), + 'cumulative_stat': torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.bool).long() } + def update_fake_reward(self, next_obs): + bo_reward, cum_reward, battle_reward = self._update_fake_reward( + self.last_action_type, self.last_location, next_obs + ) + return bo_reward, cum_reward, battle_reward + + def _update_fake_reward(self, action_type, location, next_obs): + bo_reward = torch.zeros(size=(), dtype=torch.float) + cum_reward = torch.zeros(size=(), dtype=torch.float) + + battle_score = compute_battle_score(next_obs['raw_obs']) + opponent_battle_score = compute_battle_score(next_obs['opponent_obs']) + battle_reward = battle_score - self.battle_score - (opponent_battle_score - self.opponent_battle_score) + battle_reward = torch.tensor(battle_reward, dtype=torch.float) / self.battle_norm + + if self.exceed_loop_flag: + return bo_reward, cum_reward, battle_reward + + if action_type in BEGINNING_ORDER_ACTIONS and next_obs['action_result'][0] == 1: + if action_type == 322: + self.bo_zergling_count += 1 + if self.bo_zergling_count > 8: + return bo_reward, cum_reward, battle_reward + order_index = BEGINNING_ORDER_ACTIONS.index(action_type) + if order_index == 39 and 39 not in self.target_building_order: # ignore spinecrawler + return bo_reward, cum_reward, battle_reward + if len(self.behavior_building_order) < len(self.target_building_order): + # only consider bo_reward if behaviour size < target size + self.behavior_building_order.append(order_index) + if ACTIONS[action_type]['target_location']: + self.behavior_bo_location.append(location.item()) + else: + self.behavior_bo_location.append(0) + if self.use_bo_reward: + if self.clip_bo: + tz = self.target_building_order[:len(self.behavior_building_order)] + tz_lo = self.target_bo_location[:len(self.behavior_building_order)] + else: + tz = self.target_building_order + tz_lo = self.target_bo_location + new_bo_dist = -levenshtein_distance( #TODO(nyz): merge levenshtein_distance of DI-star and DI-engine to the same + torch.as_tensor(self.behavior_building_order, dtype=torch.int), + torch.as_tensor(tz, dtype=torch.int), + torch.as_tensor(self.behavior_bo_location, dtype=torch.int), + torch.as_tensor(tz_lo, dtype=torch.int), + partial(l2_distance, spatial_x=DEFAULT_SPATIAL_SIZE[1]) + ) / self.bo_norm + bo_reward = new_bo_dist - self.old_bo_reward + self.old_bo_reward = new_bo_dist + + if self.cum_type == 'observation': + cum_flag = True + for u in next_obs['raw_obs'].observation.raw_data.units: + if u.alliance == 1 and u.unit_type in [59, 18, 86]: # ignore first base + if u.pos.x == self.born_location[0] and u.pos.y == self.born_location[1]: + continue + if u.alliance == 1 and u.build_progress == 1 and UNIT_TO_CUM[u.unit_type] != -1: + self.behavior_cumulative_stat[UNIT_TO_CUM[u.unit_type]] = 1 + for u in next_obs['raw_obs'].observation.raw_data.player.upgrade_ids: + if UPGRADE_TO_CUM[u] != -1: + self.behavior_cumulative_stat[UPGRADE_TO_CUM[u]] = 1 + from distar.pysc2.lib.upgrades import Upgrades + for up in Upgrades: + if up.value == u: + name = up.name + break + elif self.cum_type == 'action': + action_name = ACTIONS[action_type]['name'] + action_info = self._output['action_info'] + cum_flag = False + if action_name == 'Cancel_quick' or action_name == 'Cancel_Last_quick': + unit_index = action_info['selected_units'][0].item() + order_len = self._observation['entity_info']['order_length'][unit_index] + if order_len == 0: + action_index = 0 + elif order_len == 1: + action_index = UNIT_ABILITY_TO_ACTION[self._observation['entity_info']['order_id_0'] + [unit_index].item()] + elif order_len > 1: + order_str = 'order_id_{}'.format(order_len - 1) + action_index = QUEUE_ACTIONS[self._observation['entity_info'][order_str][unit_index].item() - 1] + if action_index in CUMULATIVE_STAT_ACTIONS: + cum_flag = True + cum_index = CUMULATIVE_STAT_ACTIONS.index(action_index) + self.behavior_cumulative_stat[cum_index] = max(0, self.behavior_cumulative_stat[cum_index] - 1) + + if action_type in CUMULATIVE_STAT_ACTIONS: + cum_flag = True + cum_index = CUMULATIVE_STAT_ACTIONS.index(action_type) + self.behavior_cumulative_stat[cum_index] += 1 + else: + raise NotImplementedError + + if self.use_cum_reward and cum_flag and (self.cum_type == 'observation' or next_obs['action_result'][0] == 1): + new_cum_reward = -hamming_distance( + torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.bool), + torch.as_tensor(self.target_cumulative_stat, dtype=torch.bool) + ) / self.cum_norm + cum_reward = (new_cum_reward - self.old_cum_reward) * self._get_time_factor(self.game_step) + self.old_cum_reward = new_cum_reward + self.total_bo_reward += bo_reward + self.total_cum_reward += cum_reward + return bo_reward, cum_reward, battle_reward + def _get_train_sample(self): pass + @staticmethod + def _get_time_factor(game_step): + if game_step < 1 * 10000: + return 1.0 + elif game_step < 2 * 10000: + return 0.5 + elif game_step < 3 * 10000: + return 0.25 + else: + return 0 + _init_eval = _init_collect _forward_eval = _forward_collect From b2cfa91ba1eeefd86f97484faeeea0709596609a Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Mon, 11 Jul 2022 19:00:13 +0800 Subject: [PATCH 192/229] add processss_transition --- dizoo/distar/policy/distar_policy.py | 121 +++++++++++++++++++++++++-- 1 file changed, 114 insertions(+), 7 deletions(-) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 5b7d10925a..d1144df0f2 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -6,6 +6,7 @@ from torch.optim import Adam import random from functools import partial +from copy import deepcopy from ding.model import model_wrap from ding.policy import Policy @@ -24,7 +25,8 @@ class DIStarPolicy(Policy): config = dict( type='distar', on_policy=False, - cuda=True, + learn_cuda=True, + collect_cuda=False, learning_rate=1e-5, model=dict(), # learn @@ -154,14 +156,14 @@ def _init_learn(self): eps=1e-5, ) # utils - self.timer = EasyTimer(cuda=self._cfg.cuda) + self.timer = EasyTimer(cuda=self._cfg.learn_cuda) def _forward_learn(self, inputs: Dict): # =========== # pre-process # =========== inputs = collate_fn_learn(inputs) - if self._cfg.cuda: + if self._cfg.learn_cuda: inputs = to_device(inputs, self._device) self._learn_model.train() @@ -374,6 +376,7 @@ def _load_state_dict_collect(self, _state_dict: Dict) -> None: def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') + self.only_cum_action_kl = False self.z_path = self._cfg.z_path self.z_idx = None self.bo_norm = 20 #TODO(nyz): set from cfg @@ -383,9 +386,12 @@ def _init_collect(self): self.clip_bo = self._cfg.clip_bo self.cum_type = 'action' # observation or action self.realtime = self._cfg.realtime + self.teacher_model = Model(self._cfg.model + ).eval() # TODO(zms): load teacher_model's state_dict when init policy. def _reset_collect(self, data: Dict): self.exceed_loop_flag = False + self.map_name = data['map_name'] hidden_size = 384 # TODO(nyz) set from cfg num_layers = 3 self.hidden_state = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] @@ -398,12 +404,16 @@ def _reset_collect(self, data: Dict): self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) self._observation = None # TODO(zms): need to move to input and output of function self._output = None # TODO(zms): need to move to input and output of function + self.model_last_iter = 0 self.game_step = 0 # step * 10 is game duration time self.behavior_building_order = [] # idx in BEGINNING_ORDER_ACTIONS self.behavior_bo_location = [] self.bo_zergling_count = 0 self.behavior_cumulative_stat = [0] * NUM_CUMULATIVE_STAT_ACTIONS + self.hidden_state_backup = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] + self.teacher_hidden_state = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] + race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type, _born_location = parse_new_game( data, self.z_path, self.z_idx ) @@ -451,14 +461,14 @@ def _reset_collect(self, data: Dict): def _forward_collect(self, data): obs, game_info = self._data_preprocess_collect(data) obs = default_collate([obs]) - if self._cfg.cuda: + if self._cfg.collect_cuda: obs = to_device(obs, self._device) self._collect_model.eval() with torch.no_grad(): policy_output = self._collect_model.compute_logp_action(**obs) - if self._cfg.cuda: + if self._cfg.collect_cuda: policy_output = to_device(policy_output, self._device) policy_output = default_decollate(policy_output)[0] policy_output = self._data_postprocess_collect(policy_output, game_info) @@ -567,10 +577,81 @@ def _data_postprocess_collect(self, data, game_info): return data def _process_transition(self, next_obs, reward, done): - action_result = False if next_obs is None else ('Success' in next_obs['action_result']) - behavior_z = self.get_behavior_z() bo_reward, cum_reward, battle_reward = self.update_fake_reward(next_obs) + agent_obs = self._observation + teacher_obs = { + 'spatial_info': agent_obs['spatial_info'], + 'entity_info': agent_obs['entity_info'], + 'scalar_info': agent_obs['scalar_info'], + 'entity_num': agent_obs['entity_num'], + 'hidden_state': self.teacher_hidden_state, + 'selected_units_num': self._output['selected_units_num'], + 'action_info': self._output['action_info'] + } + if self._cfg.collect_cuda: + teacher_obs = to_device(teacher_obs, 'cuda:0') + + teacher_model_input = default_collate([teacher_obs]) + teacher_output = self.teacher_model.compute_teacher_logit(**teacher_model_input) + teacher_output = self.decollate_output(teacher_output) + self.teacher_hidden_state = teacher_output['hidden_state'] + + # gather step data + action_info = deepcopy(self._output['action_info']) + mask = dict() + mask['actions_mask'] = deepcopy( + { + k: val + for k, val in ACTIONS[action_info['action_type'].item()].items() + if k not in ['name', 'goal', 'func_id', 'general_ability_id', 'game_id'] + } + ) + if self.only_cum_action_kl: + mask['cum_action_mask'] = torch.tensor(0.0, dtype=torch.float) + else: + mask['cum_action_mask'] = torch.tensor(1.0, dtype=torch.float) + if self.use_bo_reward: + mask['build_order_mask'] = torch.tensor(1.0, dtype=torch.float) + else: + mask['build_order_mask'] = torch.tensor(0.0, dtype=torch.float) + if self.use_cum_reward: + mask['built_unit_mask'] = torch.tensor(1.0, dtype=torch.float) + mask['cum_action_mask'] = torch.tensor(1.0, dtype=torch.float) + else: + mask['built_unit_mask'] = torch.tensor(0.0, dtype=torch.float) + selected_units_num = self._output['selected_units_num'] + for k, v in mask['actions_mask'].items(): + mask['actions_mask'][k] = torch.tensor(v, dtype=torch.long) + step_data = { + 'map_name': self.map_name, + 'spatial_info': agent_obs['spatial_info'], + 'model_last_iter': torch.tensor(self.model_last_iter, dtype=torch.float), + # 'spatial_info_ref': spatial_info_ref, + 'entity_info': agent_obs['entity_info'], + 'scalar_info': agent_obs['scalar_info'], + 'entity_num': agent_obs['entity_num'], + 'selected_units_num': selected_units_num, + 'hidden_state': self.hidden_state_backup, + 'action_info': action_info, + 'behaviour_logp': self._output['action_logp'], + 'teacher_logit': teacher_output['logit'], + # 'successive_logit': deepcopy(teacher_output['logit']), + 'reward': { + 'winloss': torch.tensor(reward, dtype=torch.float), + 'build_order': bo_reward, + 'built_unit': cum_reward, + # 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), + 'battle': battle_reward, + }, + 'step': torch.tensor(self.game_step, dtype=torch.float), + 'mask': mask, + } + ##TODO: add value feature + if self._cfg.use_value_feature: + step_data['value_feature'] = agent_obs['value_feature'] + step_data['value_feature'].update(behavior_z) + self.hidden_state_backup = self.hidden_state def get_behavior_z(self): bo = self.behavior_building_order + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_building_order)) @@ -685,6 +766,32 @@ def _update_fake_reward(self, action_type, location, next_obs): self.total_cum_reward += cum_reward return bo_reward, cum_reward, battle_reward + def decollate_output(self, output, k=None, batch_idx=None): + if isinstance(output, torch.Tensor): + if batch_idx is None: + return output.squeeze(dim=0) + else: + return output[batch_idx].clone().cpu() + elif k == 'hidden_state': + if batch_idx is None: + return [(output[l][0].squeeze(dim=0), output[l][1].squeeze(dim=0)) for l in range(len(output))] + else: + return [ + (output[l][0][batch_idx].clone().cpu(), output[l][1][batch_idx].clone().cpu()) + for l in range(len(output)) + ] + elif isinstance(output, dict): + data = {k: self.decollate_output(v, k, batch_idx) for k, v in output.items()} + if batch_idx is not None and k is None: + entity_num = data['entity_num'] + selected_units_num = data['selected_units_num'] + data['logit']['selected_units'] = data['logit']['selected_units'][:selected_units_num, :entity_num + 1] + data['logit']['target_unit'] = data['logit']['target_unit'][:entity_num] + if 'action_info' in data.keys(): + data['action_info']['selected_units'] = data['action_info']['selected_units'][:selected_units_num] + data['action_logp']['selected_units'] = data['action_logp']['selected_units'][:selected_units_num] + return data + def _get_train_sample(self): pass From 25a8a54004e716e6f56469ebc041c733b0b81fde Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 12 Jul 2022 12:05:59 +0800 Subject: [PATCH 193/229] load state_dict of teacher model and other debugs --- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/metric.py | 29 ++++++++++++++++++++++++++++ dizoo/distar/policy/distar_policy.py | 27 +++++++++++++++----------- 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index 69f0891dd0..9a0dfc5734 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -2,7 +2,7 @@ from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad, flatten from .distribution import CategoricalPd, CategoricalPdPytorch -from .metric import l2_distance, levenshtein_distance, hamming_distance +from .metric import l2_distance, levenshtein_distance, hamming_distance, hamming_distance2 from .network import * from .loss import * from .optimizer_helper import Adam, RMSprop, calculate_grad_norm, calculate_grad_norm_without_bias_two_norm diff --git a/ding/torch_utils/metric.py b/ding/torch_utils/metric.py index 827bee4634..da213aadb7 100644 --- a/ding/torch_utils/metric.py +++ b/ding/torch_utils/metric.py @@ -85,3 +85,32 @@ def hamming_distance(pred: torch.LongTensor, target: torch.LongTensor, weight=1. assert (pred.device == target.device) assert (pred.shape == target.shape) return pred.ne(target).sum(dim=1).float().mul_(weight) + + +def hamming_distance2(behaviour, target): + r''' + Overview: + Hamming Distance + + Arguments: + Note: + behaviour, target are also boolean vector(0 or 1) + + - behaviour (:obj:`torch.LongTensor`): behaviour input, shape[B, N], while B is the batch size + - target (:obj:`torch.LongTensor`): target input, shape[B, N], while B is the batch size + + Returns: + - distance(:obj:`torch.LongTensor`): distance(scalar), the shape[1] + + Shapes: + - behaviour & target (:obj:`torch.LongTensor`): shape :math:`(B, N)`, \ + while B is the batch size and N is the dimension + + Test: + torch_utils/network/tests/test_metric.py + ''' + assert (isinstance(behaviour, torch.Tensor) and isinstance(target, torch.Tensor)) + assert behaviour.dtype == target.dtype, f'bahaviour_dtype: {behaviour.dtype}, target_dtype: {target.dtype}' + assert (behaviour.device == target.device) + assert (behaviour.shape == target.shape) + return behaviour.ne(target).sum(dim=-1).float() diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index d1144df0f2..9470ab360e 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -7,10 +7,11 @@ import random from functools import partial from copy import deepcopy +import os.path as osp from ding.model import model_wrap from ding.policy import Policy -from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance +from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance2 as hamming_distance from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ upgo_data, upgo_error from ding.utils import EasyTimer @@ -25,8 +26,7 @@ class DIStarPolicy(Policy): config = dict( type='distar', on_policy=False, - learn_cuda=True, - collect_cuda=False, + cuda=True, learning_rate=1e-5, model=dict(), # learn @@ -118,6 +118,7 @@ class DIStarPolicy(Policy): clip_bo=False, # clip the length of teacher's building order to agent's length z_path='7map_filter_spine.json', realtime=False, #TODO(zms): set from env, need to use only one cfg define policy and env + teacher_model_path='sl_model.pth', ) def _create_model( @@ -156,14 +157,14 @@ def _init_learn(self): eps=1e-5, ) # utils - self.timer = EasyTimer(cuda=self._cfg.learn_cuda) + self.timer = EasyTimer(cuda=self._cfg.cuda) def _forward_learn(self, inputs: Dict): # =========== # pre-process # =========== inputs = collate_fn_learn(inputs) - if self._cfg.learn_cuda: + if self._cfg.cuda: inputs = to_device(inputs, self._device) self._learn_model.train() @@ -386,8 +387,12 @@ def _init_collect(self): self.clip_bo = self._cfg.clip_bo self.cum_type = 'action' # observation or action self.realtime = self._cfg.realtime - self.teacher_model = Model(self._cfg.model - ).eval() # TODO(zms): load teacher_model's state_dict when init policy. + self.teacher_model = Model(self._cfg.model).eval() + teacher_model_path = osp.join(osp.dirname(__file__), self._cfg.teacher_model_path) + t_state_dict = torch.load(teacher_model_path, map_location='cpu') + teacher_state_dict = {k: v for k, v in t_state_dict['model'].items() if 'value_networks' not in k} + self.teacher_model.load_state_dict(teacher_state_dict) + # TODO(zms): load teacher_model's state_dict when init policy. def _reset_collect(self, data: Dict): self.exceed_loop_flag = False @@ -430,7 +435,7 @@ def _reset_collect(self, data: Dict): if random.random() > self.fake_reward_prob: self.use_bo_reward = False - self.bo_norm = len(self.target_building_order) + self.bo_norm = len(target_building_order) self.cum_norm = len(target_cumulative_stat) self.race = race # home_race @@ -461,14 +466,14 @@ def _reset_collect(self, data: Dict): def _forward_collect(self, data): obs, game_info = self._data_preprocess_collect(data) obs = default_collate([obs]) - if self._cfg.collect_cuda: + if self._cfg.cuda: obs = to_device(obs, self._device) self._collect_model.eval() with torch.no_grad(): policy_output = self._collect_model.compute_logp_action(**obs) - if self._cfg.collect_cuda: + if self._cfg.cuda: policy_output = to_device(policy_output, self._device) policy_output = default_decollate(policy_output)[0] policy_output = self._data_postprocess_collect(policy_output, game_info) @@ -589,7 +594,7 @@ def _process_transition(self, next_obs, reward, done): 'selected_units_num': self._output['selected_units_num'], 'action_info': self._output['action_info'] } - if self._cfg.collect_cuda: + if self._cfg.cuda: teacher_obs = to_device(teacher_obs, 'cuda:0') teacher_model_input = default_collate([teacher_obs]) From 6c75891176a57b5b22397343ad3e6a6e6455fbb7 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 12 Jul 2022 12:13:31 +0800 Subject: [PATCH 194/229] not delete last episode when before append, the first step of newest episode has error --- ding/framework/middleware/functional/collector.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index b3c4dd1d50..7f8eff0ac0 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -126,8 +126,14 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: return return_episode # list of trajectories - def clear_newest_episode(self, env_id: int) -> None: - # Use it when env.step raise some error + def clear_newest_episode(self, env_id: int, before_append=False) -> None: + # Call this method when env.step raise some error + + # If call this method before append, and the last episode of this env is done, + # it means that the env had some error at the first step of the newest episode, + # and we should not delete the last episode because it is a normal episode. + if before_append == True and len(self._done_episode[env_id]) > 0 and self._done_episode[env_id][-1] == True: + return 0 if len(self._transitions[env_id]) > 0: newest_episode = self._transitions[env_id].pop() len_newest_episode = len(newest_episode) @@ -354,9 +360,9 @@ def _battle_rolloutor(ctx: "BattleContext"): # 1st case when env step has bug and need to reset. - # TODO(zms): if it is first step of the episode, do not delete the last episode in the TransitionList + # TODO(zms): if it is first step of the episode, do not delete the last episode in the TransitionList for policy_id, policy in enumerate(ctx.current_policies): - transitions_list[policy_id].clear_newest_episode(env_id) + transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) policy.reset(env.ready_obs[0][policy_id]) continue From 1f2bc17e5cc30db0122a43bfcc505d23db004bc2 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 12 Jul 2022 16:20:31 +0800 Subject: [PATCH 195/229] insert process transition into rolloutor, fix bug; move self._observation, self._output to make code more clear --- .../middleware/functional/collector.py | 23 ++++--- dizoo/distar/policy/distar_policy.py | 63 +++++++++++-------- ...test_league_actor_with_pretrained_model.py | 4 +- 3 files changed, 56 insertions(+), 34 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 7f8eff0ac0..0e632ed55e 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -3,6 +3,7 @@ from functools import reduce import treetensor.torch as ttorch from ding.envs import BaseEnvManager +from ding.envs.env.base_env import BaseEnvTimestep from ding.policy import Policy import torch from ding.utils import dicts_to_lists @@ -368,14 +369,22 @@ def _battle_rolloutor(ctx: "BattleContext"): episode_long_enough = True for policy_id, policy in enumerate(ctx.current_policies): - transition = policy.process_transition(timestep) - transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor( - [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] - ) + if timestep.obs.get(policy_id): + policy_timestep = BaseEnvTimestep( + obs=timestep.obs.get(policy_id), + reward=timestep.reward[policy_id], + done=timestep.done, + info=timestep.info[policy_id] + ) + transition = policy.process_transition(obs=None, model_output=None, timestep=policy_timestep) + transition = EasyDict(transition) + transition.collect_train_iter = ttorch.as_tensor( + [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] + ) + + # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len + episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) - # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len - episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) if timestep.done: policy.reset(env.ready_obs[0][policy_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 9470ab360e..3c396825e5 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -8,6 +8,7 @@ from functools import partial from copy import deepcopy import os.path as osp +from typing import Any from ding.model import model_wrap from ding.policy import Policy @@ -16,6 +17,7 @@ upgo_data, upgo_error from ding.utils import EasyTimer from ding.utils.data import default_collate, default_decollate +from ding.envs.env.base_env import BaseEnvTimestep from dizoo.distar.model import Model from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, DEFAULT_SPATIAL_SIZE, BEGINNING_ORDER_LENGTH, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS,\ Stat, parse_new_game, transform_obs, compute_battle_score @@ -110,7 +112,7 @@ class DIStarPolicy(Policy): ), grad_clip=dict(threshold=1.0, ), # collect - use_value_feature=True, # TODO(zms): whether to use value feature, this must be False when play against bot + use_value_feature=False, # TODO(zms): whether to use value feature, this must be False when play against bot zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z fake_reward_prob=0.0, # probablity which set Z to 0 zero_z_value=1, # value used for 0Z @@ -387,9 +389,11 @@ def _init_collect(self): self.clip_bo = self._cfg.clip_bo self.cum_type = 'action' # observation or action self.realtime = self._cfg.realtime - self.teacher_model = Model(self._cfg.model).eval() + self.teacher_model = model_wrap(Model(self._cfg.model), 'base') + if self._cfg.cuda: + self.teacher_model = self.teacher_model.cuda() teacher_model_path = osp.join(osp.dirname(__file__), self._cfg.teacher_model_path) - t_state_dict = torch.load(teacher_model_path, map_location='cpu') + t_state_dict = torch.load(teacher_model_path) teacher_state_dict = {k: v for k, v in t_state_dict['model'].items() if 'value_networks' not in k} self.teacher_model.load_state_dict(teacher_state_dict) # TODO(zms): load teacher_model's state_dict when init policy. @@ -407,8 +411,10 @@ def _reset_collect(self, data: Dict): self.last_targeted_unit_tag = None self.last_location = None # [x, y] self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - self._observation = None # TODO(zms): need to move to input and output of function - self._output = None # TODO(zms): need to move to input and output of function + # TODO(zms): need to move obs and policy_output inside rolloutor, but for each step, + # it is possible that only one policy in the two has observation and output, so for now just leave it here. + self.obs = None + self.policy_output = None self.model_last_iter = 0 self.game_step = 0 # step * 10 is game duration time self.behavior_building_order = [] # idx in BEGINNING_ORDER_ACTIONS @@ -465,6 +471,7 @@ def _reset_collect(self, data: Dict): def _forward_collect(self, data): obs, game_info = self._data_preprocess_collect(data) + self.obs = obs obs = default_collate([obs]) if self._cfg.cuda: obs = to_device(obs, self._device) @@ -476,8 +483,8 @@ def _forward_collect(self, data): if self._cfg.cuda: policy_output = to_device(policy_output, self._device) policy_output = default_decollate(policy_output)[0] - policy_output = self._data_postprocess_collect(policy_output, game_info) - return policy_output + self.policy_output = self._data_postprocess_collect(policy_output, game_info) + return self.policy_output def _data_preprocess_collect(self, data): if self._cfg.use_value_feature: @@ -529,8 +536,6 @@ def _data_preprocess_collect(self, data): else: obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value - self._observation = obs - # update stat self.stat.update(self.last_action_type, data['action_result'][0], obs, self.game_step) return obs, game_info @@ -541,7 +546,6 @@ def _data_postprocess_collect(self, data, game_info): self.last_action_type = data['action_info']['action_type'] self.last_delay = data['action_info']['delay'] self.last_location = data['action_info']['target_location'] - self._output = data action_type = self.last_action_type.item() action_attr = ACTIONS[action_type] @@ -581,29 +585,39 @@ def _data_postprocess_collect(self, data, game_info): return data - def _process_transition(self, next_obs, reward, done): + def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTimestep): + next_obs = timestep.obs + reward = timestep.reward + done = timestep.done behavior_z = self.get_behavior_z() bo_reward, cum_reward, battle_reward = self.update_fake_reward(next_obs) - agent_obs = self._observation + agent_obs = self.obs teacher_obs = { 'spatial_info': agent_obs['spatial_info'], 'entity_info': agent_obs['entity_info'], 'scalar_info': agent_obs['scalar_info'], 'entity_num': agent_obs['entity_num'], 'hidden_state': self.teacher_hidden_state, - 'selected_units_num': self._output['selected_units_num'], - 'action_info': self._output['action_info'] + 'selected_units_num': self.policy_output['selected_units_num'], + 'action_info': self.policy_output['action_info'] } - if self._cfg.cuda: - teacher_obs = to_device(teacher_obs, 'cuda:0') teacher_model_input = default_collate([teacher_obs]) - teacher_output = self.teacher_model.compute_teacher_logit(**teacher_model_input) + + if self._cfg.cuda: + teacher_model_input = to_device(teacher_model_input, self._device) + + self.teacher_model.eval() + with torch.no_grad(): + teacher_output = self.teacher_model.compute_teacher_logit(**teacher_model_input) + + if self._cfg.cuda: + teacher_output = to_device(teacher_output, self._device) teacher_output = self.decollate_output(teacher_output) self.teacher_hidden_state = teacher_output['hidden_state'] # gather step data - action_info = deepcopy(self._output['action_info']) + action_info = deepcopy(self.policy_output['action_info']) mask = dict() mask['actions_mask'] = deepcopy( { @@ -625,7 +639,7 @@ def _process_transition(self, next_obs, reward, done): mask['cum_action_mask'] = torch.tensor(1.0, dtype=torch.float) else: mask['built_unit_mask'] = torch.tensor(0.0, dtype=torch.float) - selected_units_num = self._output['selected_units_num'] + selected_units_num = self.policy_output['selected_units_num'] for k, v in mask['actions_mask'].items(): mask['actions_mask'][k] = torch.tensor(v, dtype=torch.long) step_data = { @@ -639,7 +653,7 @@ def _process_transition(self, next_obs, reward, done): 'selected_units_num': selected_units_num, 'hidden_state': self.hidden_state_backup, 'action_info': action_info, - 'behaviour_logp': self._output['action_logp'], + 'behaviour_logp': self.policy_output['action_logp'], 'teacher_logit': teacher_output['logit'], # 'successive_logit': deepcopy(teacher_output['logit']), 'reward': { @@ -735,19 +749,18 @@ def _update_fake_reward(self, action_type, location, next_obs): break elif self.cum_type == 'action': action_name = ACTIONS[action_type]['name'] - action_info = self._output['action_info'] + action_info = self.policy_output['action_info'] cum_flag = False if action_name == 'Cancel_quick' or action_name == 'Cancel_Last_quick': unit_index = action_info['selected_units'][0].item() - order_len = self._observation['entity_info']['order_length'][unit_index] + order_len = self.obs['entity_info']['order_length'][unit_index] if order_len == 0: action_index = 0 elif order_len == 1: - action_index = UNIT_ABILITY_TO_ACTION[self._observation['entity_info']['order_id_0'] - [unit_index].item()] + action_index = UNIT_ABILITY_TO_ACTION[self.obs['entity_info']['order_id_0'][unit_index].item()] elif order_len > 1: order_str = 'order_id_{}'.format(order_len - 1) - action_index = QUEUE_ACTIONS[self._observation['entity_info'][order_str][unit_index].item() - 1] + action_index = QUEUE_ACTIONS[self.obs['entity_info'][order_str][unit_index].item() - 1] if action_index in CUMULATIVE_STAT_ACTIONS: cum_flag = True cum_index = CUMULATIVE_STAT_ACTIONS.index(action_index) diff --git a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py index dfac92d6ac..f84d8bf0ad 100644 --- a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py +++ b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py @@ -20,10 +20,10 @@ from ding.framework.middleware.functional import ActorData from ding.framework.middleware.tests import DIStarMockPolicy from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar -def battle_rolloutor_for_distar(cfg, env, transitions_list, model_info_dict): +def battle_rolloutor_for_distar2(cfg, env, transitions_list, model_info_dict): def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) From 8dfa961d19c0abdc97793ee6abea8fbb632a742f Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 12 Jul 2022 16:59:26 +0800 Subject: [PATCH 196/229] fix bug of calling hamming_distance --- ding/torch_utils/__init__.py | 2 +- ding/torch_utils/metric.py | 29 ---------------------------- dizoo/distar/policy/distar_policy.py | 13 +++++++------ 3 files changed, 8 insertions(+), 36 deletions(-) diff --git a/ding/torch_utils/__init__.py b/ding/torch_utils/__init__.py index 9a0dfc5734..69f0891dd0 100644 --- a/ding/torch_utils/__init__.py +++ b/ding/torch_utils/__init__.py @@ -2,7 +2,7 @@ from .data_helper import to_device, to_tensor, to_ndarray, to_list, to_dtype, same_shape, tensor_to_list, \ build_log_buffer, CudaFetcher, get_tensor_data, unsqueeze, get_null_data, detach_grad, flatten from .distribution import CategoricalPd, CategoricalPdPytorch -from .metric import l2_distance, levenshtein_distance, hamming_distance, hamming_distance2 +from .metric import l2_distance, levenshtein_distance, hamming_distance from .network import * from .loss import * from .optimizer_helper import Adam, RMSprop, calculate_grad_norm, calculate_grad_norm_without_bias_two_norm diff --git a/ding/torch_utils/metric.py b/ding/torch_utils/metric.py index da213aadb7..827bee4634 100644 --- a/ding/torch_utils/metric.py +++ b/ding/torch_utils/metric.py @@ -85,32 +85,3 @@ def hamming_distance(pred: torch.LongTensor, target: torch.LongTensor, weight=1. assert (pred.device == target.device) assert (pred.shape == target.shape) return pred.ne(target).sum(dim=1).float().mul_(weight) - - -def hamming_distance2(behaviour, target): - r''' - Overview: - Hamming Distance - - Arguments: - Note: - behaviour, target are also boolean vector(0 or 1) - - - behaviour (:obj:`torch.LongTensor`): behaviour input, shape[B, N], while B is the batch size - - target (:obj:`torch.LongTensor`): target input, shape[B, N], while B is the batch size - - Returns: - - distance(:obj:`torch.LongTensor`): distance(scalar), the shape[1] - - Shapes: - - behaviour & target (:obj:`torch.LongTensor`): shape :math:`(B, N)`, \ - while B is the batch size and N is the dimension - - Test: - torch_utils/network/tests/test_metric.py - ''' - assert (isinstance(behaviour, torch.Tensor) and isinstance(target, torch.Tensor)) - assert behaviour.dtype == target.dtype, f'bahaviour_dtype: {behaviour.dtype}, target_dtype: {target.dtype}' - assert (behaviour.device == target.device) - assert (behaviour.shape == target.shape) - return behaviour.ne(target).sum(dim=-1).float() diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 3c396825e5..6e20b642f1 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -12,7 +12,7 @@ from ding.model import model_wrap from ding.policy import Policy -from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance2 as hamming_distance +from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ upgo_data, upgo_error from ding.utils import EasyTimer @@ -464,8 +464,9 @@ def _reset_collect(self, data: Dict): else: self.old_bo_reward = torch.tensor(0.) self.old_cum_reward = -hamming_distance( - torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.float), self.target_cumulative_stat - ) / self.cum_norm + torch.unsqueeze(torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.long), dim=0), + torch.unsqueeze(torch.as_tensor(self.target_cumulative_stat, dtype=torch.long), dim=0) + )[0] / self.cum_norm self.total_bo_reward = torch.zeros(size=(), dtype=torch.float) self.total_cum_reward = torch.zeros(size=(), dtype=torch.float) @@ -775,9 +776,9 @@ def _update_fake_reward(self, action_type, location, next_obs): if self.use_cum_reward and cum_flag and (self.cum_type == 'observation' or next_obs['action_result'][0] == 1): new_cum_reward = -hamming_distance( - torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.bool), - torch.as_tensor(self.target_cumulative_stat, dtype=torch.bool) - ) / self.cum_norm + torch.unsqueeze(torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.long), dim=0), + torch.unsqueeze(torch.as_tensor(self.target_cumulative_stat, dtype=torch.long), dim=0) + )[0] / self.cum_norm cum_reward = (new_cum_reward - self.old_cum_reward) * self._get_time_factor(self.game_step) self.old_cum_reward = new_cum_reward self.total_bo_reward += bo_reward From 4a01f3d8ced2b2f8851920fbadb3403a62f565ca Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 12 Jul 2022 18:26:33 +0800 Subject: [PATCH 197/229] fix bug when calling levenshtein_distance --- dizoo/distar/policy/distar_policy.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 6e20b642f1..d7218a253d 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -460,7 +460,7 @@ def _reset_collect(self, data: Dict): if not self.clip_bo: self.old_bo_reward = -levenshtein_distance( torch.as_tensor(self.behavior_building_order, dtype=torch.long), self.target_building_order - ) / self.bo_norm + )[0] / self.bo_norm else: self.old_bo_reward = torch.tensor(0.) self.old_cum_reward = -hamming_distance( @@ -666,12 +666,14 @@ def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTim }, 'step': torch.tensor(self.game_step, dtype=torch.float), 'mask': mask, + 'done': done } ##TODO: add value feature if self._cfg.use_value_feature: step_data['value_feature'] = agent_obs['value_feature'] step_data['value_feature'].update(behavior_z) self.hidden_state_backup = self.hidden_state + return step_data def get_behavior_z(self): bo = self.behavior_building_order + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_building_order)) @@ -722,13 +724,13 @@ def _update_fake_reward(self, action_type, location, next_obs): else: tz = self.target_building_order tz_lo = self.target_bo_location - new_bo_dist = -levenshtein_distance( #TODO(nyz): merge levenshtein_distance of DI-star and DI-engine to the same - torch.as_tensor(self.behavior_building_order, dtype=torch.int), - torch.as_tensor(tz, dtype=torch.int), + new_bo_dist = -levenshtein_distance( + torch.as_tensor(self.behavior_building_order, dtype=torch.long), + torch.as_tensor(tz, dtype=torch.long), torch.as_tensor(self.behavior_bo_location, dtype=torch.int), torch.as_tensor(tz_lo, dtype=torch.int), partial(l2_distance, spatial_x=DEFAULT_SPATIAL_SIZE[1]) - ) / self.bo_norm + )[0] / self.bo_norm bo_reward = new_bo_dist - self.old_bo_reward self.old_bo_reward = new_bo_dist From b06d6d8f07fad396d45ad8b91390e77c5125ff05 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Wed, 13 Jul 2022 21:25:58 +0800 Subject: [PATCH 198/229] fix bug of dimension selected_units --- dizoo/distar/policy/distar_policy.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index d7218a253d..b9126d91af 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -604,6 +604,11 @@ def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTim } teacher_model_input = default_collate([teacher_obs]) + if teacher_model_input['action_info'].get('selected_units') is not None and teacher_model_input['action_info'][ + 'selected_units'].shape == torch.Size([1]): + teacher_model_input['action_info']['selected_units'] = torch.unsqueeze( + teacher_model_input['action_info']['selected_units'], dim=0 + ) if self._cfg.cuda: teacher_model_input = to_device(teacher_model_input, self._device) From 0aedb778543df2375e9fafb89a8b7021d1e332ef Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 14 Jul 2022 19:36:08 +0800 Subject: [PATCH 199/229] changes to run the whole pipeline from sl_model --- .../framework/middleware/functional/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 6 ------ .../middleware/tests/test_league_pipeline.py | 2 +- dizoo/distar/policy/distar_policy.py | 16 ++++++++++++++-- 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 0e632ed55e..67166847d2 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -111,7 +111,7 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: for i in range(num_complele_trajectory): trajectory = episode[i * self._unroll_len:(i + 1) * self._unroll_len] # TODO(zms): 测试专用,之后去掉 - trajectory.append(rl_step_data(last=True)) + # trajectory.append(rl_step_data(last=True)) return_episode.append(trajectory) if num_tail_transitions > 0: @@ -122,7 +122,7 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: initial_elements.append(trajectory[0]) trajectory = initial_elements + trajectory # TODO(zms): 测试专用,之后去掉 - trajectory.append(rl_step_data(last=True)) + # trajectory.append(rl_step_data(last=True)) return_episode.append(trajectory) return return_episode # list of trajectories diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 01289bf6d4..1df7e53cce 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -139,12 +139,6 @@ def __call__(self, ctx: "BattleContext"): main_player, ctx.current_policies = self._get_current_policies(job) - #TODO(zms): only for test pretrained model - rl_model = torch.load('./rl_model.pth') - for policy in ctx.current_policies: - policy.load_state_dict(rl_model) - print('load state_dict okay') - ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( task.router.node_id diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index be63e30e66..212f5e63b1 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -65,7 +65,7 @@ def policy_fn(cls): @classmethod def collect_policy_fn(cls): - policy = DIStarMockPolicyCollect() + policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) return policy diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index b9126d91af..e5913d800e 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -120,6 +120,7 @@ class DIStarPolicy(Policy): clip_bo=False, # clip the length of teacher's building order to agent's length z_path='7map_filter_spine.json', realtime=False, #TODO(zms): set from env, need to use only one cfg define policy and env + model_path='sl_model.pth', teacher_model_path='sl_model.pth', ) @@ -141,6 +142,11 @@ def _create_model( def _init_learn(self): self._learn_model = model_wrap(self._model, 'base') + # TODO(zms): maybe initialize state_dict inside learner + learn_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) + learn_state_dict = torch.load(learn_model_path) + self._load_state_dict_learn(learn_state_dict) + self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] # policy parameters self.gammas = self._cfg.gammas @@ -362,8 +368,9 @@ def _state_dict(self) -> Dict: } def _load_state_dict_learn(self, _state_dict: Dict) -> None: - self._learn_model.load_state_dict(_state_dict['model']) - self.optimizer.load_state_dict(_state_dict['optimizer']) + self._learn_model.load_state_dict(_state_dict['model'], strict=False) + if 'optimizer' in _state_dict: + self.optimizer.load_state_dict(_state_dict['optimizer']) def _load_state_dict_collect(self, _state_dict: Dict) -> None: #TODO(zms): need to load state_dict after collect, which is very dirty and need to rewrite @@ -379,6 +386,11 @@ def _load_state_dict_collect(self, _state_dict: Dict) -> None: def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') + # TODO(zms): maybe initialize state_dict inside actor + collect_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) + collect_state_dict = torch.load(collect_model_path) + self._load_state_dict_collect(collect_state_dict) + self.only_cum_action_kl = False self.z_path = self._cfg.z_path self.z_idx = None From 1dfda4235fe6af922452f2bad974c0443fc511fd Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 19 Jul 2022 13:45:07 +0800 Subject: [PATCH 200/229] changes to run the winrate test --- dizoo/distar/policy/distar_policy.py | 2 +- .../test_league_actor_with_pretrained_model.py | 16 +++++++++------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index e5913d800e..9142c3cf59 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -28,7 +28,7 @@ class DIStarPolicy(Policy): config = dict( type='distar', on_policy=False, - cuda=True, + cuda=False, learning_rate=1e-5, model=dict(), # learn diff --git a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py index f84d8bf0ad..cd1775bb08 100644 --- a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py +++ b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py @@ -6,6 +6,7 @@ from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv +from dizoo.distar.policy.distar_policy import DIStarPolicy from ding.envs import EnvSupervisor from ding.league.player import PlayerMeta @@ -18,7 +19,6 @@ from ding.framework.supervisor import ChildType from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData -from ding.framework.middleware.tests import DIStarMockPolicy from ding.framework.middleware.league_learner import LearnerModel from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar @@ -51,8 +51,8 @@ def _battle_rolloutor(ctx: "BattleContext"): env_cfg = dict( actor=dict(job_type='train', ), env=dict( - map_name='KingsCove', - player_ids=['agent1', 'bot10'], + map_name='random', + player_ids=['agent1', 'bot7'], races=['zerg', 'zerg'], map_size_resolutions=[True, True], # if True, ignore minimap_resolutions minimap_resolutions=[[160, 152], [160, 152]], @@ -93,13 +93,13 @@ def get_env_supervisor(cls): @classmethod def learn_policy_fn(cls): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) return policy @classmethod def collect_policy_fn(cls): # policy = DIStarMockPolicyCollect() - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) return policy @@ -112,7 +112,6 @@ def collect_policy_fn(cls): @pytest.mark.unittest def test_league_actor(): with task.start(async_mode=True, ctx=BattleContext()): - policy = PrepareTest.learn_policy_fn().learn_mode def test_actor(): job = Job( @@ -148,6 +147,9 @@ def on_actor_job(job_: Job): total_games, win_games, draw_games, loss_games ) ) + if total_games >= 100: + task.finish = True + exit(0) def on_actor_data(actor_data): print('got actor_data') @@ -175,4 +177,4 @@ def _test_actor(ctx): if __name__ == '__main__': - test_league_actor() + test_league_actor() \ No newline at end of file From 3d194367b55b995b807bc35f27db45f4f52c7f0c Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Tue, 19 Jul 2022 13:59:05 +0800 Subject: [PATCH 201/229] changes to make whole pipeline running bug freely --- .../middleware/functional/collector.py | 14 ++- .../middleware/tests/mock_for_test.py | 2 +- .../middleware/tests/test_league_pipeline.py | 5 +- .../tests/test_league_pipeline_fake_data.py | 108 ++++++++++++++++++ dizoo/distar/policy/distar_policy.py | 13 ++- 5 files changed, 132 insertions(+), 10 deletions(-) create mode 100644 ding/framework/middleware/tests/test_league_pipeline_fake_data.py diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 67166847d2..334f244ccc 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -15,6 +15,7 @@ from collections import deque from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories from dizoo.distar.envs.fake_data import rl_step_data +from copy import deepcopy from ditk import logging @@ -111,7 +112,10 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: for i in range(num_complele_trajectory): trajectory = episode[i * self._unroll_len:(i + 1) * self._unroll_len] # TODO(zms): 测试专用,之后去掉 - # trajectory.append(rl_step_data(last=True)) + last_step = deepcopy(trajectory[-1]) + for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: + last_step.pop(k) + trajectory.append(last_step) return_episode.append(trajectory) if num_tail_transitions > 0: @@ -122,7 +126,10 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: initial_elements.append(trajectory[0]) trajectory = initial_elements + trajectory # TODO(zms): 测试专用,之后去掉 - # trajectory.append(rl_step_data(last=True)) + last_step = deepcopy(trajectory[-1]) + for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: + last_step.pop(k) + trajectory.append(last_step) return_episode.append(trajectory) return return_episode # list of trajectories @@ -385,7 +392,8 @@ def _battle_rolloutor(ctx: "BattleContext"): # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) - if timestep.done: + if timestep.done: + for policy_id, policy in enumerate(ctx.current_policies): policy.reset(env.ready_obs[0][policy_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 7b75dda960..b4b7769ef2 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -226,7 +226,7 @@ def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: return return_data - def process_transition(self, timestep) -> dict: + def process_transition(self, obs, model_output, timestep) -> dict: step_data = rl_step_data() step_data['done'] = timestep.done return step_data diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 212f5e63b1..2a8da3d101 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -14,6 +14,7 @@ from dizoo.distar.config import distar_cfg from dizoo.distar.envs.distar_env import DIStarEnv from unittest.mock import patch +from dizoo.distar.policy.distar_policy import DIStarPolicy env_cfg = dict( actor=dict(job_type='train', ), @@ -60,12 +61,12 @@ def get_env_supervisor(cls): @classmethod def policy_fn(cls): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) return policy @classmethod def collect_policy_fn(cls): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) return policy diff --git a/ding/framework/middleware/tests/test_league_pipeline_fake_data.py b/ding/framework/middleware/tests/test_league_pipeline_fake_data.py new file mode 100644 index 0000000000..2684a9f2fe --- /dev/null +++ b/ding/framework/middleware/tests/test_league_pipeline_fake_data.py @@ -0,0 +1,108 @@ +import logging +import pytest +from easydict import EasyDict +from copy import deepcopy +from ding.data import DequeBuffer +from ding.envs import BaseEnvManager, EnvSupervisor +from ding.framework.supervisor import ChildType +from ding.framework.context import BattleContext +from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner +from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect +from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar +from ding.framework.task import task, Parallel +from ding.league.v2 import BaseLeague +from dizoo.distar.config import distar_cfg +from dizoo.distar.envs.distar_env import DIStarEnv +from unittest.mock import patch +from dizoo.distar.policy.distar_policy import DIStarPolicy + +env_cfg = dict( + actor=dict(job_type='train', ), + env=dict( + map_name='KingsCove', + player_ids=['agent1', 'agent2'], + races=['zerg', 'zerg'], + map_size_resolutions=[True, True], # if True, ignore minimap_resolutions + minimap_resolutions=[[160, 152], [160, 152]], + realtime=False, + replay_dir='.', + random_seed='none', + game_steps_per_episode=100000, + update_bot_obs=False, + save_replay_episodes=1, + update_both_obs=False, + version='4.10.0', + ), +) +env_cfg = EasyDict(env_cfg) +cfg = deepcopy(distar_cfg) + + +class PrepareTest(): + + @classmethod + def get_env_fn(cls): + return DIStarEnv(env_cfg) + + @classmethod + def get_env_supervisor(cls): + for _ in range(10): + try: + env = EnvSupervisor( + type_=ChildType.THREAD, + env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], + **cfg.env.manager + ) + env.seed(cfg.seed) + return env + except Exception as e: + print(e) + continue + + @classmethod + def policy_fn(cls): + policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) + return policy + + @classmethod + def collect_policy_fn(cls): + policy = DIStarMockPolicyCollect() + return policy + + +def main(): + logging.getLogger().setLevel(logging.INFO) + league = BaseLeague(cfg.policy.other.league) + N_PLAYERS = len(league.active_players_ids) + print("League: n_players =", N_PLAYERS) + + with task.start(async_mode=True, ctx=BattleContext()),\ + patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ + patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): + print("node id:", task.router.node_id) + if task.router.node_id == 0: + task.use(LeagueCoordinator(cfg, league)) + elif task.router.node_id <= N_PLAYERS: + cfg.policy.collect.unroll_len = 1 + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + player = league.active_players[task.router.node_id % N_PLAYERS] + + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + policy = PrepareTest.policy_fn() + + task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) + task.use(data_pusher(cfg, buffer_)) + task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + else: + task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) + + task.run() + + +@pytest.mark.unittest +def test_league_pipeline(): + Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(main) + + +if __name__ == "__main__": + Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(main) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index e5913d800e..09ccd3d6ae 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -28,7 +28,7 @@ class DIStarPolicy(Policy): config = dict( type='distar', on_policy=False, - cuda=True, + cuda=False, learning_rate=1e-5, model=dict(), # learn @@ -555,9 +555,12 @@ def _data_preprocess_collect(self, data): def _data_postprocess_collect(self, data, game_info): self.hidden_state = data['hidden_state'] - self.last_queued = data['action_info']['queued'] - self.last_action_type = data['action_info']['action_type'] - self.last_delay = data['action_info']['delay'] + assert data['action_info']['queued'].shape == torch.Size([1]), data['action_info']['queued'] + self.last_queued = data['action_info']['queued'][0] + assert data['action_info']['action_type'].shape == torch.Size([1]), data['action_info']['action_type'] + self.last_action_type = data['action_info']['action_type'][0] + assert data['action_info']['action_type'].shape == torch.Size([1]), data['action_info']['delay'] + self.last_delay = data['action_info']['delay'][0] self.last_location = data['action_info']['target_location'] action_type = self.last_action_type.item() @@ -678,6 +681,8 @@ def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTim 'winloss': torch.tensor(reward, dtype=torch.float), 'build_order': bo_reward, 'built_unit': cum_reward, + 'effect': torch.randint(-1, 1, size=(), dtype=torch.float), + 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), # 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), 'battle': battle_reward, }, From 206b293d3bb5af372f97c74e9f410471d301f797 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Tue, 23 Aug 2022 18:40:22 +0800 Subject: [PATCH 202/229] feature(zms):updates for distar --- ding/framework/middleware/collector.py | 42 +++++--- .../middleware/functional/trainer.py | 6 +- ding/framework/middleware/league_actor.py | 102 +++++++++++++----- .../middleware/league_coordinator.py | 21 +++- ding/framework/middleware/league_learner.py | 12 +-- .../middleware/tests/test_league_learner.py | 4 +- .../middleware/tests/test_league_pipeline.py | 46 +++++--- .../tests/test_league_pipeline_fake_data.py | 10 +- ding/framework/parallel.py | 27 ++++- ding/league/algorithm.py | 2 +- ding/league/starcraft_player.py | 11 ++ ding/league/v2/base_league.py | 3 + ding/torch_utils/network/__init__.py | 2 +- .../torch_utils/network/scatter_connection.py | 26 +++++ dizoo/distar/config/distar_config.py | 19 ++-- dizoo/distar/envs/__init__.py | 2 +- dizoo/distar/envs/fake_data.py | 10 +- .../model/actor_critic_default_config.yaml | 6 +- .../distar/model/obs_encoder/value_encoder.py | 10 +- dizoo/distar/policy/distar_policy.py | 91 ++++++++++++---- dizoo/distar/policy/test_distar_policy.py | 4 +- dizoo/distar/policy/utils.py | 2 +- 22 files changed, 335 insertions(+), 123 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 166bad50be..02ed30d403 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,14 +14,14 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext -WAIT_MODEL_TIME = 600000 +WAIT_MODEL_TIME = float('inf') class BattleStepCollector: def __init__( self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, model_info_dict: Dict, - all_policies: Dict, agent_num: int + player_policy_collect_dict: Dict, agent_num: int ): self.cfg = cfg self.end_flag = False @@ -33,7 +33,7 @@ def __init__( self.unroll_len = unroll_len self.model_dict = model_dict self.model_info_dict = model_info_dict - self.all_policies = all_policies + self.player_policy_collect_dict = player_policy_collect_dict self.agent_num = agent_num self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) @@ -55,19 +55,23 @@ def __del__(self) -> None: self.end_flag = True self.env.close() - def _update_policies(self, player_id_list) -> None: - for player_id in player_id_list: + def _update_policies(self, player_id_set) -> None: + for player_id in player_id_set: # for this player, in the beginning of actor's lifetime, actor didn't recieve any new model, use initial model instead. if self.model_info_dict.get(player_id) is None: self.model_info_dict[player_id] = PlayerModelInfo( get_new_model_time=time.time(), update_new_model_time=None ) + update_player_id_set = set() + for player_id in player_id_set: + if 'historical' not in player_id: + update_player_id_set.add(player_id) while True: time_now = time.time() - time_list = [time_now - self.model_info_dict[player_id].get_new_model_time for player_id in player_id_list] + time_list = [time_now - self.model_info_dict[player_id].get_new_model_time for player_id in update_player_id_set] if any(x >= WAIT_MODEL_TIME for x in time_list): - for index, player_id in enumerate(player_id_list): + for index, player_id in enumerate(update_player_id_set): if time_list[index] >= WAIT_MODEL_TIME: #TODO: log_every_sec can only print the first model that not updated log_every_sec( @@ -80,12 +84,12 @@ def _update_policies(self, player_id_list) -> None: else: break - for player_id in player_id_list: + for player_id in update_player_id_set: if self.model_dict.get(player_id) is None: continue else: learner_model = self.model_dict.get(player_id) - policy = self.all_policies.get(player_id) + policy = self.player_policy_collect_dict.get(player_id) assert policy, "for player{}, policy should have been initialized already" # update policy model policy.load_state_dict(learner_model.state_dict) @@ -113,9 +117,17 @@ def __call__(self, ctx: "BattleContext") -> None: # TODO(zms): only runnable when 1 actor has exactly one env, need to write more general for policy_id, policy in enumerate(ctx.current_policies): policy.reset(self.env.ready_obs[0][policy_id]) - self._update_policies(ctx.player_id_list) - self._battle_inferencer(ctx) - self._battle_rolloutor(ctx) + self._update_policies(set(ctx.player_id_list)) + try: + self._battle_inferencer(ctx) + self._battle_rolloutor(ctx) + except Exception as e: + # TODO(zms): need to handle the exception cleaner + logging.error("[Actor {}] got an exception: {} when collect data".format(task.router.node_id, e)) + self.env.close() + for env_id in range(self.env_num): + for policy_id, policy in enumerate(ctx.current_policies): + self._transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) self.total_envstep_count = ctx.total_envstep_count @@ -135,7 +147,7 @@ def __call__(self, ctx: "BattleContext") -> None: # class BattleEpisodeCollector: # def __init__( -# self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, all_policies: Dict, +# self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, player_policy_collect_dict: Dict, # agent_num: int # ): # self.cfg = cfg @@ -147,7 +159,7 @@ def __call__(self, ctx: "BattleContext") -> None: # self.total_envstep_count = 0 # self.n_rollout_samples = n_rollout_samples # self.model_dict = model_dict -# self.all_policies = all_policies +# self.player_policy_collect_dict = player_policy_collect_dict # self.agent_num = agent_num # self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) @@ -171,7 +183,7 @@ def __call__(self, ctx: "BattleContext") -> None: # continue # else: # learner_model = self.model_dict.get(player_id) -# policy = self.all_policies.get(player_id) +# policy = self.player_policy_collect_dict.get(player_id) # assert policy, "for player {}, policy should have been initialized already".format(player_id) # # update policy model # policy.load_state_dict(learner_model.state_dict) diff --git a/ding/framework/middleware/functional/trainer.py b/ding/framework/middleware/functional/trainer.py index 5c7f99467b..27be583dd1 100644 --- a/ding/framework/middleware/functional/trainer.py +++ b/ding/framework/middleware/functional/trainer.py @@ -5,9 +5,7 @@ from ding.policy import Policy from ding.framework import task -if TYPE_CHECKING: - from ding.framework import OnlineRLContext, OfflineRLContext - +from ding.framework import OnlineRLContext, OfflineRLContext, BattleContext def trainer(cfg: EasyDict, policy: Policy) -> Callable: """ @@ -18,7 +16,7 @@ def trainer(cfg: EasyDict, policy: Policy) -> Callable: - policy (:obj:`Policy`): The policy to be trained in step-by-step mode. """ - def _train(ctx: Union["OnlineRLContext", "OfflineRLContext"]): + def _train(ctx: Union["OnlineRLContext", "OfflineRLContext", "BattleContext"]): """ Input of ctx: - train_data (:obj:`Dict`): The data used to update the network. It will train only if \ diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 1df7e53cce..02a202c709 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -5,6 +5,7 @@ import time from ditk import logging import torch +import gc from ding.policy import Policy from ding.framework import task, EventEnum @@ -28,14 +29,21 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.policy_fn = policy_fn self.unroll_len = self.cfg.policy.collect.unroll_len self._collectors: Dict[str, BattleStepCollector] = {} - self.all_policies: Dict[str, "Policy.collect_function"] = {} + self.player_policy_dict: Dict[str, "Policy"] = {} + self.player_policy_collect_dict: Dict[str, "Policy.collect_function"] = {} + task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) + self.job_queue = queue.Queue() self.model_dict = {} self.model_dict_lock = Lock() self.model_info_dict = {} + self.traj_num = 0 + self.total_time = 0 + self.total_episode_num = 0 + self.agent_num = 2 self.collect_time = {} @@ -73,23 +81,43 @@ def _get_collector(self, player_id: str): collector = task.wrap( BattleStepCollector( cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.model_info_dict, - self.all_policies, self.agent_num + self.player_policy_collect_dict, self.agent_num ) ) self._collectors[player_id] = collector self.collect_time[player_id] = 0 return collector - def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": + def _get_policy(self, player: "PlayerMeta", duplicate: bool = False) -> "Policy.collect_function": player_id = player.player_id - if self.all_policies.get(player_id): - return self.all_policies.get(player_id) - policy: "Policy.collect_function" = self.policy_fn().collect_mode - self.all_policies[player_id] = policy - if "historical" in player.player_id: - policy.load_state_dict(player.checkpoint.load()) - return policy + if self.player_policy_collect_dict.get(player_id): + player_policy_collect_mode = self.player_policy_collect_dict.get(player_id) + if duplicate is False: + return player_policy_collect_mode + else: + player_policy = self.player_policy_dict.get(player_id) + duplicate_policy: "Policy.collect_function" = self.policy_fn() + del duplicate_policy._collect_model + del duplicate_policy.teacher_model + duplicate_policy._collect_model = player_policy._collect_model + duplicate_policy.teacher_model = player_policy.teacher_model + return duplicate_policy.collect_mode + else: + policy: "Policy.collect_function" = self.policy_fn() + self.player_policy_dict[player_id] = policy + + policy_collect_mode = policy.collect_mode + self.player_policy_collect_dict[player_id] = policy_collect_mode + if "historical" in player.player_id: + print( + '[Actor {}] recieved historical player {}, checkpoint.path is {}'.format( + task.router.node_id, player.player_id, player.checkpoint.path + ) + ) + policy_collect_mode.load_state_dict(player.checkpoint.load()) + + return policy_collect_mode def _get_job(self): if self.job_queue.empty(): @@ -106,8 +134,13 @@ def _get_job(self): def _get_current_policies(self, job): current_policies = [] main_player: "PlayerMeta" = None + player_set = set() for player in job.players: - current_policies.append(self._get_policy(player)) + if player.player_id not in player_set: + current_policies.append(self._get_policy(player, duplicate=False)) + player_set.add(player.player_id) + else: + current_policies.append(self._get_policy(player, duplicate=True)) if player.player_id == job.launch_player: main_player = player assert main_player, "[Actor {}] can not find active player.".format(task.router.node_id) @@ -128,6 +161,7 @@ def __call__(self, ctx: "BattleContext"): job = self._get_job() if job is None: return + print('[Actor {}] recieve job {}'.format(task.router.node_id, job)) log_every_sec( logging.INFO, 5, '[Actor {}] job of player {} begins.'.format(task.router.node_id, job.launch_player) ) @@ -160,10 +194,7 @@ def __call__(self, ctx: "BattleContext"): for idx in main_player_idx: if not job.is_eval and len(ctx.trajectories_list[idx]) > 0: trajectories = ctx.trajectories_list[idx] - log_every_sec( - logging.INFO, 5, - '[Actor {}] send {} trajectories.'.format(task.router.node_id, len(trajectories)) - ) + self.traj_num += len(trajectories) meta_data = ActorDataMeta( player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, @@ -171,22 +202,26 @@ def __call__(self, ctx: "BattleContext"): ) actor_data = ActorData(meta=meta_data, train_data=trajectories) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) - log_every_sec(logging.INFO, 5, '[Actor {}] send data\n'.format(task.router.node_id)) ctx.trajectories_list = [] + time_end = time.time() + self.total_time += time_end - time_begin + log_every_sec( + logging.INFO, 5, + '[Actor {}] sent {} trajectories till now, total trajectory send speed is {} traj/s'.format( + task.router.node_id, + self.traj_num, + self.traj_num / self.total_time, + ) + ) + self.collect_time[job.launch_player] += time_end - time_begin total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ job.launch_player] != 0 else 0 envstep_passed = ctx.total_envstep_count - old_envstep real_time_speed = envstep_passed / (time_end - time_begin) - log_every_sec( - logging.INFO, 5, - '[Actor {}] total_env_step: {}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' - .format( - task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed - ) - ) + gc.collect() if ctx.job_finish is True: job.result = [] @@ -197,6 +232,17 @@ def __call__(self, ctx: "BattleContext"): ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) break + self.total_episode_num += ctx.env_episode + logging.info( + '[Actor {}] finish {} episodes till now, speed is {} episode/s'.format( + task.router.node_id, self.total_episode_num, self.total_episode_num / self.total_time + ) + ) + logging.info( + '[Actor {}] sent {} trajectories till now, the episode trajectory speed is {} traj/episode'.format( + task.router.node_id, self.traj_num, self.traj_num / self.total_episode_num + ) + ) # class LeagueActor: @@ -208,7 +254,7 @@ def __call__(self, ctx: "BattleContext"): # self.policy_fn = policy_fn # self.n_rollout_samples = self.cfg.policy.collect.n_rollout_samples # self._collectors: Dict[str, BattleEpisodeCollector] = {} -# self.all_policies: Dict[str, "Policy.collect_function"] = {} +# self.player_policy_collect_dict: Dict[str, "Policy.collect_function"] = {} # task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) # task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) # self.job_queue = queue.Queue() @@ -239,7 +285,7 @@ def __call__(self, ctx: "BattleContext"): # env = self.env_fn() # collector = task.wrap( # BattleEpisodeCollector( -# cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.all_policies, +# cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.player_policy_collect_dict, # self.agent_num # ) # ) @@ -249,10 +295,10 @@ def __call__(self, ctx: "BattleContext"): # def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": # player_id = player.player_id -# if self.all_policies.get(player_id): -# return self.all_policies.get(player_id) +# if self.player_policy_collect_dict.get(player_id): +# return self.player_policy_collect_dict.get(player_id) # policy: "Policy.collect_function" = self.policy_fn().collect_mode -# self.all_policies[player_id] = policy +# self.player_policy_collect_dict[player_id] = policy # if "historical" in player.player_id: # policy.load_state_dict(player.checkpoint.load()) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 9c269f434a..0cd1b7b69c 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -1,5 +1,5 @@ from collections import defaultdict -from time import sleep +from time import sleep, time from threading import Lock from dataclasses import dataclass from typing import TYPE_CHECKING @@ -22,8 +22,11 @@ def __init__(self, cfg: "EasyDict", league: "BaseLeague") -> None: self.league = league self._lock = Lock() self._total_send_jobs = 0 + self._total_recv_jobs = 0 self._eval_frequency = 10 self._running_jobs = dict() + self._last_collect_time = None + self._total_collect_time = None task.on(EventEnum.ACTOR_GREETING, self._on_actor_greeting) task.on(EventEnum.LEARNER_SEND_META, self._on_learner_meta) @@ -31,6 +34,10 @@ def __init__(self, cfg: "EasyDict", league: "BaseLeague") -> None: def _on_actor_greeting(self, actor_id): logging.info("[Coordinator {}] recieve actor {} greeting".format(task.router.node_id, actor_id)) + if self._last_collect_time is None: + self._last_collect_time = time() + if self._total_collect_time is None: + self._total_collect_time = 0 with self._lock: player_num = len(self.league.active_players_ids) player_id = self.league.active_players_ids[self._total_send_jobs % player_num] @@ -52,8 +59,16 @@ def _on_learner_meta(self, player_meta: "PlayerMeta"): self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): + self._total_recv_jobs += 1 + old_time = self._last_collect_time + self._last_collect_time = time() + self._total_collect_time += self._last_collect_time - old_time logging.info( - "[Coordinator {}] recieve actor finished job, player {}".format(task.router.node_id, job.launch_player) + "[Coordinator {}] recieve actor finished job, player {}, recieve {} jobs in total, collect job speed is {} s/job" + .format( + task.router.node_id, job.launch_player, self._total_recv_jobs, + self._total_collect_time / self._total_recv_jobs + ) ) self.league.update_payoff(job) @@ -63,5 +78,5 @@ def __del__(self): def __call__(self, ctx: "Context") -> None: sleep(1) log_every_sec( - logging.INFO, 30, "[Coordinator {}] running jobs {}".format(task.router.node_id, self._running_jobs) + logging.INFO, 600, "[Coordinator {}] running jobs {}".format(task.router.node_id, self._running_jobs) ) diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 413ee62980..409e68647d 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -16,7 +16,7 @@ if TYPE_CHECKING: from ding.policy import Policy - from ding.framework import Context + from ding.framework import Context, BattleContext from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer @@ -32,7 +32,7 @@ class LeagueLearnerCommunicator: def __init__(self, cfg: dict, policy: "Policy", player: "ActivePlayer") -> None: self.cfg = cfg - self._cache = deque(maxlen=50) + self._cache = deque(maxlen=20) self.player = player self.player_id = player.player_id self.policy = policy @@ -54,13 +54,13 @@ def _push_data(self, data: "ActorData"): # else: # self._cache.append(data.train_data) - def __call__(self, ctx: "Context"): - log_every_sec(logging.INFO, 5, "[Learner {}] pour data into the ctx".format(task.router.node_id)) + def __call__(self, ctx: "BattleContext"): + # log_every_sec(logging.INFO, 5, "[Learner {}] pour data into the ctx".format(task.router.node_id)) ctx.trajectories = list(self._cache) self._cache.clear() - sleep(0.1) + sleep(0.0001) yield - log_every_sec(logging.INFO, 5, "[Learner {}] ctx.train_iter {}".format(task.router.node_id, ctx.train_iter)) + log_every_sec(logging.INFO, 20, "[Learner {}] ctx.train_iter {}".format(task.router.node_id, ctx.train_iter)) self.player.total_agent_step = ctx.train_iter if self.player.is_trained_enough(): logging.info('{1} [Learner {0}] trained enough! {1} \n\n'.format(task.router.node_id, "-" * 40)) diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 1d79847dac..0410201715 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -17,7 +17,7 @@ from ding.league.v2 import BaseLeague from ding.utils import log_every_sec from dizoo.distar.config import distar_cfg -from dizoo.distar.envs import fake_rl_data_batch_with_last +from dizoo.distar.envs import fake_rl_traj_with_last from dizoo.distar.envs.distar_env import DIStarEnv from distar.ctools.utils import read_config @@ -66,7 +66,7 @@ def _actor_mocker(ctx): log_every_sec(logging.INFO, 5, "Actor: actor player: {}".format(player.player_id)) for _ in range(24): meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) - data = fake_rl_data_batch_with_last() + data = fake_rl_traj_with_last() actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) sleep(9) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py index 2a8da3d101..63ce241237 100644 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ b/ding/framework/middleware/tests/test_league_pipeline.py @@ -15,6 +15,7 @@ from dizoo.distar.envs.distar_env import DIStarEnv from unittest.mock import patch from dizoo.distar.policy.distar_policy import DIStarPolicy +from ding.data.buffer.middleware import use_time_check env_cfg = dict( actor=dict(job_type='train', ), @@ -70,32 +71,49 @@ def collect_policy_fn(cls): return policy +def coordinator(): + coordinator_league = BaseLeague(cfg.policy.other.league) + task.use(LeagueCoordinator(cfg, coordinator_league)) + + +def learner(): + league = BaseLeague(cfg.policy.other.league) + N_PLAYERS = len(league.active_players_ids) + + cfg.policy.collect.unroll_len = 1 + player = league.active_players[task.router.node_id % N_PLAYERS] + del league + + buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + buffer_.use(use_time_check(buffer_, max_use=cfg.policy.other.replay_buffer.max_use)) + policy = PrepareTest.policy_fn() + + task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) + task.use(data_pusher(cfg, buffer_)) + task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + + +def actor(): + task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) + + def main(): logging.getLogger().setLevel(logging.INFO) league = BaseLeague(cfg.policy.other.league) N_PLAYERS = len(league.active_players_ids) + del league print("League: n_players =", N_PLAYERS) - with task.start(async_mode=True, ctx=BattleContext()),\ + with task.start(async_mode=False, ctx=BattleContext()),\ patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): print("node id:", task.router.node_id) if task.router.node_id == 0: - task.use(LeagueCoordinator(cfg, league)) + coordinator() elif task.router.node_id <= N_PLAYERS: - cfg.policy.collect.unroll_len = 1 - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - player = league.active_players[task.router.node_id % N_PLAYERS] - - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - policy = PrepareTest.policy_fn() - - task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) - task.use(data_pusher(cfg, buffer_)) - task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) + learner() else: - task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) - + actor() task.run() diff --git a/ding/framework/middleware/tests/test_league_pipeline_fake_data.py b/ding/framework/middleware/tests/test_league_pipeline_fake_data.py index 2684a9f2fe..a9eabe4d02 100644 --- a/ding/framework/middleware/tests/test_league_pipeline_fake_data.py +++ b/ding/framework/middleware/tests/test_league_pipeline_fake_data.py @@ -15,6 +15,7 @@ from dizoo.distar.envs.distar_env import DIStarEnv from unittest.mock import patch from dizoo.distar.policy.distar_policy import DIStarPolicy +from ding.data.buffer.middleware import use_time_check env_cfg = dict( actor=dict(job_type='train', ), @@ -81,13 +82,14 @@ def main(): patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): print("node id:", task.router.node_id) if task.router.node_id == 0: - task.use(LeagueCoordinator(cfg, league)) + coordinator_league = BaseLeague(cfg.policy.other.league) + task.use(LeagueCoordinator(cfg, coordinator_league)) elif task.router.node_id <= N_PLAYERS: cfg.policy.collect.unroll_len = 1 - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) player = league.active_players[task.router.node_id % N_PLAYERS] buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) + buffer_.use(use_time_check(buffer_, max_use=cfg.policy.other.replay_buffer.max_use)) policy = PrepareTest.policy_fn() task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) @@ -101,8 +103,8 @@ def main(): @pytest.mark.unittest def test_league_pipeline(): - Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) if __name__ == "__main__": - Parallel.runner(n_parallel_workers=5, protocol="tcp", topology="mesh")(main) + Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) diff --git a/ding/framework/parallel.py b/ding/framework/parallel.py index 469ae7e77f..6c5d2e80b6 100644 --- a/ding/framework/parallel.py +++ b/ding/framework/parallel.py @@ -5,6 +5,7 @@ import traceback from mpire.pool import WorkerPool import pickle +import io from ditk import logging import tempfile import socket @@ -15,11 +16,35 @@ from ding.utils.design_helper import SingletonMetaclass from ding.framework.message_queue import * from ding.utils.registry_factory import MQ_REGISTRY +import torch # Avoid ipc address conflict, random should always use random seed random = random.Random() +class CpuUnpickler(pickle.Unpickler): + + def find_class(self, module, name): + if module == 'torch.storage' and name == '_load_from_bytes': + return lambda b: torch.load(io.BytesIO(b), map_location='cpu') + else: + return super().find_class(module, name) + + +def cpu_loads(x): + bs = io.BytesIO(x) + unpickler = CpuUnpickler(bs) + return unpickler.load() + + +def my_pickle_loads(msg): + if not torch.cuda.is_available(): + payload = cpu_loads(msg) + else: + payload = pickle.loads(msg) + return payload + + class Parallel(metaclass=SingletonMetaclass): def __init__(self) -> None: @@ -337,7 +362,7 @@ def _handle_message(self, topic: str, msg: bytes) -> None: logging.debug("Event {} was not listened in parallel {}".format(event, self.node_id)) return try: - payload = pickle.loads(msg) + payload = my_pickle_loads(msg) except Exception as e: logging.error("Error when unpacking message on node {}, msg: {}".format(self.node_id, e)) return diff --git a/ding/league/algorithm.py b/ding/league/algorithm.py index 09cb23b352..b7de39970a 100644 --- a/ding/league/algorithm.py +++ b/ding/league/algorithm.py @@ -22,7 +22,7 @@ def pfsp(win_rates: np.ndarray, weighting: str) -> np.ndarray: raise KeyError("invalid weighting arg: {} in pfsp".format(weighting)) assert isinstance(win_rates, np.ndarray) - assert win_rates.shape[0] >= 1, win_rates.shape + assert win_rates.shape[0] >= 1, "win rate is {}".format(win_rates) # all zero win rates case, return uniform selection prob if win_rates.sum() < 1e-8: return np.full_like(win_rates, 1.0 / len(win_rates)) diff --git a/ding/league/starcraft_player.py b/ding/league/starcraft_player.py index 81d53e73bd..900fed6149 100644 --- a/ding/league/starcraft_player.py +++ b/ding/league/starcraft_player.py @@ -54,6 +54,17 @@ def _sp_branch(self): p = pfsp(win_rates, weighting='variance') return self._get_opponent(historical, p) + def _sl_branch(self): + """ + Overview: + Select one opponent, whose ckpt is sl_model.pth + """ + historical = self._get_players( + lambda p: isinstance(p, HistoricalPlayer) and p.player_id == 'main_player_default_0_pretrain_historical' + ) + main_opponent = self._get_opponent(historical) + return main_opponent + def _verification_branch(self): """ Overview: diff --git a/ding/league/v2/base_league.py b/ding/league/v2/base_league.py index 260f34d951..f5ca20eaa6 100644 --- a/ding/league/v2/base_league.py +++ b/ding/league/v2/base_league.py @@ -9,6 +9,7 @@ from ding.league.metric import LeagueMetricEnv from ding.framework.storage import Storage from typing import TYPE_CHECKING +from ditk import logging if TYPE_CHECKING: from ding.league import Player, PlayerMeta @@ -195,6 +196,8 @@ def update_payoff(self, job: Job) -> None: "result": job.result } self.payoff.update(job_info) + + logging.info("show the current payoff {}".format(self.payoff._data)) # Update player rating home_id, away_id = job_info['player_id'] home_player, away_player = self.get_player_by_id(home_id), self.get_player_by_id(away_id) diff --git a/ding/torch_utils/network/__init__.py b/ding/torch_utils/network/__init__.py index 23bad434b5..3d5a285f2b 100644 --- a/ding/torch_utils/network/__init__.py +++ b/ding/torch_utils/network/__init__.py @@ -6,7 +6,7 @@ from .rnn import get_lstm, sequence_mask from .soft_argmax import SoftArgmax from .transformer import Transformer -from .scatter_connection import ScatterConnection +from .scatter_connection import ScatterConnection, scatter_connection_v2 from .resnet import resnet18, ResNet from .gumbel_softmax import GumbelSoftmax from .gtrxl import GTrXL, GRUGatingUnit diff --git a/ding/torch_utils/network/scatter_connection.py b/ding/torch_utils/network/scatter_connection.py index 5b2f3b4ee5..58c40204aa 100644 --- a/ding/torch_utils/network/scatter_connection.py +++ b/ding/torch_utils/network/scatter_connection.py @@ -93,3 +93,29 @@ def forward(self, x: torch.Tensor, spatial_size: Tuple[int, int], location: torc output = output.reshape(N, B, H, W) output = output.permute(1, 0, 2, 3).contiguous() return output + + +def scatter_connection_v2(shape, project_embeddings, entity_location, scatter_dim, scatter_type='add'): + B, H, W = shape + device = entity_location.device + entity_num = entity_location.shape[1] + index = entity_location.view(-1, 2).long() + bias = torch.arange(B).unsqueeze(1).repeat(1, entity_num).view(-1).to(device) + bias *= H * W + index[:, 0].clamp_(0, W - 1) + index[:, 1].clamp_(0, H - 1) + index = index[:, 1] * W + index[:, 0] # entity_location: (x, y), spatial_info: (y, x) + index += bias + index = index.repeat(scatter_dim, 1) + # flat scatter map and project embeddings + scatter_map = torch.zeros(scatter_dim, B * H * W, device=device) + project_embeddings = project_embeddings.view(-1, scatter_dim).permute(1, 0) + if scatter_type == 'cover': + scatter_map.scatter_(dim=1, index=index, src=project_embeddings) + elif scatter_type == 'add': + scatter_map.scatter_add_(dim=1, index=index, src=project_embeddings) + else: + raise NotImplementedError + scatter_map = scatter_map.reshape(scatter_dim, B, H, W) + scatter_map = scatter_map.permute(1, 0, 2, 3) + return scatter_map diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py index 60412fdf07..c209c8dd2c 100644 --- a/dizoo/distar/config/distar_config.py +++ b/dizoo/distar/config/distar_config.py @@ -48,7 +48,7 @@ }, 'multi_gpu': False, 'epoch_per_collect': 10, - 'batch_size': 3, + 'batch_size': 4, 'learning_rate': 1e-05, 'value_weight': 0.5, 'entropy_weight': 0.0, @@ -80,9 +80,7 @@ 'discount_factor': 1.0, 'gae_lambda': 1.0, 'n_episode': 1, - 'n_rollout_samples': 64, - 'n_sample': 64, - 'unroll_len': 4 + 'unroll_len': 16 }, 'eval': { 'evaluator': { @@ -95,7 +93,8 @@ 'other': { 'replay_buffer': { 'type': 'naive', - 'replay_buffer_size': 20, + 'replay_buffer_size': 6, + 'max_use': 2, 'deepcopy': False, 'enable_track_used_data': False, 'periodic_thruput_seconds': 60, @@ -105,13 +104,14 @@ 'player_category': ['default'], 'path_policy': 'league_demo/ckpt', 'active_players': { - 'main_player': 2 + 'main_player': 1 }, 'main_player': { 'one_phase_step': 10, # 20 'branch_probs': { 'pfsp': 0.0, - 'sp': 1.0 + 'sp': 0.0, + 'sl': 1.0 }, 'strong_win_rate': 0.7 }, @@ -132,7 +132,10 @@ 'mutate_prob': 0.5 }, 'use_pretrain': False, - 'use_pretrain_init_historical': False, + 'use_pretrain_init_historical': True, + 'pretrain_checkpoint_path': { + 'default': 'sl_model.pth', + }, 'payoff': { 'type': 'battle', 'decay': 0.99, diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py index d1eb59ed5a..2db9af3a2a 100644 --- a/dizoo/distar/envs/__init__.py +++ b/dizoo/distar/envs/__init__.py @@ -2,4 +2,4 @@ from .meta import * from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS from .stat import Stat -from .fake_data import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data +from .fake_data import get_fake_rl_batch, get_fake_env_reset_data, get_fake_env_step_data diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py index 91fddc463d..436d5fb1ab 100644 --- a/dizoo/distar/envs/fake_data.py +++ b/dizoo/distar/envs/fake_data.py @@ -112,11 +112,13 @@ def get_mask(action): selected_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) target_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) target_units_logits_mask[action['target_unit']] = 1 + cum_action_mask= torch.tensor(1.0,dtype=torch.float) return { 'actions_mask': mask, 'selected_units_logits_mask': selected_units_logits_mask, 'target_units_logits_mask': target_units_logits_mask, + 'cum_action_mask': cum_action_mask } @@ -156,7 +158,7 @@ def rl_step_data(last=False): 'spatial_info': spatial_info(), 'entity_info': entity_info(), 'scalar_info': scalar_info(), - 'entity_num': torch.randint(5, 100, size=(1, ), dtype=torch.long), + 'entity_num': torch.randint(5, 100, size=(), dtype=torch.long), 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), 'entity_location': torch.randint(0, H, size=(512, 2), dtype=torch.long), 'hidden_state': [(torch.zeros(size=(384, )), torch.zeros(size=(384, ))) for _ in range(3)], @@ -180,7 +182,7 @@ def rl_step_data(last=False): return data -def fake_rl_data_batch_with_last(unroll_len=4): +def fake_rl_traj_with_last(unroll_len=4): list_step_data = [] for i in range(unroll_len): step_data = rl_step_data() @@ -189,8 +191,8 @@ def fake_rl_data_batch_with_last(unroll_len=4): return list_step_data -def get_fake_rl_trajectory(batch_size=3, unroll_len=4): - data_batch = [fake_rl_data_batch_with_last(unroll_len) for _ in range(batch_size)] +def get_fake_rl_batch(batch_size=3, unroll_len=4): + data_batch = [fake_rl_traj_with_last(unroll_len) for _ in range(batch_size)] return data_batch diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml index 7ddc366f7b..629154d8ea 100644 --- a/dizoo/distar/model/actor_critic_default_config.yaml +++ b/dizoo/distar/model/actor_critic_default_config.yaml @@ -20,7 +20,9 @@ model: enable_baselines: ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] # ===== Value ===== value: - use_value_feature: False + use_value_feature: True + spatial_x: *SPATIAL_X + spatial_y: *SPATIAL_Y encoder: modules: enemy_unit_counts_bow: @@ -54,6 +56,8 @@ model: head_dim: 8 output_dim: 64 activation: 'relu' + spatial_x: *SPATIAL_X + spatial_y: *SPATIAL_Y cumulative_stat: arc: fc input_dim: *NUM_CUMULATIVE_STAT_ACTIONS diff --git a/dizoo/distar/model/obs_encoder/value_encoder.py b/dizoo/distar/model/obs_encoder/value_encoder.py index fa49ae0362..ef87a03766 100644 --- a/dizoo/distar/model/obs_encoder/value_encoder.py +++ b/dizoo/distar/model/obs_encoder/value_encoder.py @@ -2,7 +2,7 @@ import torch.nn as nn import torch.nn.functional as F from ding.torch_utils import fc_block, build_activation, conv2d_block, ResBlock, same_shape, sequence_mask, \ - Transformer, scatter_connection + Transformer, scatter_connection_v2 from dizoo.distar.envs import BEGIN_ACTIONS from .spatial_encoder import SpatialEncoder from .scalar_encoder import BeginningBuildOrderEncoder @@ -13,7 +13,7 @@ class ValueEncoder(nn.Module): def __init__(self, cfg): super(ValueEncoder, self).__init__() self.whole_cfg = cfg - self.cfg = cfg.model.value.encoder + self.cfg = cfg.encoder self.act = build_activation('relu', inplace=True) self.encode_modules = nn.ModuleDict() for k, item in self.cfg.modules.items(): @@ -25,7 +25,7 @@ def __init__(self, cfg): ) bo_cfg = self.cfg.modules.beginning_order - self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(self.whole_cfg, bo_cfg) + self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(bo_cfg) self.scatter_project = fc_block( self.cfg.scatter.scatter_input_dim, self.cfg.scatter.scatter_dim, activation=self.act ) @@ -47,7 +47,7 @@ def __init__(self, cfg): for i in range(self.resblock_num): self.res.append(ResBlock(dim, self.act, norm_type=None)) self.spatial_fc = fc_block( - dim * self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8, + dim * self.whole_cfg.spatial_y // 8 * self.whole_cfg.spatial_x // 8, self.cfg.spatial.spatial_fc_dim, activation=self.act ) @@ -71,7 +71,7 @@ def forward(self, x): project_embedding = project_embedding * unit_mask.unsqueeze(dim=2) entity_location = torch.cat([x['unit_x'].unsqueeze(dim=-1), x['unit_y'].unsqueeze(dim=-1)], dim=-1) b, c, h, w = x['own_units_spatial'].shape - scatter_map = scatter_connection( + scatter_map = scatter_connection_v2( (b, h, w), project_embedding, entity_location, self.scatter_dim, self.scatter_type ) spatial_x = torch.cat([scatter_map, x['own_units_spatial'].float(), x['enemy_units_spatial'].float()], dim=1) diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py index 09ccd3d6ae..57809ff5cc 100644 --- a/dizoo/distar/policy/distar_policy.py +++ b/dizoo/distar/policy/distar_policy.py @@ -9,7 +9,12 @@ from copy import deepcopy import os.path as osp from typing import Any +from ditk import logging +import pickle +import os +import time +from ding.framework import task from ding.model import model_wrap from ding.policy import Policy from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance @@ -28,7 +33,7 @@ class DIStarPolicy(Policy): config = dict( type='distar', on_policy=False, - cuda=False, + cuda=True, learning_rate=1e-5, model=dict(), # learn @@ -112,7 +117,7 @@ class DIStarPolicy(Policy): ), grad_clip=dict(threshold=1.0, ), # collect - use_value_feature=False, # TODO(zms): whether to use value feature, this must be False when play against bot + use_value_feature=True, # TODO(zms): whether to use value feature, this must be False when play against bot zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z fake_reward_prob=0.0, # probablity which set Z to 0 zero_z_value=1, # value used for 0Z @@ -122,6 +127,7 @@ class DIStarPolicy(Policy): realtime=False, #TODO(zms): set from env, need to use only one cfg define policy and env model_path='sl_model.pth', teacher_model_path='sl_model.pth', + value_pretrain_iters=4000, ) def _create_model( @@ -144,7 +150,9 @@ def _init_learn(self): self._learn_model = model_wrap(self._model, 'base') # TODO(zms): maybe initialize state_dict inside learner learn_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) - learn_state_dict = torch.load(learn_model_path) + + learn_state_dict = torch.load(learn_model_path, map_location=self._device) + self._load_state_dict_learn(learn_state_dict) self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] @@ -156,6 +164,8 @@ def _init_learn(self): self.upgo_head_weights = self._cfg.upgo_head_weights self.entropy_head_weights = self._cfg.entropy_head_weights self.kl_head_weights = self._cfg.kl_head_weights + self._only_update_value = False + self._remain_value_pretrain_iters = self._cfg.value_pretrain_iters # optimizer self.optimizer = Adam( @@ -165,15 +175,27 @@ def _init_learn(self): eps=1e-5, ) # utils - self.timer = EasyTimer(cuda=self._cfg.cuda) + self.timer = EasyTimer(cuda=self._cuda) + + def _step_value_pretrain(self): + if self._remain_value_pretrain_iters > 0: + self._only_update_value = True + self._remain_value_pretrain_iters -= 1 + self._learn_model._model._model.only_update_baseline = True + + elif self._remain_value_pretrain_iters == 0: + self._only_update_value = False + self._remain_value_pretrain_iters -= 1 + self._learn_model._model._model.only_update_baseline = False def _forward_learn(self, inputs: Dict): # =========== # pre-process # =========== - inputs = collate_fn_learn(inputs) - if self._cfg.cuda: + self._step_value_pretrain() + if self._cuda: inputs = to_device(inputs, self._device) + inputs = collate_fn_learn(inputs) self._learn_model.train() @@ -336,15 +358,19 @@ def _forward_learn(self, inputs: Dict): # ====== # update # ====== - total_loss = ( - total_vtrace_loss + total_upgo_loss + total_critic_loss + total_entropy_loss + total_kl_loss + - action_type_kl_loss - ) + + if self._only_update_value: + total_loss = total_critic_loss + else: + total_loss = ( + total_vtrace_loss + total_upgo_loss + total_critic_loss + total_entropy_loss + total_kl_loss + + action_type_kl_loss + ) with self.timer: self.optimizer.zero_grad() total_loss.backward() if self._cfg.learn.multi_gpu: - self.sync_gradients() + self.sync_gradients(self._learn_model) gradient = torch.nn.utils.clip_grad_norm_(self._learn_model.parameters(), self._cfg.grad_clip.threshold, 2) self.optimizer.step() @@ -371,10 +397,12 @@ def _load_state_dict_learn(self, _state_dict: Dict) -> None: self._learn_model.load_state_dict(_state_dict['model'], strict=False) if 'optimizer' in _state_dict: self.optimizer.load_state_dict(_state_dict['optimizer']) + del _state_dict def _load_state_dict_collect(self, _state_dict: Dict) -> None: #TODO(zms): need to load state_dict after collect, which is very dirty and need to rewrite - + if not self._cuda: + _state_dict = to_device(_state_dict, self._device) if 'map_name' in _state_dict: # map_names.append(_state_dict['map_name']) self.fake_reward_prob = _state_dict['fake_reward_prob'] @@ -383,13 +411,17 @@ def _load_state_dict_collect(self, _state_dict: Dict) -> None: _state_dict = {k: v for k, v in _state_dict['model'].items() if 'value_networks' not in k} self._collect_model.load_state_dict(_state_dict, strict=False) + del _state_dict def _init_collect(self): self._collect_model = model_wrap(self._model, 'base') # TODO(zms): maybe initialize state_dict inside actor collect_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) - collect_state_dict = torch.load(collect_model_path) + + collect_state_dict = torch.load(collect_model_path, self._device) + self._load_state_dict_collect(collect_state_dict) + del collect_state_dict self.only_cum_action_kl = False self.z_path = self._cfg.z_path @@ -402,13 +434,17 @@ def _init_collect(self): self.cum_type = 'action' # observation or action self.realtime = self._cfg.realtime self.teacher_model = model_wrap(Model(self._cfg.model), 'base') - if self._cfg.cuda: + if self._cuda: self.teacher_model = self.teacher_model.cuda() teacher_model_path = osp.join(osp.dirname(__file__), self._cfg.teacher_model_path) - t_state_dict = torch.load(teacher_model_path) + print("self._cuda is ", self._cuda) + + t_state_dict = torch.load(teacher_model_path, self._device) + teacher_state_dict = {k: v for k, v in t_state_dict['model'].items() if 'value_networks' not in k} self.teacher_model.load_state_dict(teacher_state_dict) # TODO(zms): load teacher_model's state_dict when init policy. + del t_state_dict def _reset_collect(self, data: Dict): self.exceed_loop_flag = False @@ -486,14 +522,25 @@ def _forward_collect(self, data): obs, game_info = self._data_preprocess_collect(data) self.obs = obs obs = default_collate([obs]) - if self._cfg.cuda: + if self._cuda: obs = to_device(obs, self._device) self._collect_model.eval() - with torch.no_grad(): - policy_output = self._collect_model.compute_logp_action(**obs) - - if self._cfg.cuda: + try: + with torch.no_grad(): + policy_output = self._collect_model.compute_logp_action(**obs) + except Exception as e: + logging.error("[Actor {}] got an exception: {} in the collect model".format(task.router.node_id, e)) + bug_time = str(int(time.time())) + file_name = 'bug_obs_' + bug_time + '.pkl' + with open(os.path.join(os.path.dirname(__file__), file_name), 'wb+') as f: + pickle.dump(self.obs, f) + model_path_name = 'bug_model_' + bug_time + '.pth' + model_path = os.path.join(os.path.dirname(__file__), model_path_name) + torch.save(self._collect_model.state_dict(), model_path) + raise e + + if self._cuda: policy_output = to_device(policy_output, self._device) policy_output = default_decollate(policy_output)[0] self.policy_output = self._data_postprocess_collect(policy_output, game_info) @@ -625,14 +672,14 @@ def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTim teacher_model_input['action_info']['selected_units'], dim=0 ) - if self._cfg.cuda: + if self._cuda: teacher_model_input = to_device(teacher_model_input, self._device) self.teacher_model.eval() with torch.no_grad(): teacher_output = self.teacher_model.compute_teacher_logit(**teacher_model_input) - if self._cfg.cuda: + if self._cuda: teacher_output = to_device(teacher_output, self._device) teacher_output = self.decollate_output(teacher_output) self.teacher_hidden_state = teacher_output['hidden_state'] diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py index 6eedf13f2a..aee5e423c9 100644 --- a/dizoo/distar/policy/test_distar_policy.py +++ b/dizoo/distar/policy/test_distar_policy.py @@ -1,7 +1,7 @@ import pytest from dizoo.distar.policy import DIStarPolicy -from dizoo.distar.envs import get_fake_rl_trajectory, get_fake_env_reset_data, get_fake_env_step_data +from dizoo.distar.envs import get_fake_rl_batch, get_fake_env_reset_data, get_fake_env_step_data import torch from ding.utils import set_pkg_seed @@ -13,7 +13,7 @@ class TestDIStarPolicy: def test_forward_learn(self): policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) policy = policy.learn_mode - data = get_fake_rl_trajectory(batch_size=3) + data = get_fake_rl_batch(batch_size=3) output = policy.forward(data) print(output) diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py index 393fd6e2c5..0b72f15304 100644 --- a/dizoo/distar/policy/utils.py +++ b/dizoo/distar/policy/utils.py @@ -137,7 +137,7 @@ def kl_error( kl = kl * mask['actions_mask'][head_type] if head_type == 'action_type': flag = game_steps < action_type_kl_steps - action_type_kl = kl * flag + action_type_kl = kl * flag * mask['cum_action_mask'] action_type_kl_loss = action_type_kl.mean() kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() kl_loss = kl.mean() From ea11bc12f845e559381bb2c25f4eebeabb83303f Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Wed, 24 Aug 2022 10:38:24 +0800 Subject: [PATCH 203/229] change comments and delete useless code --- ding/envs/env_manager/env_supervisor.py | 6 +- ding/example/distar.py | 88 ------------------------- ding/framework/__init__.py | 2 +- 3 files changed, 4 insertions(+), 92 deletions(-) delete mode 100644 ding/example/distar.py diff --git a/ding/envs/env_manager/env_supervisor.py b/ding/envs/env_manager/env_supervisor.py index 919e7e6ca2..a12a20ed0d 100644 --- a/ding/envs/env_manager/env_supervisor.py +++ b/ding/envs/env_manager/env_supervisor.py @@ -79,7 +79,9 @@ def __init__( - retry_waiting_time (:obj:`Optional[float]`): Wait time on each retry. - shared_memory (:obj:`bool`): Use shared memory in multiprocessing. - copy_on_get (:obj:`bool`): Use copy on get in multiprocessing. - - return_original_data (:obj:`bool`): Return original observation or processed observation. + - return_original_data (:obj:`bool`): Return original observation, + so that the attribute self._ready_obs is not a tnp.array but only the original observation, + and the property self.ready_obs is a dict in which the key is the env_id. """ if kwargs: logging.warning("Unknown parameters on env supervisor: {}".format(kwargs)) @@ -258,7 +260,6 @@ def ready_obs(self) -> tnp.array: >>> timesteps = env_manager.step(action) """ active_env = [i for i, s in self._env_states.items() if s == EnvState.RUN] - # TODO(zms): change it here or in env? if self._return_original_data: return {i: self._ready_obs[i] for i in active_env} active_env.sort() @@ -415,7 +416,6 @@ def _recv_step_callback( remain_payloads[p.req_id] = p # make the type and content of key as similar as identifier, # in order to call them as attribute (e.g. timestep.xxx), such as ``TimeLimit.truncated`` in cartpole info - # TODO(zms): change it here or in DI-star env? if not self._return_original_data: info = make_key_as_identifier(info) payload.data = tnp.array( diff --git a/ding/example/distar.py b/ding/example/distar.py deleted file mode 100644 index 28a87906eb..0000000000 --- a/ding/example/distar.py +++ /dev/null @@ -1,88 +0,0 @@ -import logging -import pytest -from easydict import EasyDict -from copy import deepcopy -from ding.data import DequeBuffer -from ding.envs import BaseEnvManager -from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar -from ding.framework.task import task, Parallel -from ding.league.v2 import BaseLeague -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs.distar_env import DIStarEnv -from unittest.mock import patch - -env_cfg = dict( - actor=dict(job_type='train', ), - env=dict( - map_name='KingsCove', - player_ids=['agent1', 'agent2'], - races=['zerg', 'zerg'], - map_size_resolutions=[True, True], # if True, ignore minimap_resolutions - minimap_resolutions=[[160, 152], [160, 152]], - realtime=False, - replay_dir='.', - random_seed='none', - game_steps_per_episode=100000, - update_bot_obs=False, - save_replay_episodes=1, - update_both_obs=False, - version='4.10.0', - ), -) - - -def prepare_test(): - global distar_cfg, env_cfg - env_cfg = EasyDict(env_cfg) - cfg = deepcopy(distar_cfg) - - def env_fn(): - # subprocess env manager - env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - ) - env.seed(cfg.seed) - return env - - def policy_fn(): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) - return policy - - def collect_policy_fn(): - policy = DIStarMockPolicyCollect() - return policy - - return cfg, env_fn, policy_fn, collect_policy_fn - - -def main(): - logging.getLogger().setLevel(logging.INFO) - cfg, env_fn, policy_fn, collect_policy_fn = prepare_test() - league = BaseLeague(cfg.policy.other.league) - N_PLAYERS = len(league.active_players_ids) - print("League: n_players =", N_PLAYERS) - - with task.start(async_mode=True, ctx=BattleContext()),\ - patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ - patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - print("node id:", task.router.node_id) - if task.router.node_id == 0: - task.use(LeagueCoordinator(cfg, league)) - elif task.router.node_id <= N_PLAYERS: - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - player = league.active_players[task.router.node_id % N_PLAYERS] - policy = policy_fn() - task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) - task.use(data_pusher(cfg, buffer_)) - task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) - else: - task.use(StepLeagueActor(cfg, env_fn, collect_policy_fn)) - - task.run() - - -if __name__ == "__main__": - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(main) diff --git a/ding/framework/__init__.py b/ding/framework/__init__.py index 82119909b5..11b247d512 100644 --- a/ding/framework/__init__.py +++ b/ding/framework/__init__.py @@ -3,4 +3,4 @@ from .parallel import Parallel from .event_loop import EventLoop from .event_enum import EventEnum -from .supervisor import Supervisor \ No newline at end of file +from .supervisor import Supervisor From 2e60364a3155185632cce1d1349cbcc72ae0f0d6 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 06:56:24 +0000 Subject: [PATCH 204/229] move out the distar files into DI-star --- dizoo/distar/__init__.py | 0 dizoo/distar/config/__init__.py | 1 - dizoo/distar/config/distar_config.py | 168 -- dizoo/distar/envs/__init__.py | 5 - dizoo/distar/envs/distar_env.py | 702 ----- dizoo/distar/envs/fake_data.py | 673 ----- dizoo/distar/envs/meta.py | 16 - dizoo/distar/envs/stat.py | 789 ----- dizoo/distar/envs/static_data.py | 2599 ----------------- .../distar/envs/tests/test_distar_config.yaml | 16 - .../distar/envs/tests/test_distar_env_data.py | 64 - .../envs/tests/test_distar_env_time_space.py | 87 - .../tests/test_distar_env_with_manager.py | 91 - dizoo/distar/envs/z_files/12D.json | 1 - dizoo/distar/envs/z_files/1758k.json | 1 - dizoo/distar/envs/z_files/3map.json | 1 - .../envs/z_files/7map_filter_spine.json | 1 - dizoo/distar/envs/z_files/NewRepugnancy.json | 1 - dizoo/distar/envs/z_files/filter.json | 1 - dizoo/distar/envs/z_files/lurker.json | 1 - dizoo/distar/envs/z_files/mutalisk.json | 1 - dizoo/distar/envs/z_files/nydus.json | 1 - dizoo/distar/envs/z_files/perfect_z.json | 1 - dizoo/distar/envs/z_files/stairs.json | 1 - dizoo/distar/envs/z_files/worker_rush.json | 1 - dizoo/distar/model/__init__.py | 1 - .../model/actor_critic_default_config.yaml | 463 --- dizoo/distar/model/encoder.py | 40 - dizoo/distar/model/head/__init__.py | 2 - dizoo/distar/model/head/action_arg_head.py | 415 --- dizoo/distar/model/head/action_type_head.py | 63 - dizoo/distar/model/model.py | 191 -- dizoo/distar/model/obs_encoder/__init__.py | 4 - .../model/obs_encoder/entity_encoder.py | 101 - .../model/obs_encoder/scalar_encoder.py | 143 - .../model/obs_encoder/spatial_encoder.py | 96 - .../distar/model/obs_encoder/value_encoder.py | 84 - dizoo/distar/model/policy.py | 78 - dizoo/distar/model/tests/test_encoder.py | 31 - dizoo/distar/model/tests/test_head.py | 119 - dizoo/distar/model/tests/test_value.py | 23 - dizoo/distar/model/value.py | 38 - dizoo/distar/policy/__init__.py | 1 - dizoo/distar/policy/distar_policy.py | 900 ------ dizoo/distar/policy/test_distar_policy.py | 37 - dizoo/distar/policy/utils.py | 146 - dizoo/distar/state_dict_utils.py | 19 - ...test_league_actor_with_pretrained_model.py | 180 -- 48 files changed, 8398 deletions(-) delete mode 100644 dizoo/distar/__init__.py delete mode 100644 dizoo/distar/config/__init__.py delete mode 100644 dizoo/distar/config/distar_config.py delete mode 100644 dizoo/distar/envs/__init__.py delete mode 100644 dizoo/distar/envs/distar_env.py delete mode 100644 dizoo/distar/envs/fake_data.py delete mode 100644 dizoo/distar/envs/meta.py delete mode 100644 dizoo/distar/envs/stat.py delete mode 100644 dizoo/distar/envs/static_data.py delete mode 100644 dizoo/distar/envs/tests/test_distar_config.yaml delete mode 100644 dizoo/distar/envs/tests/test_distar_env_data.py delete mode 100644 dizoo/distar/envs/tests/test_distar_env_time_space.py delete mode 100644 dizoo/distar/envs/tests/test_distar_env_with_manager.py delete mode 100644 dizoo/distar/envs/z_files/12D.json delete mode 100644 dizoo/distar/envs/z_files/1758k.json delete mode 100644 dizoo/distar/envs/z_files/3map.json delete mode 100644 dizoo/distar/envs/z_files/7map_filter_spine.json delete mode 100644 dizoo/distar/envs/z_files/NewRepugnancy.json delete mode 100644 dizoo/distar/envs/z_files/filter.json delete mode 100644 dizoo/distar/envs/z_files/lurker.json delete mode 100644 dizoo/distar/envs/z_files/mutalisk.json delete mode 100644 dizoo/distar/envs/z_files/nydus.json delete mode 100644 dizoo/distar/envs/z_files/perfect_z.json delete mode 100644 dizoo/distar/envs/z_files/stairs.json delete mode 100644 dizoo/distar/envs/z_files/worker_rush.json delete mode 100644 dizoo/distar/model/__init__.py delete mode 100644 dizoo/distar/model/actor_critic_default_config.yaml delete mode 100644 dizoo/distar/model/encoder.py delete mode 100644 dizoo/distar/model/head/__init__.py delete mode 100644 dizoo/distar/model/head/action_arg_head.py delete mode 100644 dizoo/distar/model/head/action_type_head.py delete mode 100644 dizoo/distar/model/model.py delete mode 100644 dizoo/distar/model/obs_encoder/__init__.py delete mode 100644 dizoo/distar/model/obs_encoder/entity_encoder.py delete mode 100644 dizoo/distar/model/obs_encoder/scalar_encoder.py delete mode 100644 dizoo/distar/model/obs_encoder/spatial_encoder.py delete mode 100644 dizoo/distar/model/obs_encoder/value_encoder.py delete mode 100644 dizoo/distar/model/policy.py delete mode 100644 dizoo/distar/model/tests/test_encoder.py delete mode 100644 dizoo/distar/model/tests/test_head.py delete mode 100644 dizoo/distar/model/tests/test_value.py delete mode 100644 dizoo/distar/model/value.py delete mode 100644 dizoo/distar/policy/__init__.py delete mode 100644 dizoo/distar/policy/distar_policy.py delete mode 100644 dizoo/distar/policy/test_distar_policy.py delete mode 100644 dizoo/distar/policy/utils.py delete mode 100644 dizoo/distar/state_dict_utils.py delete mode 100644 dizoo/distar/tests/test_league_actor_with_pretrained_model.py diff --git a/dizoo/distar/__init__.py b/dizoo/distar/__init__.py deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/dizoo/distar/config/__init__.py b/dizoo/distar/config/__init__.py deleted file mode 100644 index a05f2cbff3..0000000000 --- a/dizoo/distar/config/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .distar_config import distar_cfg \ No newline at end of file diff --git a/dizoo/distar/config/distar_config.py b/dizoo/distar/config/distar_config.py deleted file mode 100644 index c209c8dd2c..0000000000 --- a/dizoo/distar/config/distar_config.py +++ /dev/null @@ -1,168 +0,0 @@ -from easydict import EasyDict - -distar_cfg = EasyDict( - { - 'env': { - 'manager': { - 'episode_num': 100000, - 'max_retry': 1000, - 'retry_type': 'renew', - 'auto_reset': True, - 'step_timeout': None, - 'reset_timeout': None, - 'retry_waiting_time': 0.1, - 'cfg_type': 'BaseEnvManagerDict', - 'shared_memory': False, - 'return_original_data': True - }, - 'collector_env_num': 1, - 'evaluator_env_num': 1, - 'n_evaluator_episode': 100, - 'env_type': 'prisoner_dilemma', - 'stop_value': [-10.1, -5.05] - }, - 'policy': { - 'model': { - 'obs_shape': 2, - 'action_shape': 2, - 'action_space': 'discrete', - 'encoder_hidden_size_list': [32, 32], - 'critic_head_hidden_size': 32, - 'actor_head_hidden_size': 32, - 'share_encoder': False - }, - 'learn': { - 'learner': { - 'train_iterations': 1000000000, - 'dataloader': { - 'num_workers': 0 - }, - 'log_policy': False, - 'hook': { - 'load_ckpt_before_run': '', - 'log_show_after_iter': 100, - 'save_ckpt_after_iter': 10000, - 'save_ckpt_after_run': True - }, - 'cfg_type': 'BaseLearnerDict' - }, - 'multi_gpu': False, - 'epoch_per_collect': 10, - 'batch_size': 4, - 'learning_rate': 1e-05, - 'value_weight': 0.5, - 'entropy_weight': 0.0, - 'clip_ratio': 0.2, - 'adv_norm': True, - 'value_norm': True, - 'ppo_param_init': True, - 'grad_clip_type': 'clip_norm', - 'grad_clip_value': 0.5, - 'ignore_done': False, - 'update_per_collect': 3, - 'scheduler': { - 'schedule_flag': False, - 'schedule_mode': 'reduce', - 'factor': 0.005, - 'change_range': [0, 1], - 'threshold': 0.5, - 'patience': 50 - } - }, - 'collect': { - 'collector': { - 'deepcopy_obs': False, - 'transform_obs': False, - 'collect_print_freq': 100, - 'get_train_sample': True, - 'cfg_type': 'BattleEpisodeSerialCollectorDict' - }, - 'discount_factor': 1.0, - 'gae_lambda': 1.0, - 'n_episode': 1, - 'unroll_len': 16 - }, - 'eval': { - 'evaluator': { - 'eval_freq': 50, - 'cfg_type': 'BattleInteractionSerialEvaluatorDict', - 'stop_value': [-10.1, -5.05], - 'n_episode': 100 - } - }, - 'other': { - 'replay_buffer': { - 'type': 'naive', - 'replay_buffer_size': 6, - 'max_use': 2, - 'deepcopy': False, - 'enable_track_used_data': False, - 'periodic_thruput_seconds': 60, - 'cfg_type': 'NaiveReplayBufferDict' - }, - 'league': { - 'player_category': ['default'], - 'path_policy': 'league_demo/ckpt', - 'active_players': { - 'main_player': 1 - }, - 'main_player': { - 'one_phase_step': 10, # 20 - 'branch_probs': { - 'pfsp': 0.0, - 'sp': 0.0, - 'sl': 1.0 - }, - 'strong_win_rate': 0.7 - }, - 'main_exploiter': { - 'one_phase_step': 200, - 'branch_probs': { - 'main_players': 1.0 - }, - 'strong_win_rate': 0.7, - 'min_valid_win_rate': 0.3 - }, - 'league_exploiter': { - 'one_phase_step': 200, - 'branch_probs': { - 'pfsp': 1.0 - }, - 'strong_win_rate': 0.7, - 'mutate_prob': 0.5 - }, - 'use_pretrain': False, - 'use_pretrain_init_historical': True, - 'pretrain_checkpoint_path': { - 'default': 'sl_model.pth', - }, - 'payoff': { - 'type': 'battle', - 'decay': 0.99, - 'min_win_rate_games': 8 - }, - 'metric': { - 'mu': 0, - 'sigma': 8.333333333333334, - 'beta': 4.166666666666667, - 'tau': 0.0, - 'draw_probability': 0.02 - } - } - }, - 'type': 'ppo', - 'cuda': False, - 'on_policy': True, - 'priority': False, - 'priority_IS_weight': False, - 'recompute_adv': True, - 'action_space': 'discrete', - 'nstep_return': False, - 'multi_agent': False, - 'transition_with_policy_data': True, - 'cfg_type': 'PPOPolicyDict' - }, - 'exp_name': 'league_demo', - 'seed': 0 - } -) diff --git a/dizoo/distar/envs/__init__.py b/dizoo/distar/envs/__init__.py deleted file mode 100644 index 2db9af3a2a..0000000000 --- a/dizoo/distar/envs/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -from .distar_env import DIStarEnv, parse_new_game, transform_obs, compute_battle_score -from .meta import * -from .static_data import RACE_DICT, BEGIN_ACTIONS, ACTION_RACE_MASK, SELECTED_UNITS_MASK, ACTIONS, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS -from .stat import Stat -from .fake_data import get_fake_rl_batch, get_fake_env_reset_data, get_fake_env_step_data diff --git a/dizoo/distar/envs/distar_env.py b/dizoo/distar/envs/distar_env.py deleted file mode 100644 index a4aeaca3df..0000000000 --- a/dizoo/distar/envs/distar_env.py +++ /dev/null @@ -1,702 +0,0 @@ -from typing import Optional, List -from copy import deepcopy -from collections import defaultdict -from s2clientprotocol import sc2api_pb2 as sc_pb -from pysc2.lib import named_array, colors, point -from pysc2.lib.features import Effects, ScoreCategories, FeatureType, Feature -from torch import int8, uint8, int16, int32, float32, float16, int64 - -import six -import collections -import enum -import json -import random -import numpy as np -import torch -import os.path as osp - -from ding.envs import BaseEnv, BaseEnvTimestep -try: - from distar.envs.env import SC2Env -except ImportError: - - class SC2Env: - pass -from .meta import MAX_DELAY, MAX_SELECTED_UNITS_NUM, DEFAULT_SPATIAL_SIZE, MAX_ENTITY_NUM, NUM_UPGRADES, NUM_ACTIONS, \ - NUM_UNIT_TYPES, NUM_UNIT_MIX_ABILITIES, EFFECT_LENGTH, UPGRADE_LENGTH, BEGINNING_ORDER_LENGTH -from .static_data import ACTIONS_STAT, RACE_DICT, UNIT_TYPES_REORDER_ARRAY, UPGRADES_REORDER_ARRAY, \ - CUMULATIVE_STAT_ACTIONS, UNIT_ABILITY_REORDER, ABILITY_TO_QUEUE_ACTION, BUFFS_REORDER_ARRAY, \ - ADDON_REORDER_ARRAY - - -class DIStarEnv(SC2Env, BaseEnv): - - def __init__(self, cfg): - super(DIStarEnv, self).__init__(cfg) - - def reset(self): - observations, game_info, map_name = super(DIStarEnv, self).reset() - - for policy_id, policy_obs in observations.items(): - policy_obs['game_info'] = game_info[policy_id] - map_size = game_info[policy_id].start_raw.map_size - policy_obs['map_name'] = map_name - policy_obs['map_size'] = map_size - - return observations - - def close(self): - super(DIStarEnv, self).close() - - def step(self, actions): - # In DI-engine, the return of BaseEnv.step is ('obs', 'reward', 'done', 'info') - # Here in DI-star, the return is ({'raw_obs': self._obs[agent_idx], 'opponent_obs': opponent_obs, - # 'action_result': self._action_result[agent_idx]}, reward, episode_complete) - next_observations, reward, done = super(DIStarEnv, self).step(actions) - # next_observations 和 observations 格式一样 - # reward 是 list [policy reward 1, policy reward 2] - # done 是 一个 bool 值 - info = {} - for policy_id in range(self._num_agents): - info[policy_id] = {} - if done: - info[policy_id]['final_eval_reward'] = reward[policy_id] - info[policy_id]['result'] = 'draws' - if reward[policy_id] == 1: - info[policy_id]['result'] = 'wins' - elif reward[policy_id] == -1: - info[policy_id]['result'] = 'losses' - timestep = BaseEnvTimestep(obs=next_observations, reward=reward, done=done, info=info) - return timestep - - def seed(self, seed, dynamic_seed=False): - self._random_seed = seed - - @property - def game_info(self): - return self._game_info - - @property - def map_name(self): - return self._map_name - - @property - def observation_space(self): - #TODO - pass - - @property - def action_space(self): - #TODO - pass - - @classmethod - def random_action(cls, obs): - raw = obs['raw_obs'].observation.raw_data - - all_unit_types = set() - self_unit_types = set() - - for u in raw.units: - # Here we select the units except “buildings that are in building progress” for simplification - if u.build_progress == 1: - all_unit_types.add(u.unit_type) - if u.alliance == 1: - self_unit_types.add(u.unit_type) - - avail_actions = [ - { - 0: { - 'exist_selected_types': [], - 'exist_target_types': [] - } - }, { - 168: { - 'exist_selected_types': [], - 'exist_target_types': [] - } - } - ] # no_op and raw_move_camera don't have seleted_units - - for action_id, action in ACTIONS_STAT.items(): - exist_selected_types = list(self_unit_types.intersection(set(action['selected_type']))) - exist_target_types = list(all_unit_types.intersection(set(action['target_type']))) - - # if an action should have target, but we don't have valid target in this observation, - # then discard this action - if len(action['target_type']) != 0 and len(exist_target_types) == 0: - continue - - if len(exist_selected_types) > 0: - avail_actions.append( - { - action_id: { - 'exist_selected_types': exist_selected_types, - 'exist_target_types': exist_target_types - } - } - ) - - current_action = random.choice(avail_actions) - func_id, exist_types = current_action.popitem() - - if func_id not in [0, 168]: - correspond_selected_units = [ - u.tag for u in raw.units if u.unit_type in exist_types['exist_selected_types'] and u.build_progress == 1 - ] - correspond_targets = [ - u.tag for u in raw.units if u.unit_type in exist_types['exist_target_types'] and u.build_progress == 1 - ] - - num_selected_unit = random.randint(0, min(MAX_SELECTED_UNITS_NUM, len(correspond_selected_units))) - - unit_tags = random.sample(correspond_selected_units, num_selected_unit) - target_unit_tag = random.choice(correspond_targets) if len(correspond_targets) > 0 else None - - else: - unit_tags = [] - target_unit_tag = None - - data = { - 'func_id': func_id, - 'skip_steps': random.randint(0, MAX_DELAY - 1), - # 'skip_steps': 8, - 'queued': random.randint(0, 1), - 'unit_tags': unit_tags, - 'target_unit_tag': target_unit_tag, - 'location': ( - random.randint(0, DEFAULT_SPATIAL_SIZE[0] - 1), random.randint(0, DEFAULT_SPATIAL_SIZE[1] - 1) - ) - } - return [data] - - @property - def reward_space(self): - #TODO - pass - - def __repr__(self): - return "DI-engine DI-star Env" - - -def parse_new_game(data, z_path: str, z_idx: Optional[None] = List): - # init Z - z_path = osp.join(osp.dirname(__file__), "z_files", z_path) - with open(z_path, 'r') as f: - z_data = json.load(f) - - raw_ob = data['raw_obs'] - game_info = data['game_info'] - map_size = data['map_size'] - if isinstance(map_size, list): - map_size = point.Point(map_size[0], map_size[1]) - map_name = data['map_name'] - requested_races = { - info.player_id: info.race_requested - for info in game_info.player_info if info.type != sc_pb.Observer - } - location = [] - for i in raw_ob.observation.raw_data.units: - if i.unit_type == 59 or i.unit_type == 18 or i.unit_type == 86: - location.append([i.pos.x, i.pos.y]) - assert len(location) == 1, 'no fog of war, check game version!' - _born_location = deepcopy(location[0]) - born_location = location[0] - born_location[0] = int(born_location[0]) - born_location[1] = int(map_size.y - born_location[1]) - born_location_str = str(born_location[0] + born_location[1] * 160) - - z_type = None - idx = None - race = RACE_DICT[requested_races[raw_ob.observation.player_common.player_id]] - opponent_id = 1 if raw_ob.observation.player_common.player_id == 2 else 2 - opponent_race = RACE_DICT[requested_races[opponent_id]] - if race == opponent_race: - mix_race = race - else: - mix_race = race + opponent_race - if z_idx is not None: - idx, z_type = random.choice(z_idx[map_name][mix_race][born_location_str]) - z = z_data[map_name][mix_race][born_location_str][idx] - else: - z = random.choice(z_data[map_name][mix_race][born_location_str]) - - if len(z) == 5: - target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type = z - else: - target_building_order, target_cumulative_stat, bo_location, target_z_loop = z - return race, requested_races, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type, _born_location - - -class FeatureUnit(enum.IntEnum): - """Indices for the `feature_unit` observations.""" - unit_type = 0 - alliance = 1 - cargo_space_taken = 2 - build_progress = 3 - health_max = 4 - shield_max = 5 - energy_max = 6 - display_type = 7 - owner = 8 - x = 9 - y = 10 - cloak = 11 - is_blip = 12 - is_powered = 13 - mineral_contents = 14 - vespene_contents = 15 - cargo_space_max = 16 - assigned_harvesters = 17 - weapon_cooldown = 18 - order_length = 19 # If zero, the unit is idle. - order_id_0 = 20 - order_id_1 = 21 - # tag = 22 # Unique identifier for a unit (only populated for raw units). - is_hallucination = 22 - buff_id_0 = 23 - buff_id_1 = 24 - addon_unit_type = 25 - is_active = 26 - order_progress_0 = 27 - order_progress_1 = 28 - order_id_2 = 29 - order_id_3 = 30 - is_in_cargo = 31 - attack_upgrade_level = 32 - armor_upgrade_level = 33 - shield_upgrade_level = 34 - health = 35 - shield = 36 - energy = 37 - - -class MinimapFeatures(collections.namedtuple( - "MinimapFeatures", - ["height_map", "visibility_map", "creep", "player_relative", "alerts", "pathable", "buildable"])): - """The set of minimap feature layers.""" - __slots__ = () - - def __new__(cls, **kwargs): - feats = {} - for name, (scale, type_, palette) in six.iteritems(kwargs): - feats[name] = Feature( - index=MinimapFeatures._fields.index(name), - name=name, - layer_set="minimap_renders", - full_name="minimap " + name, - scale=scale, - type=type_, - palette=palette(scale) if callable(palette) else palette, - clip=False - ) - return super(MinimapFeatures, cls).__new__(cls, **feats) # pytype: disable=missing-parameter - - -MINIMAP_FEATURES = MinimapFeatures( - height_map=(256, FeatureType.SCALAR, colors.height_map), - visibility_map=(4, FeatureType.CATEGORICAL, colors.VISIBILITY_PALETTE), - creep=(2, FeatureType.CATEGORICAL, colors.CREEP_PALETTE), - player_relative=(5, FeatureType.CATEGORICAL, colors.PLAYER_RELATIVE_PALETTE), - alerts=(2, FeatureType.CATEGORICAL, colors.winter), - pathable=(2, FeatureType.CATEGORICAL, colors.winter), - buildable=(2, FeatureType.CATEGORICAL, colors.winter), -) - -SPATIAL_INFO = [ - ('height_map', uint8), ('visibility_map', uint8), ('creep', uint8), ('player_relative', uint8), ('alerts', uint8), - ('pathable', uint8), ('buildable', uint8), ('effect_PsiStorm', int16), ('effect_NukeDot', int16), - ('effect_LiberatorDefenderZone', int16), ('effect_BlindingCloud', int16), ('effect_CorrosiveBile', int16), - ('effect_LurkerSpines', int16) -] - -# (name, dtype, size) -SCALAR_INFO = [ - ('home_race', uint8, ()), ('away_race', uint8, ()), ('upgrades', int16, (NUM_UPGRADES, )), ('time', float32, ()), - ('unit_counts_bow', uint8, (NUM_UNIT_TYPES, )), ('agent_statistics', float32, (10, )), - ('cumulative_stat', uint8, (len(CUMULATIVE_STAT_ACTIONS), )), - ('beginning_order', int16, (BEGINNING_ORDER_LENGTH, )), ('last_queued', int16, ()), ('last_delay', int16, ()), - ('last_action_type', int16, ()), ('bo_location', int16, (BEGINNING_ORDER_LENGTH, )), - ('unit_order_type', uint8, (NUM_UNIT_MIX_ABILITIES, )), ('unit_type_bool', uint8, (NUM_UNIT_TYPES, )), - ('enemy_unit_type_bool', uint8, (NUM_UNIT_TYPES, )) -] - -ENTITY_INFO = [ - ('unit_type', int16), ('alliance', uint8), ('cargo_space_taken', uint8), ('build_progress', float16), - ('health_ratio', float16), ('shield_ratio', float16), ('energy_ratio', float16), ('display_type', uint8), - ('x', uint8), ('y', uint8), ('cloak', uint8), ('is_blip', uint8), ('is_powered', uint8), - ('mineral_contents', float16), ('vespene_contents', float16), ('cargo_space_max', uint8), - ('assigned_harvesters', uint8), ('weapon_cooldown', uint8), ('order_length', uint8), ('order_id_0', int16), - ('order_id_1', int16), ('is_hallucination', uint8), ('buff_id_0', uint8), ('buff_id_1', uint8), - ('addon_unit_type', uint8), ('is_active', uint8), ('order_progress_0', float16), ('order_progress_1', float16), - ('order_id_2', int16), ('order_id_3', int16), ('is_in_cargo', uint8), ('attack_upgrade_level', uint8), - ('armor_upgrade_level', uint8), ('shield_upgrade_level', uint8), ('last_selected_units', int8), - ('last_targeted_unit', int8) -] - -ACTION_INFO = { - 'action_type': torch.tensor(0, dtype=torch.long), - 'delay': torch.tensor(0, dtype=torch.long), - 'queued': torch.tensor(0, dtype=torch.long), - 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), - 'target_unit': torch.tensor(0, dtype=torch.long), - 'target_location': torch.tensor(0, dtype=torch.long) -} - -ACTION_LOGP = { - 'action_type': torch.tensor(0, dtype=torch.float), - 'delay': torch.tensor(0, dtype=torch.float), - 'queued': torch.tensor(0, dtype=torch.float), - 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, ), dtype=torch.float), - 'target_unit': torch.tensor(0, dtype=torch.float), - 'target_location': torch.tensor(0, dtype=torch.float) -} - -ACTION_LOGIT = { - 'action_type': torch.zeros(NUM_ACTIONS, dtype=torch.float), - 'delay': torch.zeros(MAX_DELAY + 1, dtype=torch.float), - 'queued': torch.zeros(2, dtype=torch.float), - 'selected_units': torch.zeros((MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1), dtype=torch.float), - 'target_unit': torch.zeros(MAX_ENTITY_NUM, dtype=torch.float), - 'target_location': torch.zeros(DEFAULT_SPATIAL_SIZE[0] * DEFAULT_SPATIAL_SIZE[1], dtype=torch.float) -} - - -def compute_battle_score(obs): - if obs is None: - return 0. - score_details = obs.observation.score.score_details - killed_mineral, killed_vespene = 0., 0. - for s in ScoreCategories: - killed_mineral += getattr(score_details.killed_minerals, s.name) - killed_vespene += getattr(score_details.killed_vespene, s.name) - battle_score = killed_mineral + 1.5 * killed_vespene - return battle_score - - -def transform_obs(obs, map_size, requested_races, padding_spatial=False, opponent_obs=None): - spatial_info = defaultdict(list) - scalar_info = {} - entity_info = {} - game_info = {} - - raw = obs.observation.raw_data - # spatial info - for f in MINIMAP_FEATURES: - d = f.unpack(obs.observation).copy() - d = torch.from_numpy(d) - padding_y = DEFAULT_SPATIAL_SIZE[0] - d.shape[0] - padding_x = DEFAULT_SPATIAL_SIZE[1] - d.shape[1] - if (padding_y != 0 or padding_x != 0) and padding_spatial: - d = torch.nn.functional.pad(d, (0, padding_x, 0, padding_y), 'constant', 0) - spatial_info[f.name] = d - for e in raw.effects: - name = Effects(e.effect_id).name - if name in ['LiberatorDefenderZone', 'LurkerSpines'] and e.owner == 1: - continue - for p in e.pos: - location = int(p.x) + int(map_size.y - p.y) * DEFAULT_SPATIAL_SIZE[1] - spatial_info['effect_' + name].append(location) - for k, _ in SPATIAL_INFO: - if 'effect' in k: - padding_num = EFFECT_LENGTH - len(spatial_info[k]) - if padding_num > 0: - spatial_info[k] += [0] * padding_num - else: - spatial_info[k] = spatial_info[k][:EFFECT_LENGTH] - spatial_info[k] = torch.as_tensor(spatial_info[k], dtype=int16) - - # entity info - tag_types = {} # Only populate the cache if it's needed. - - def get_addon_type(tag): - if not tag_types: - for u in raw.units: - tag_types[u.tag] = u.unit_type - return tag_types.get(tag, 0) - - tags = [] - units = [] - for u in raw.units: - tags.append(u.tag) - units.append( - [ - u.unit_type, - u.alliance, # Self = 1, Ally = 2, Neutral = 3, Enemy = 4 - u.cargo_space_taken, - u.build_progress, - u.health_max, - u.shield_max, - u.energy_max, - u.display_type, # Visible = 1, Snapshot = 2, Hidden = 3 - u.owner, # 1-15, 16 = neutral - u.pos.x, - u.pos.y, - u.cloak, # Cloaked = 1, CloakedDetected = 2, NotCloaked = 3 - u.is_blip, - u.is_powered, - u.mineral_contents, - u.vespene_contents, - # Not populated for enemies or neutral - u.cargo_space_max, - u.assigned_harvesters, - u.weapon_cooldown, - len(u.orders), - u.orders[0].ability_id if len(u.orders) > 0 else 0, - u.orders[1].ability_id if len(u.orders) > 1 else 0, - u.is_hallucination, - u.buff_ids[0] if len(u.buff_ids) >= 1 else 0, - u.buff_ids[1] if len(u.buff_ids) >= 2 else 0, - get_addon_type(u.add_on_tag) if u.add_on_tag else 0, - u.is_active, - u.orders[0].progress if len(u.orders) >= 1 else 0, - u.orders[1].progress if len(u.orders) >= 2 else 0, - u.orders[2].ability_id if len(u.orders) > 2 else 0, - u.orders[3].ability_id if len(u.orders) > 3 else 0, - 0, - u.attack_upgrade_level, - u.armor_upgrade_level, - u.shield_upgrade_level, - u.health, - u.shield, - u.energy, - ] - ) - for v in u.passengers: - tags.append(v.tag) - units.append( - [ - v.unit_type, - u.alliance, # Self = 1, Ally = 2, Neutral = 3, Enemy = 4 - 0, - 0, - v.health_max, - v.shield_max, - v.energy_max, - 0, # Visible = 1, Snapshot = 2, Hidden = 3 - u.owner, # 1-15, 16 = neutral - u.pos.x, - u.pos.y, - 0, # Cloaked = 1, CloakedDetected = 2, NotCloaked = 3 - 0, - 0, - 0, - 0, - # Not populated for enemies or neutral - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - v.health, - v.shield, - v.energy, - ] - ) - units = units[:MAX_ENTITY_NUM] - tags = tags[:MAX_ENTITY_NUM] - raw_entity_info = named_array.NamedNumpyArray(units, [None, FeatureUnit], dtype=np.float32) - - for k, dtype in ENTITY_INFO: - if 'last' in k: - pass - elif k == 'unit_type': - entity_info[k] = UNIT_TYPES_REORDER_ARRAY[raw_entity_info[:, 'unit_type']].short() - elif 'order_id' in k: - order_idx = int(k.split('_')[-1]) - if order_idx == 0: - entity_info[k] = UNIT_ABILITY_REORDER[raw_entity_info[:, k]].short() - invalid_actions = entity_info[k] == -1 - if invalid_actions.any(): - print('[ERROR] invalid unit ability', raw_entity_info[invalid_actions, k]) - else: - entity_info[k] = ABILITY_TO_QUEUE_ACTION[raw_entity_info[:, k]].short() - invalid_actions = entity_info[k] == -1 - if invalid_actions.any(): - print('[ERROR] invalid queue ability', raw_entity_info[invalid_actions, k]) - elif 'buff_id' in k: - entity_info[k] = BUFFS_REORDER_ARRAY[raw_entity_info[:, k]].short() - elif k == 'addon_unit_type': - entity_info[k] = ADDON_REORDER_ARRAY[raw_entity_info[:, k]].short() - elif k == 'cargo_space_taken': - entity_info[k] = torch.as_tensor(raw_entity_info[:, 'cargo_space_taken'], dtype=dtype).clamp_(min=0, max=8) - elif k == 'cargo_space_max': - entity_info[k] = torch.as_tensor(raw_entity_info[:, 'cargo_space_max'], dtype=dtype).clamp_(min=0, max=8) - elif k == 'health_ratio': - entity_info[k] = torch.as_tensor( - raw_entity_info[:, 'health'], dtype=dtype - ) / (torch.as_tensor(raw_entity_info[:, 'health_max'], dtype=dtype) + 1e-6) - elif k == 'shield_ratio': - entity_info[k] = torch.as_tensor( - raw_entity_info[:, 'shield'], dtype=dtype - ) / (torch.as_tensor(raw_entity_info[:, 'shield_max'], dtype=dtype) + 1e-6) - elif k == 'energy_ratio': - entity_info[k] = torch.as_tensor( - raw_entity_info[:, 'energy'], dtype=dtype - ) / (torch.as_tensor(raw_entity_info[:, 'energy_max'], dtype=dtype) + 1e-6) - elif k == 'mineral_contents': - entity_info[k] = torch.as_tensor(raw_entity_info[:, 'mineral_contents'], dtype=dtype) / 1800 - elif k == 'vespene_contents': - entity_info[k] = torch.as_tensor(raw_entity_info[:, 'vespene_contents'], dtype=dtype) / 2500 - elif k == 'y': - entity_info[k] = torch.as_tensor(map_size.y - raw_entity_info[:, 'y'], dtype=dtype) - else: - entity_info[k] = torch.as_tensor(raw_entity_info[:, k], dtype=dtype) - - # scalar info - scalar_info['time'] = torch.tensor(obs.observation.game_loop, dtype=torch.float) - player = obs.observation.player_common - scalar_info['agent_statistics'] = torch.tensor( - [ - player.minerals, player.vespene, player.food_used, player.food_cap, player.food_army, player.food_workers, - player.idle_worker_count, player.army_count, player.warp_gate_count, player.larva_count - ], - dtype=torch.float - ) - scalar_info['agent_statistics'] = torch.log(scalar_info['agent_statistics'] + 1) - - scalar_info["home_race"] = torch.tensor(requested_races[player.player_id], dtype=torch.uint8) - for player_id, race in requested_races.items(): - if player_id != player.player_id: - scalar_info["away_race"] = torch.tensor(race, dtype=torch.uint8) - - upgrades = torch.zeros(NUM_UPGRADES, dtype=torch.uint8) - raw_upgrades = UPGRADES_REORDER_ARRAY[raw.player.upgrade_ids[:UPGRADE_LENGTH]] - upgrades.scatter_(dim=0, index=raw_upgrades, value=1.) - scalar_info["upgrades"] = upgrades - - unit_counts_bow = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - scalar_info['unit_type_bool'] = torch.zeros(NUM_UNIT_TYPES, dtype=uint8) - own_unit_types = entity_info['unit_type'][entity_info['alliance'] == 1] - scalar_info['unit_counts_bow'] = torch.scatter_add( - unit_counts_bow, dim=0, index=own_unit_types.long(), src=torch.ones_like(own_unit_types, dtype=torch.uint8) - ) - scalar_info['unit_type_bool'] = (scalar_info['unit_counts_bow'] > 0).to(uint8) - - scalar_info['unit_order_type'] = torch.zeros(NUM_UNIT_MIX_ABILITIES, dtype=uint8) - own_unit_orders = entity_info['order_id_0'][entity_info['alliance'] == 1] - scalar_info['unit_order_type'].scatter_(0, own_unit_orders.long(), torch.ones_like(own_unit_orders, dtype=uint8)) - - enemy_unit_types = entity_info['unit_type'][entity_info['alliance'] == 4] - enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - scalar_info['enemy_unit_type_bool'] = torch.scatter( - enemy_unit_type_bool, - dim=0, - index=enemy_unit_types.long(), - src=torch.ones_like(enemy_unit_types, dtype=torch.uint8) - ) - - # game info - game_info['action_result'] = [o.result for o in obs.action_errors] - game_info['game_loop'] = obs.observation.game_loop - game_info['tags'] = tags - game_info['battle_score'] = compute_battle_score(obs) - game_info['opponent_battle_score'] = 0. - ret = { - 'spatial_info': spatial_info, - 'scalar_info': scalar_info, - 'entity_num': torch.tensor(len(entity_info['unit_type']), dtype=torch.long), - 'entity_info': entity_info, - 'game_info': game_info, - } - - # value feature - if opponent_obs: - raw = opponent_obs.observation.raw_data - enemy_unit_counts_bow = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - enemy_x = [] - enemy_y = [] - enemy_unit_type = [] - unit_alliance = [] - for u in raw.units: - if u.alliance == 1: - enemy_x.append(u.pos.x) - enemy_y.append(u.pos.y) - enemy_unit_type.append(u.unit_type) - unit_alliance.append(1) - enemy_unit_type = UNIT_TYPES_REORDER_ARRAY[enemy_unit_type].short() - enemy_unit_counts_bow = torch.scatter_add( - enemy_unit_counts_bow, - dim=0, - index=enemy_unit_type.long(), - src=torch.ones_like(enemy_unit_type, dtype=torch.uint8) - ) - enemy_unit_type_bool = (enemy_unit_counts_bow > 0).to(uint8) - - unit_type = torch.cat([enemy_unit_type, own_unit_types], dim=0) - enemy_x = torch.as_tensor(enemy_x, dtype=uint8) - unit_x = torch.cat([enemy_x, entity_info['x'][entity_info['alliance'] == 1]], dim=0) - - enemy_y = torch.as_tensor(enemy_y, dtype=float32) - enemy_y = torch.as_tensor(map_size.y - enemy_y, dtype=uint8) - unit_y = torch.cat([enemy_y, entity_info['y'][entity_info['alliance'] == 1]], dim=0) - total_unit_count = len(unit_y) - unit_alliance += [0] * (total_unit_count - len(unit_alliance)) - unit_alliance = torch.as_tensor(unit_alliance, dtype=torch.bool) - - padding_num = MAX_ENTITY_NUM - total_unit_count - if padding_num > 0: - unit_x = torch.nn.functional.pad(unit_x, (0, padding_num), 'constant', 0) - unit_y = torch.nn.functional.pad(unit_y, (0, padding_num), 'constant', 0) - unit_type = torch.nn.functional.pad(unit_type, (0, padding_num), 'constant', 0) - unit_alliance = torch.nn.functional.pad(unit_alliance, (0, padding_num), 'constant', 0) - else: - unit_x = unit_x[:MAX_ENTITY_NUM] - unit_y = unit_y[:MAX_ENTITY_NUM] - unit_type = unit_type[:MAX_ENTITY_NUM] - unit_alliance = unit_alliance[:MAX_ENTITY_NUM] - - total_unit_count = torch.tensor(total_unit_count, dtype=torch.long) - - player = opponent_obs.observation.player_common - enemy_agent_statistics = torch.tensor( - [ - player.minerals, player.vespene, player.food_used, player.food_cap, player.food_army, - player.food_workers, player.idle_worker_count, player.army_count, player.warp_gate_count, - player.larva_count - ], - dtype=torch.float - ) - enemy_agent_statistics = torch.log(enemy_agent_statistics + 1) - enemy_raw_upgrades = UPGRADES_REORDER_ARRAY[raw.player.upgrade_ids[:UPGRADE_LENGTH]] - enemy_upgrades = torch.zeros(NUM_UPGRADES, dtype=torch.uint8) - enemy_upgrades.scatter_(dim=0, index=enemy_raw_upgrades, value=1.) - - d = MINIMAP_FEATURES.player_relative.unpack(opponent_obs.observation).copy() - d = torch.from_numpy(d) - padding_y = DEFAULT_SPATIAL_SIZE[0] - d.shape[0] - padding_x = DEFAULT_SPATIAL_SIZE[1] - d.shape[1] - if (padding_y != 0 or padding_x != 0) and padding_spatial: - d = torch.nn.functional.pad(d, (0, padding_x, 0, padding_y), 'constant', 0) - enemy_units_spatial = d == 1 - own_units_spatial = ret['spatial_info']['player_relative'] == 1 - value_feature = { - 'unit_type': unit_type, - 'enemy_unit_counts_bow': enemy_unit_counts_bow, - 'enemy_unit_type_bool': enemy_unit_type_bool, - 'unit_x': unit_x, - 'unit_y': unit_y, - 'unit_alliance': unit_alliance, - 'total_unit_count': total_unit_count, - 'enemy_agent_statistics': enemy_agent_statistics, - 'enemy_upgrades': enemy_upgrades, - 'own_units_spatial': own_units_spatial.unsqueeze(dim=0), - 'enemy_units_spatial': enemy_units_spatial.unsqueeze(dim=0) - } - ret['value_feature'] = value_feature - game_info['opponent_battle_score'] = compute_battle_score(opponent_obs) - return ret diff --git a/dizoo/distar/envs/fake_data.py b/dizoo/distar/envs/fake_data.py deleted file mode 100644 index 436d5fb1ab..0000000000 --- a/dizoo/distar/envs/fake_data.py +++ /dev/null @@ -1,673 +0,0 @@ -from typing import Sequence -import math -import six -import numpy as np -import torch - -from pysc2.lib import features, actions, point, units -from pysc2.maps.melee import Melee -from s2clientprotocol import raw_pb2 -from s2clientprotocol import sc2api_pb2 as sc_pb -from s2clientprotocol import score_pb2, common_pb2 - -from ding.utils.data import default_collate -from .meta import MAX_DELAY, MAX_ENTITY_NUM, NUM_ACTIONS, NUM_UNIT_TYPES, NUM_UPGRADES, NUM_CUMULATIVE_STAT_ACTIONS, \ - NUM_BEGINNING_ORDER_ACTIONS, NUM_UNIT_MIX_ABILITIES, NUM_QUEUE_ACTION, NUM_BUFFS, NUM_ADDON, \ - MAX_SELECTED_UNITS_NUM, DEFAULT_SPATIAL_SIZE - -H, W = DEFAULT_SPATIAL_SIZE - - -def spatial_info(): - return { - 'height_map': torch.rand(H, W), - 'visibility_map': torch.randint(0, 4, size=(H, W), dtype=torch.float), - 'creep': torch.randint(0, 2, size=(H, W), dtype=torch.float), - 'player_relative': torch.randint(0, 5, size=(H, W), dtype=torch.float), - 'alerts': torch.randint(0, 2, size=(H, W), dtype=torch.float), - 'pathable': torch.randint(0, 2, size=(H, W), dtype=torch.float), - 'buildable': torch.randint(0, 2, size=(H, W), dtype=torch.float), - 'effect_PsiStorm': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - 'effect_NukeDot': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - 'effect_LiberatorDefenderZone': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - 'effect_BlindingCloud': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - 'effect_CorrosiveBile': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - 'effect_LurkerSpines': torch.randint(0, min(H, W), size=(2, ), dtype=torch.float), - } - - -def entity_info(): - data = { - 'unit_type': torch.randint(0, NUM_UNIT_TYPES, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'alliance': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'cargo_space_taken': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'build_progress': torch.rand(MAX_ENTITY_NUM), - 'health_ratio': torch.rand(MAX_ENTITY_NUM), - 'shield_ratio': torch.rand(MAX_ENTITY_NUM), - 'energy_ratio': torch.rand(MAX_ENTITY_NUM), - 'display_type': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'x': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'y': torch.randint(0, 11, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'cloak': torch.randint(0, 5, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_blip': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_powered': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'mineral_contents': torch.rand(MAX_ENTITY_NUM), - 'vespene_contents': torch.rand(MAX_ENTITY_NUM), - 'cargo_space_max': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'assigned_harvesters': torch.randint(0, 24, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'weapon_cooldown': torch.randint(0, 32, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_length': torch.randint(0, 9, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_0': torch.randint(0, NUM_ACTIONS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_1': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_hallucination': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'buff_id_0': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'buff_id_1': torch.randint(0, NUM_BUFFS, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'addon_unit_type': torch.randint(0, NUM_ADDON, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_active': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_progress_0': torch.rand(MAX_ENTITY_NUM), - 'order_progress_1': torch.rand(MAX_ENTITY_NUM), - 'order_id_2': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'order_id_3': torch.randint(0, NUM_QUEUE_ACTION, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'is_in_cargo': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'attack_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'armor_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'shield_upgrade_level': torch.randint(0, 4, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'last_selected_units': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - 'last_targeted_unit': torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.float), - } - return data - - -def scalar_info(): - data = { - 'home_race': torch.randint(0, 4, size=(), dtype=torch.float), - 'away_race': torch.randint(0, 4, size=(), dtype=torch.float), - 'agent_statistics': torch.rand(10), - 'time': torch.randint(0, 100, size=(), dtype=torch.float), - 'unit_counts_bow': torch.randint(0, 10, size=(NUM_UNIT_TYPES, ), dtype=torch.float), - 'beginning_build_order': torch.randint(0, 20, size=(20, ), dtype=torch.float), - 'cumulative_stat': torch.randint(0, 2, size=(NUM_CUMULATIVE_STAT_ACTIONS, ), dtype=torch.float), - 'last_delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.float), - 'last_queued': torch.randint(0, 2, size=(), dtype=torch.float), - 'last_action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.float), - 'upgrades': torch.randint(0, 2, size=(NUM_UPGRADES, ), dtype=torch.float), - 'beginning_order': torch.randint(0, NUM_BEGINNING_ORDER_ACTIONS, size=(20, ), dtype=torch.float), - 'bo_location': torch.randint(0, 100 * 100, size=(20, ), dtype=torch.float), - 'unit_type_bool': torch.randint(0, 2, size=(NUM_UNIT_TYPES, ), dtype=torch.float), - 'enemy_unit_type_bool': torch.randint(0, 2, size=(NUM_UNIT_TYPES, ), dtype=torch.float), - 'unit_order_type': torch.randint(0, 2, size=(NUM_UNIT_MIX_ABILITIES, ), dtype=torch.float) - } - return data - - -def get_mask(action): - mask = { - 'action_type': torch.ones(1, dtype=torch.long).squeeze(), - 'delay': torch.ones(1, dtype=torch.long).squeeze(), - 'queued': torch.ones(1, dtype=torch.long).squeeze(), - 'selected_units': torch.randint(0, 2, size=(), dtype=torch.long), - 'target_unit': torch.randint(0, 2, size=(), dtype=torch.long), - 'target_location': torch.randint(0, 2, size=(), dtype=torch.long) - } - selected_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) - target_units_logits_mask = torch.randint(0, 2, size=(MAX_ENTITY_NUM, ), dtype=torch.long) - target_units_logits_mask[action['target_unit']] = 1 - cum_action_mask= torch.tensor(1.0,dtype=torch.float) - - return { - 'actions_mask': mask, - 'selected_units_logits_mask': selected_units_logits_mask, - 'target_units_logits_mask': target_units_logits_mask, - 'cum_action_mask': cum_action_mask - } - - -def action_info(): - data = { - 'action_type': torch.randint(0, NUM_ACTIONS, size=(), dtype=torch.long), - 'delay': torch.randint(0, MAX_DELAY, size=(), dtype=torch.long), - 'queued': torch.randint(0, 2, size=(), dtype=torch.long), - 'selected_units': torch.randint(0, 5, size=(MAX_SELECTED_UNITS_NUM, ), dtype=torch.long), - 'target_unit': torch.randint(0, MAX_ENTITY_NUM, size=(), dtype=torch.long), - 'target_location': torch.randint(0, H, size=(), dtype=torch.long) - } - mask = get_mask(data) - return data, mask - - -def action_logits(logp=False, action=None): - data = { - 'action_type': torch.rand(size=(NUM_ACTIONS, )) - 0.5, - 'delay': torch.rand(size=(MAX_DELAY, )) - 0.5, - 'queued': torch.rand(size=(2, )) - 0.5, - 'selected_units': torch.rand(size=(MAX_SELECTED_UNITS_NUM, MAX_ENTITY_NUM + 1)) - 0.5, - 'target_unit': torch.rand(size=(MAX_ENTITY_NUM, )) - 0.5, - 'target_location': torch.rand(size=(H * W, )) - 0.5 - } - if logp: - for k in data: - dist = torch.distributions.Categorical(logits=data[k]) - data[k] = dist.log_prob(action[k]) - return data - - -def rl_step_data(last=False): - action, mask = action_info() - teacher_action_logits = action_logits() - data = { - 'spatial_info': spatial_info(), - 'entity_info': entity_info(), - 'scalar_info': scalar_info(), - 'entity_num': torch.randint(5, 100, size=(), dtype=torch.long), - 'selected_units_num': torch.randint(0, MAX_SELECTED_UNITS_NUM, size=(), dtype=torch.long), - 'entity_location': torch.randint(0, H, size=(512, 2), dtype=torch.long), - 'hidden_state': [(torch.zeros(size=(384, )), torch.zeros(size=(384, ))) for _ in range(3)], - 'action_info': action, - 'behaviour_logp': action_logits(logp=True, action=action), - 'teacher_logit': action_logits(logp=False), - 'reward': { - 'winloss': torch.randint(-1, 1, size=(), dtype=torch.float), - 'build_order': torch.randint(-1, 1, size=(), dtype=torch.float), - 'built_unit': torch.randint(-1, 1, size=(), dtype=torch.float), - 'effect': torch.randint(-1, 1, size=(), dtype=torch.float), - 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), - 'battle': torch.randint(-1, 1, size=(), dtype=torch.float), - }, - 'step': torch.randint(100, 1000, size=(), dtype=torch.long), - 'mask': mask, - } - if last: - for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: - data.pop(k) - return data - - -def fake_rl_traj_with_last(unroll_len=4): - list_step_data = [] - for i in range(unroll_len): - step_data = rl_step_data() - list_step_data.append(step_data) - list_step_data.append(rl_step_data(last=True)) # last step - return list_step_data - - -def get_fake_rl_batch(batch_size=3, unroll_len=4): - data_batch = [fake_rl_traj_with_last(unroll_len) for _ in range(batch_size)] - return data_batch - - -class Unit(object): - """Class to hold unit data for the builder.""" - - def __init__( - self, - unit_type, # see lib/units.py - player_relative, # features.PlayerRelative, - health, - shields=0, - energy=0, - transport_slots_taken=0, - build_progress=1.0 - ): - - self.unit_type = unit_type - self.player_relative = player_relative - self.health = health - self.shields = shields - self.energy = energy - self.transport_slots_taken = transport_slots_taken - self.build_progress = build_progress - - def fill(self, unit_proto): - """Fill a proto unit data object from this Unit.""" - unit_proto.unit_type = self.unit_type - unit_proto.player_relative = self.player_relative - unit_proto.health = self.health - unit_proto.shields = self.shields - unit_proto.energy = self.energy - unit_proto.transport_slots_taken = self.transport_slots_taken - unit_proto.build_progress = self.build_progress - - def as_array(self): - """Return the unit represented as a numpy array.""" - return np.array( - [ - self.unit_type, self.player_relative, self.health, self.shields, self.energy, - self.transport_slots_taken, - int(self.build_progress * 100) - ], - dtype=np.int32 - ) - - def as_dict(self): - return vars(self) - - -class FeatureUnit(object): - """Class to hold feature unit data for the builder.""" - - def __init__( - self, - unit_type, # see lib/units - alliance, # features.PlayerRelative, - owner, # 1-15, 16=neutral - pos, # common_pb2.Point, - radius, - health, - health_max, - is_on_screen, - shield=0, - shield_max=0, - energy=0, - energy_max=0, - cargo_space_taken=0, - cargo_space_max=0, - build_progress=1.0, - facing=0.0, - display_type=raw_pb2.Visible, # raw_pb.DisplayType - cloak=raw_pb2.NotCloaked, # raw_pb.CloakState - is_selected=False, - is_blip=False, - is_powered=True, - mineral_contents=0, - vespene_contents=0, - assigned_harvesters=0, - ideal_harvesters=0, - weapon_cooldown=0.0, - orders=None, - is_flying=False, - is_burrowed=False, - is_hallucination=False, - is_active=False, - attack_upgrade_level=0, - armor_upgrade_level=0, - shield_upgrade_level=0, - ): - - self.unit_type = unit_type - self.alliance = alliance - self.owner = owner - self.pos = pos - self.radius = radius - self.health = health - self.health_max = health_max - self.is_on_screen = is_on_screen - self.shield = shield - self.shield_max = shield_max - self.energy = energy - self.energy_max = energy_max - self.cargo_space_taken = cargo_space_taken - self.cargo_space_max = cargo_space_max - self.build_progress = build_progress - self.facing = facing - self.display_type = display_type - self.cloak = cloak - self.is_selected = is_selected - self.is_blip = is_blip - self.is_powered = is_powered - self.mineral_contents = mineral_contents - self.vespene_contents = vespene_contents - self.assigned_harvesters = assigned_harvesters - self.ideal_harvesters = ideal_harvesters - self.weapon_cooldown = weapon_cooldown - self.is_flying = is_flying - self.is_burrowed = is_burrowed - self.is_hallucination = is_hallucination - self.is_active = is_active - self.attack_upgrade_level = attack_upgrade_level - self.armor_upgrade_level = armor_upgrade_level - self.shield_upgrade_level = shield_upgrade_level - if orders is not None: - self.orders = orders - - def as_dict(self): - return vars(self) - - -class FeatureResource(object): - """Class to hold feature unit data for the builder.""" - - def __init__( - self, - unit_type, # see lib/units - alliance, # features.PlayerRelative, - owner, # 1-15, 16=neutral - pos, # common_pb2.Point, - radius, - is_on_screen, - build_progress=1.0, - facing=0.0, - display_type=raw_pb2.Visible, # raw_pb.DisplayType - cloak=raw_pb2.NotCloaked, # raw_pb.CloakState - is_blip=False, - is_powered=True, - ): - - self.unit_type = unit_type - self.alliance = alliance - self.owner = owner - self.pos = pos - self.radius = radius - self.is_on_screen = is_on_screen - self.build_progress = build_progress - self.facing = facing - self.display_type = display_type - self.cloak = cloak - self.is_blip = is_blip - self.is_powered = is_powered - - def as_dict(self): - return vars(self) - - -class Builder(object): - """For test code - build a dummy ResponseObservation proto.""" - - def __init__(self, obs_spec): - self._game_loop = 1 - self._player_common = sc_pb.PlayerCommon( - player_id=1, - minerals=20, - vespene=50, - food_cap=36, - food_used=21, - food_army=6, - food_workers=15, - idle_worker_count=2, - army_count=6, - warp_gate_count=0, - ) - - self._score = 300 - self._score_type = Melee - self._score_details = score_pb2.ScoreDetails( - idle_production_time=0, - idle_worker_time=0, - total_value_units=190, - total_value_structures=230, - killed_value_units=0, - killed_value_structures=0, - collected_minerals=2130, - collected_vespene=560, - collection_rate_minerals=50, - collection_rate_vespene=20, - spent_minerals=2000, - spent_vespene=500, - food_used=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=self._player_common.food_used, technology=0.0, upgrade=0.0 - ), - killed_minerals=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 - ), - killed_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), - lost_minerals=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), - lost_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), - friendly_fire_minerals=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 - ), - friendly_fire_vespene=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 - ), - used_minerals=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), - used_vespene=score_pb2.CategoryScoreDetails(none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0), - total_used_minerals=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 - ), - total_used_vespene=score_pb2.CategoryScoreDetails( - none=0.0, army=0.0, economy=0.0, technology=0.0, upgrade=0.0 - ), - total_damage_dealt=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), - total_damage_taken=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), - total_healed=score_pb2.VitalScoreDetails(life=0.0, shields=0.0, energy=0.0), - ) - - self._obs_spec = obs_spec - self._single_select = None - self._multi_select = None - self._build_queue = None - self._production = None - self._feature_units = None - - def game_loop(self, game_loop): - self._game_loop = game_loop - return self - - # pylint:disable=unused-argument - def player_common( - self, - player_id=None, - minerals=None, - vespene=None, - food_cap=None, - food_used=None, - food_army=None, - food_workers=None, - idle_worker_count=None, - army_count=None, - warp_gate_count=None, - larva_count=None - ): - """Update some or all of the fields in the PlayerCommon data.""" - - args = dict(locals()) - for key, value in six.iteritems(args): - if value is not None and key != 'self': - setattr(self._player_common, key, value) - return self - - def score(self, score): - self._score = score - return self - - def score_details( - self, - idle_production_time=None, - idle_worker_time=None, - total_value_units=None, - total_value_structures=None, - killed_value_units=None, - killed_value_structures=None, - collected_minerals=None, - collected_vespene=None, - collection_rate_minerals=None, - collection_rate_vespene=None, - spent_minerals=None, - spent_vespene=None - ): - """Update some or all of the fields in the ScoreDetails data.""" - - args = dict(locals()) - for key, value in six.iteritems(args): - if value is not None and key != 'self': - setattr(self._score_details, key, value) - return self - - # pylint:enable=unused-argument - - def score_by_category(self, entry_name, none, army, economy, technology, upgrade): - - field = getattr(self._score_details, entry_name) - field.CopyFrom( - score_pb2.CategoryScoreDetails( - none=none, army=army, economy=economy, technology=technology, upgrade=upgrade - ) - ) - - def score_by_vital(self, entry_name, life, shields, energy): - field = getattr(self._score_details, entry_name) - field.CopyFrom(score_pb2.VitalScoreDetails(life=life, shields=shields, energy=energy)) - - def single_select(self, unit): - self._single_select = unit - return self - - def multi_select(self, units): - self._multi_select = units - return self - - def build_queue(self, build_queue, production=None): - self._build_queue = build_queue - self._production = production - return self - - def feature_units(self, feature_units): - self._feature_units = feature_units - return self - - def build(self): - """Builds and returns a proto ResponseObservation.""" - response_observation = sc_pb.ResponseObservation() - obs = response_observation.observation - - obs.game_loop = self._game_loop - obs.player_common.CopyFrom(self._player_common) - - obs.score.score_type = 2 - obs.score.score = self._score - obs.score.score_details.CopyFrom(self._score_details) - - def fill(image_data, size, bits): - image_data.bits_per_pixel = bits - image_data.size.y = size[0] - image_data.size.x = size[1] - image_data.data = b'\0' * int(math.ceil(size[0] * size[1] * bits / 8)) - - if 'feature_screen' in self._obs_spec: - for feature in features.SCREEN_FEATURES: - fill(getattr(obs.feature_layer_data.renders, feature.name), self._obs_spec['feature_screen'][1:], 8) - - if 'feature_minimap' in self._obs_spec: - for feature in features.MINIMAP_FEATURES: - fill( - getattr(obs.feature_layer_data.minimap_renders, feature.name), - self._obs_spec['feature_minimap'][1:], 8 - ) - - # if 'rgb_screen' in self._obs_spec: - # fill(obs.render_data.map, self._obs_spec['rgb_screen'][:2], 24) - - # if 'rgb_minimap' in self._obs_spec: - # fill(obs.render_data.minimap, self._obs_spec['rgb_minimap'][:2], 24) - - if self._single_select: - self._single_select.fill(obs.ui_data.single.unit) - - if self._multi_select: - for unit in self._multi_select: - obs.ui_data.multi.units.add(**unit.as_dict()) - - if self._build_queue: - for unit in self._build_queue: - obs.ui_data.production.build_queue.add(**unit.as_dict()) - - if self._production: - for item in self._production: - obs.ui_data.production.production_queue.add(**item) - - if self._feature_units: - for tag, feature_unit in enumerate(self._feature_units, 1): - args = dict(tag=tag) - args.update(feature_unit.as_dict()) - obs.raw_data.units.add(**args) - - return response_observation - - -def fake_raw_obs(): - _features = features.Features( - features.AgentInterfaceFormat( - feature_dimensions=features.Dimensions(screen=(1, 1), minimap=(W, H)), - rgb_dimensions=features.Dimensions(screen=(128, 124), minimap=(1, 1)), - action_space=actions.ActionSpace.RAW, - use_raw_units=True - ), - map_size=point.Point(256, 256) - ) - obs_spec = _features.observation_spec() - builder = Builder(obs_spec).game_loop(0) - feature_units = [ - FeatureResource( - units.Neutral.MineralField, - features.PlayerRelative.NEUTRAL, - owner=16, - pos=common_pb2.Point(x=10, y=10, z=0), - facing=0.0, - radius=1.125, - build_progress=1.0, - cloak=raw_pb2.CloakedUnknown, - is_on_screen=True, - is_blip=False, - is_powered=False, - ), - FeatureResource( - units.Neutral.MineralField, - features.PlayerRelative.NEUTRAL, - owner=16, - pos=common_pb2.Point(x=120, y=10, z=0), - facing=0.0, - radius=1.125, - build_progress=1.0, - cloak=raw_pb2.CloakedUnknown, - is_on_screen=False, - is_blip=False, - is_powered=False, - ), - FeatureResource( - units.Neutral.MineralField, - features.PlayerRelative.NEUTRAL, - owner=16, - pos=common_pb2.Point(x=10, y=120, z=0), - facing=0.0, - radius=1.125, - build_progress=1.0, - cloak=raw_pb2.CloakedUnknown, - is_on_screen=False, - is_blip=False, - is_powered=False, - ), - FeatureResource( - units.Neutral.MineralField, - features.PlayerRelative.NEUTRAL, - owner=16, - pos=common_pb2.Point(x=120, y=120, z=0), - facing=0.0, - radius=1.125, - build_progress=1.0, - cloak=raw_pb2.CloakedUnknown, - is_on_screen=False, - is_blip=False, - is_powered=False, - ), - FeatureUnit( - units.Zerg.Drone, - features.PlayerRelative.SELF, - owner=1, - display_type=raw_pb2.Visible, - pos=common_pb2.Point(x=10, y=11, z=0), - radius=0.375, - facing=3, - cloak=raw_pb2.NotCloaked, - is_selected=False, - is_on_screen=True, - is_blip=False, - health_max=40, - health=40, - is_flying=False, - is_burrowed=False - ), - ] - - builder.feature_units(feature_units) - return builder.build() - - -def get_fake_env_step_data(): - return {'raw_obs': fake_raw_obs(), 'opponent_obs': None, 'action_result': [0]} - - -def get_fake_env_reset_data(): - import os - import pickle - with open(os.path.join(os.path.dirname(__file__), 'fake_reset.pkl'), 'rb') as f: - data = pickle.load(f) - return data diff --git a/dizoo/distar/envs/meta.py b/dizoo/distar/envs/meta.py deleted file mode 100644 index 7f6d137206..0000000000 --- a/dizoo/distar/envs/meta.py +++ /dev/null @@ -1,16 +0,0 @@ -MAX_DELAY = 128 -MAX_ENTITY_NUM = 512 -MAX_SELECTED_UNITS_NUM = 64 -NUM_UNIT_TYPES = 260 -NUM_ACTIONS = 327 -NUM_UPGRADES = 90 -NUM_CUMULATIVE_STAT_ACTIONS = 167 -NUM_BEGINNING_ORDER_ACTIONS = 174 -NUM_UNIT_MIX_ABILITIES = 269 -NUM_QUEUE_ACTION = 49 -NUM_BUFFS = 50 -NUM_ADDON = 9 -DEFAULT_SPATIAL_SIZE = [152, 160] -EFFECT_LENGTH = 100 -UPGRADE_LENGTH = 20 -BEGINNING_ORDER_LENGTH = 20 diff --git a/dizoo/distar/envs/stat.py b/dizoo/distar/envs/stat.py deleted file mode 100644 index cebc3a028c..0000000000 --- a/dizoo/distar/envs/stat.py +++ /dev/null @@ -1,789 +0,0 @@ -from collections import defaultdict -import torch -from .static_data import ACTIONS - - -class Stat(object): - - def __init__(self, race_id): - self._unit_num = defaultdict(int) - self._unit_num['max_unit_num'] = 0 - self._race_id = race_id - for k, v in unit_dict[race_id].items(): - self._unit_num[v] = 0 - self._action_success_count = defaultdict(int) - - def update(self, last_action_type, action_result, observation, game_step): - if action_result < 1: - return - if action_result == 1: - self.count_unit_num(last_action_type) - entity_info, entity_num = observation['entity_info'], observation['entity_num'] - try: - if (entity_info['alliance'][:entity_num] == 1).sum() > 10: - self.success_rate_calc(last_action_type, action_result) - except Exception as e: - print('ERROR_ stat.py', e, entity_info['alliance'], entity_num) - - def success_rate_calc(self, last_action_type, action_result): - action_name = ACTIONS[last_action_type]['name'] - error_msg = action_result_dict[action_result] - self._action_success_count['rate/{}/{}'.format(action_name, error_msg)] += 1 - self._action_success_count['rate/{}/{}'.format(action_name, 'count')] += 1 - - def get_stat_data(self): - data = {} - for k, v in self._unit_num.items(): - if k != 'max_unit_num': - data['units/' + k] = v / self._unit_num['max_unit_num'] - for k, v in self._action_success_count.items(): - action_type = k.split('rate/')[1].split('/')[0] - if 'count' in k: - data[k] = v - else: - data[k] = v / (self._action_success_count['rate/{}/{}'.format(action_type, 'count')] + 1e-6) - return data - - def count_unit_num(self, last_action_type): - unit_name = self.get_build_unit_name(last_action_type, self._race_id) - if not unit_name: - return - self._unit_num[unit_name] += 1 - self._unit_num['max_unit_num'] = max(self._unit_num[unit_name], self._unit_num['max_unit_num']) - - @staticmethod - def get_build_unit_name(action_type, race_id): - action_type = ACTIONS[action_type]['func_id'] - unit_name = unit_dict[race_id].get(action_type, False) - return unit_name - - def set_race_id(self, race_id: int): - self._race_id = race_id - - @property - def unit_num(self): - return self._unit_num - - -unit_dict = { - 'zerg': { - 383: 'BroodLord', - 391: 'Lurker', - 395: 'OverlordTransport', - 396: 'Overseer', - 400: 'Ravager', - 498: 'Baneling', - 501: 'Corruptor', - 503: 'Drone', - 507: 'Hydralisk', - 508: 'Infestor', - 514: 'Mutalisk', - 515: 'Overlord', - 516: 'Queen', - 519: 'Roach', - 522: 'SwarmHost', - 524: 'Ultralisk', - 526: 'Viper', - 528: 'Zergling' - }, - 'terran': { - 499: 'Banshee', - 500: 'Battlecruiser', - 502: 'Cyclone', - 504: 'Ghost', - 505: 'Hellbat', - 506: 'Hellion', - 509: 'Liberator', - 510: 'Marauder', - 511: 'Marine', - 512: 'Medivac', - 517: 'Raven', - 518: 'Reaper', - 520: 'SCV', - 521: 'SiegeTank', - 523: 'Thor', - 525: 'VikingFighter', - 527: 'WidowMine' - }, - 'protoss': { - 86: 'Archon', - 393: 'Mothership', - 54: 'Adept', - 56: 'Carrier', - 62: 'Colossus', - 52: 'DarkTemplar', - 166: 'Disruptor', - 51: 'HighTemplar', - 63: 'Immortal', - 513: 'MothershipCore', - 21: 'Mothership', - 61: 'Observer', - 58: 'Oracle', - 55: 'Phoenix', - 64: 'Probe', - 53: 'Sentry', - 50: 'Stalker', - 59: 'Tempest', - 57: 'VoidRay', - 76: 'Adept', - 74: 'DarkTemplar', - 73: 'HighTemplar', - 60: 'WarpPrism', - 75: 'Sentry', - 72: 'Stalker', - 71: 'Zealot', - 49: 'Zealot' - } -} - -cum_dict = [ - { - 'race': ['zerg', 'terran', 'protoss'], - 'name': 'no_op' - }, { - 'race': ['terran'], - 'name': 'Armory' - }, { - 'race': ['protoss'], - 'name': 'Assimilator' - }, { - 'race': ['zerg'], - 'name': 'BanelingNest' - }, { - 'race': ['terran'], - 'name': 'Barracks' - }, { - 'race': ['terran'], - 'name': 'CommandCenter' - }, { - 'race': ['protoss'], - 'name': 'CyberneticsCore' - }, { - 'race': ['protoss'], - 'name': 'DarkShrine' - }, { - 'race': ['terran'], - 'name': 'EngineeringBay' - }, { - 'race': ['zerg'], - 'name': 'EvolutionChamber' - }, { - 'race': ['zerg'], - 'name': 'Extractor' - }, { - 'race': ['terran'], - 'name': 'Factory' - }, { - 'race': ['protoss'], - 'name': 'FleetBeacon' - }, { - 'race': ['protoss'], - 'name': 'Forge' - }, { - 'race': ['terran'], - 'name': 'FusionCore' - }, { - 'race': ['protoss'], - 'name': 'Gateway' - }, { - 'race': ['terran'], - 'name': 'GhostAcademy' - }, { - 'race': ['zerg'], - 'name': 'Hatchery' - }, { - 'race': ['zerg'], - 'name': 'HydraliskDen' - }, { - 'race': ['zerg'], - 'name': 'InfestationPit' - }, { - 'race': ['protoss'], - 'name': 'Interceptors' - }, { - 'race': ['protoss'], - 'name': 'Interceptors' - }, { - 'race': ['zerg'], - 'name': 'LurkerDen' - }, { - 'race': ['protoss'], - 'name': 'Nexus' - }, { - 'race': ['terran'], - 'name': 'Nuke' - }, { - 'race': ['zerg'], - 'name': 'NydusNetwork' - }, { - 'race': ['zerg'], - 'name': 'NydusWorm' - }, { - 'race': ['terran'], - 'name': 'Reactor' - }, { - 'race': ['terran'], - 'name': 'Reactor' - }, { - 'race': ['terran'], - 'name': 'Refinery' - }, { - 'race': ['zerg'], - 'name': 'RoachWarren' - }, { - 'race': ['protoss'], - 'name': 'RoboticsBay' - }, { - 'race': ['protoss'], - 'name': 'RoboticsFacility' - }, { - 'race': ['terran'], - 'name': 'SensorTower' - }, { - 'race': ['zerg'], - 'name': 'SpawningPool' - }, { - 'race': ['zerg'], - 'name': 'Spire' - }, { - 'race': ['protoss'], - 'name': 'Stargate' - }, { - 'race': ['terran'], - 'name': 'Starport' - }, { - 'race': ['protoss'], - 'name': 'StasisTrap' - }, { - 'race': ['terran'], - 'name': 'TechLab' - }, { - 'race': ['terran'], - 'name': 'TechLab' - }, { - 'race': ['protoss'], - 'name': 'TemplarArchive' - }, { - 'race': ['protoss'], - 'name': 'TwilightCouncil' - }, { - 'race': ['zerg'], - 'name': 'UltraliskCavern' - }, { - 'race': ['protoss'], - 'name': 'Archon' - }, { - 'race': ['zerg'], - 'name': 'BroodLord' - }, { - 'race': ['zerg'], - 'name': 'GreaterSpire' - }, { - 'race': ['zerg'], - 'name': 'Hive' - }, { - 'race': ['zerg'], - 'name': 'Lair' - }, { - 'race': ['zerg'], - 'name': 'LurkerDen' - }, { - 'race': ['zerg'], - 'name': 'Lurker' - }, { - 'race': ['protoss'], - 'name': 'Mothership' - }, { - 'race': ['terran'], - 'name': 'OrbitalCommand' - }, { - 'race': ['zerg'], - 'name': 'OverlordTransport' - }, { - 'race': ['terran'], - 'name': 'PlanetaryFortress' - }, { - 'race': ['zerg'], - 'name': 'Ravager' - }, { - 'race': ['zerg'], - 'name': 'Research_AdaptiveTalons' - }, { - 'race': ['protoss'], - 'name': 'Research_AdeptResonatingGlaives' - }, { - 'race': ['terran'], - 'name': 'Research_AdvancedBallistics' - }, { - 'race': ['zerg'], - 'name': 'Research_AnabolicSynthesis' - }, { - 'race': ['terran'], - 'name': 'Research_BansheeCloakingField' - }, { - 'race': ['terran'], - 'name': 'Research_BansheeHyperflightRotors' - }, { - 'race': ['terran'], - 'name': 'Research_BattlecruiserWeaponRefit' - }, { - 'race': ['protoss'], - 'name': 'Research_Blink' - }, { - 'race': ['zerg'], - 'name': 'Research_Burrow' - }, { - 'race': ['zerg'], - 'name': 'Research_CentrifugalHooks' - }, { - 'race': ['protoss'], - 'name': 'Research_Charge' - }, { - 'race': ['zerg'], - 'name': 'Research_ChitinousPlating' - }, { - 'race': ['terran'], - 'name': 'Research_CombatShield' - }, { - 'race': ['terran'], - 'name': 'Research_ConcussiveShells' - }, { - 'race': ['terran'], - 'name': 'Research_CycloneLockOnDamage' - }, { - 'race': ['terran'], - 'name': 'Research_CycloneRapidFireLaunchers' - }, { - 'race': ['terran'], - 'name': 'Research_DrillingClaws' - }, { - 'race': ['terran'], - 'name': 'Research_EnhancedShockwaves' - }, { - 'race': ['protoss'], - 'name': 'Research_ExtendedThermalLance' - }, { - 'race': ['zerg'], - 'name': 'Research_GlialRegeneration' - }, { - 'race': ['protoss'], - 'name': 'Research_GraviticBooster' - }, { - 'race': ['protoss'], - 'name': 'Research_GraviticDrive' - }, { - 'race': ['zerg'], - 'name': 'Research_GroovedSpines' - }, { - 'race': ['terran'], - 'name': 'Research_HighCapacityFuelTanks' - }, { - 'race': ['terran'], - 'name': 'Research_HiSecAutoTracking' - }, { - 'race': ['terran'], - 'name': 'Research_InfernalPreigniter' - }, { - 'race': ['protoss'], - 'name': 'Research_InterceptorGravitonCatapult' - }, { - 'race': ['zerg'], - 'name': 'Research_MuscularAugments' - }, { - 'race': ['terran'], - 'name': 'Research_NeosteelFrame' - }, { - 'race': ['zerg'], - 'name': 'Research_NeuralParasite' - }, { - 'race': ['zerg'], - 'name': 'Research_PathogenGlands' - }, { - 'race': ['terran'], - 'name': 'Research_PersonalCloaking' - }, { - 'race': ['protoss'], - 'name': 'Research_PhoenixAnionPulseCrystals' - }, { - 'race': ['zerg'], - 'name': 'Research_PneumatizedCarapace' - }, { - 'race': ['protoss'], - 'name': 'Research_ProtossAirArmor' - }, { - 'race': ['protoss'], - 'name': 'Research_ProtossAirWeapons' - }, { - 'race': ['protoss'], - 'name': 'Research_ProtossGroundArmor' - }, { - 'race': ['protoss'], - 'name': 'Research_ProtossGroundWeapons' - }, { - 'race': ['protoss'], - 'name': 'Research_ProtossShields' - }, { - 'race': ['protoss'], - 'name': 'Research_PsiStorm' - }, { - 'race': ['terran'], - 'name': 'Research_RavenCorvidReactor' - }, { - 'race': ['terran'], - 'name': 'Research_RavenRecalibratedExplosives' - }, { - 'race': ['protoss'], - 'name': 'Research_ShadowStrike' - }, { - 'race': ['terran'], - 'name': 'Research_SmartServos' - }, { - 'race': ['terran'], - 'name': 'Research_Stimpack' - }, { - 'race': ['terran'], - 'name': 'Research_TerranInfantryArmor' - }, { - 'race': ['terran'], - 'name': 'Research_TerranInfantryWeapons' - }, { - 'race': ['terran'], - 'name': 'Research_TerranShipWeapons' - }, { - 'race': ['terran'], - 'name': 'Research_TerranStructureArmorUpgrade' - }, { - 'race': ['terran'], - 'name': 'Research_TerranVehicleAndShipPlating' - }, { - 'race': ['terran'], - 'name': 'Research_TerranVehicleWeapons' - }, { - 'race': ['zerg'], - 'name': 'Research_TunnelingClaws' - }, { - 'race': ['protoss'], - 'name': 'Research_WarpGate' - }, { - 'race': ['zerg'], - 'name': 'Research_ZergFlyerArmor' - }, { - 'race': ['zerg'], - 'name': 'Research_ZergFlyerAttack' - }, { - 'race': ['zerg'], - 'name': 'Research_ZergGroundArmor' - }, { - 'race': ['zerg'], - 'name': 'Research_ZerglingAdrenalGlands' - }, { - 'race': ['zerg'], - 'name': 'Research_ZerglingMetabolicBoost' - }, { - 'race': ['zerg'], - 'name': 'Research_ZergMeleeWeapons' - }, { - 'race': ['zerg'], - 'name': 'Research_ZergMissileWeapons' - }, { - 'race': ['protoss'], - 'name': 'Adept' - }, { - 'race': ['zerg'], - 'name': 'Baneling' - }, { - 'race': ['terran'], - 'name': 'Banshee' - }, { - 'race': ['terran'], - 'name': 'Battlecruiser' - }, { - 'race': ['protoss'], - 'name': 'Carrier' - }, { - 'race': ['protoss'], - 'name': 'Colossus' - }, { - 'race': ['zerg'], - 'name': 'Corruptor' - }, { - 'race': ['terran'], - 'name': 'Cyclone' - }, { - 'race': ['protoss'], - 'name': 'DarkTemplar' - }, { - 'race': ['protoss'], - 'name': 'Disruptor' - }, { - 'race': ['terran'], - 'name': 'Ghost' - }, { - 'race': ['terran'], - 'name': 'Hellbat' - }, { - 'race': ['terran'], - 'name': 'Hellion' - }, { - 'race': ['protoss'], - 'name': 'HighTemplar' - }, { - 'race': ['zerg'], - 'name': 'Hydralisk' - }, { - 'race': ['protoss'], - 'name': 'Immortal' - }, { - 'race': ['zerg'], - 'name': 'Infestor' - }, { - 'race': ['terran'], - 'name': 'Liberator' - }, { - 'race': ['terran'], - 'name': 'Marauder' - }, { - 'race': ['terran'], - 'name': 'Marine' - }, { - 'race': ['terran'], - 'name': 'Medivac' - }, { - 'race': ['protoss'], - 'name': 'MothershipCore' - }, { - 'race': ['protoss'], - 'name': 'Mothership' - }, { - 'race': ['zerg'], - 'name': 'Mutalisk' - }, { - 'race': ['protoss'], - 'name': 'Observer' - }, { - 'race': ['protoss'], - 'name': 'Oracle' - }, { - 'race': ['protoss'], - 'name': 'Phoenix' - }, { - 'race': ['zerg'], - 'name': 'Queen' - }, { - 'race': ['terran'], - 'name': 'Raven' - }, { - 'race': ['terran'], - 'name': 'Reaper' - }, { - 'race': ['zerg'], - 'name': 'Roach' - }, { - 'race': ['protoss'], - 'name': 'Sentry' - }, { - 'race': ['terran'], - 'name': 'SiegeTank' - }, { - 'race': ['protoss'], - 'name': 'Stalker' - }, { - 'race': ['zerg'], - 'name': 'SwarmHost' - }, { - 'race': ['protoss'], - 'name': 'Tempest' - }, { - 'race': ['terran'], - 'name': 'Thor' - }, { - 'race': ['zerg'], - 'name': 'Ultralisk' - }, { - 'race': ['terran'], - 'name': 'VikingFighter' - }, { - 'race': ['zerg'], - 'name': 'Viper' - }, { - 'race': ['protoss'], - 'name': 'VoidRay' - }, { - 'race': ['protoss'], - 'name': 'Adept' - }, { - 'race': ['protoss'], - 'name': 'DarkTemplar' - }, { - 'race': ['protoss'], - 'name': 'HighTemplar' - }, { - 'race': ['protoss'], - 'name': 'WarpPrism' - }, { - 'race': ['protoss'], - 'name': 'Sentry' - }, { - 'race': ['protoss'], - 'name': 'Stalker' - }, { - 'race': ['protoss'], - 'name': 'Zealot' - }, { - 'race': ['terran'], - 'name': 'WidowMine' - }, { - 'race': ['protoss'], - 'name': 'Zealot' - }, { - 'race': ['zerg'], - 'name': 'Zergling' - } -] - -action_result_dict = [ - '', 'Success', 'ERROR_NotSupported', 'ERROR_Error', 'ERROR_CantQueueThatOrder', 'ERROR_Retry', 'ERROR_Cooldown', - 'ERROR_QueueIsFull', 'ERROR_RallyQueueIsFull', 'ERROR_NotEnoughMinerals', 'ERROR_NotEnoughVespene', - 'ERROR_NotEnoughTerrazine', 'ERROR_NotEnoughCustom', 'ERROR_NotEnoughFood', 'ERROR_FoodUsageImpossible', - 'ERROR_NotEnoughLife', 'ERROR_NotEnoughShields', 'ERROR_NotEnoughEnergy', 'ERROR_LifeSuppressed', - 'ERROR_ShieldsSuppressed', 'ERROR_EnergySuppressed', 'ERROR_NotEnoughCharges', 'ERROR_CantAddMoreCharges', - 'ERROR_TooMuchMinerals', 'ERROR_TooMuchVespene', 'ERROR_TooMuchTerrazine', 'ERROR_TooMuchCustom', - 'ERROR_TooMuchFood', 'ERROR_TooMuchLife', 'ERROR_TooMuchShields', 'ERROR_TooMuchEnergy', - 'ERROR_MustTargetUnitWithLife', 'ERROR_MustTargetUnitWithShields', 'ERROR_MustTargetUnitWithEnergy', - 'ERROR_CantTrade', 'ERROR_CantSpend', 'ERROR_CantTargetThatUnit', 'ERROR_CouldntAllocateUnit', 'ERROR_UnitCantMove', - 'ERROR_TransportIsHoldingPosition', 'ERROR_BuildTechRequirementsNotMet', 'ERROR_CantFindPlacementLocation', - 'ERROR_CantBuildOnThat', 'ERROR_CantBuildTooCloseToDropOff', 'ERROR_CantBuildLocationInvalid', - 'ERROR_CantSeeBuildLocation', 'ERROR_CantBuildTooCloseToCreepSource', 'ERROR_CantBuildTooCloseToResources', - 'ERROR_CantBuildTooFarFromWater', 'ERROR_CantBuildTooFarFromCreepSource', - 'ERROR_CantBuildTooFarFromBuildPowerSource', 'ERROR_CantBuildOnDenseTerrain', - 'ERROR_CantTrainTooFarFromTrainPowerSource', 'ERROR_CantLandLocationInvalid', 'ERROR_CantSeeLandLocation', - 'ERROR_CantLandTooCloseToCreepSource', 'ERROR_CantLandTooCloseToResources', 'ERROR_CantLandTooFarFromWater', - 'ERROR_CantLandTooFarFromCreepSource', 'ERROR_CantLandTooFarFromBuildPowerSource', - 'ERROR_CantLandTooFarFromTrainPowerSource', 'ERROR_CantLandOnDenseTerrain', 'ERROR_AddOnTooFarFromBuilding', - 'ERROR_MustBuildRefineryFirst', 'ERROR_BuildingIsUnderConstruction', 'ERROR_CantFindDropOff', - 'ERROR_CantLoadOtherPlayersUnits', 'ERROR_NotEnoughRoomToLoadUnit', 'ERROR_CantUnloadUnitsThere', - 'ERROR_CantWarpInUnitsThere', 'ERROR_CantLoadImmobileUnits', 'ERROR_CantRechargeImmobileUnits', - 'ERROR_CantRechargeUnderConstructionUnits', 'ERROR_CantLoadThatUnit', 'ERROR_NoCargoToUnload', - 'ERROR_LoadAllNoTargetsFound', 'ERROR_NotWhileOccupied', 'ERROR_CantAttackWithoutAmmo', 'ERROR_CantHoldAnyMoreAmmo', - 'ERROR_TechRequirementsNotMet', 'ERROR_MustLockdownUnitFirst', 'ERROR_MustTargetUnit', 'ERROR_MustTargetInventory', - 'ERROR_MustTargetVisibleUnit', 'ERROR_MustTargetVisibleLocation', 'ERROR_MustTargetWalkableLocation', - 'ERROR_MustTargetPawnableUnit', 'ERROR_YouCantControlThatUnit', 'ERROR_YouCantIssueCommandsToThatUnit', - 'ERROR_MustTargetResources', 'ERROR_RequiresHealTarget', 'ERROR_RequiresRepairTarget', 'ERROR_NoItemsToDrop', - 'ERROR_CantHoldAnyMoreItems', 'ERROR_CantHoldThat', 'ERROR_TargetHasNoInventory', 'ERROR_CantDropThisItem', - 'ERROR_CantMoveThisItem', 'ERROR_CantPawnThisUnit', 'ERROR_MustTargetCaster', 'ERROR_CantTargetCaster', - 'ERROR_MustTargetOuter', 'ERROR_CantTargetOuter', 'ERROR_MustTargetYourOwnUnits', 'ERROR_CantTargetYourOwnUnits', - 'ERROR_MustTargetFriendlyUnits', 'ERROR_CantTargetFriendlyUnits', 'ERROR_MustTargetNeutralUnits', - 'ERROR_CantTargetNeutralUnits', 'ERROR_MustTargetEnemyUnits', 'ERROR_CantTargetEnemyUnits', - 'ERROR_MustTargetAirUnits', 'ERROR_CantTargetAirUnits', 'ERROR_MustTargetGroundUnits', - 'ERROR_CantTargetGroundUnits', 'ERROR_MustTargetStructures', 'ERROR_CantTargetStructures', - 'ERROR_MustTargetLightUnits', 'ERROR_CantTargetLightUnits', 'ERROR_MustTargetArmoredUnits', - 'ERROR_CantTargetArmoredUnits', 'ERROR_MustTargetBiologicalUnits', 'ERROR_CantTargetBiologicalUnits', - 'ERROR_MustTargetHeroicUnits', 'ERROR_CantTargetHeroicUnits', 'ERROR_MustTargetRoboticUnits', - 'ERROR_CantTargetRoboticUnits', 'ERROR_MustTargetMechanicalUnits', 'ERROR_CantTargetMechanicalUnits', - 'ERROR_MustTargetPsionicUnits', 'ERROR_CantTargetPsionicUnits', 'ERROR_MustTargetMassiveUnits', - 'ERROR_CantTargetMassiveUnits', 'ERROR_MustTargetMissile', 'ERROR_CantTargetMissile', 'ERROR_MustTargetWorkerUnits', - 'ERROR_CantTargetWorkerUnits', 'ERROR_MustTargetEnergyCapableUnits', 'ERROR_CantTargetEnergyCapableUnits', - 'ERROR_MustTargetShieldCapableUnits', 'ERROR_CantTargetShieldCapableUnits', 'ERROR_MustTargetFlyers', - 'ERROR_CantTargetFlyers', 'ERROR_MustTargetBuriedUnits', 'ERROR_CantTargetBuriedUnits', - 'ERROR_MustTargetCloakedUnits', 'ERROR_CantTargetCloakedUnits', 'ERROR_MustTargetUnitsInAStasisField', - 'ERROR_CantTargetUnitsInAStasisField', 'ERROR_MustTargetUnderConstructionUnits', - 'ERROR_CantTargetUnderConstructionUnits', 'ERROR_MustTargetDeadUnits', 'ERROR_CantTargetDeadUnits', - 'ERROR_MustTargetRevivableUnits', 'ERROR_CantTargetRevivableUnits', 'ERROR_MustTargetHiddenUnits', - 'ERROR_CantTargetHiddenUnits', 'ERROR_CantRechargeOtherPlayersUnits', 'ERROR_MustTargetHallucinations', - 'ERROR_CantTargetHallucinations', 'ERROR_MustTargetInvulnerableUnits', 'ERROR_CantTargetInvulnerableUnits', - 'ERROR_MustTargetDetectedUnits', 'ERROR_CantTargetDetectedUnits', 'ERROR_CantTargetUnitWithEnergy', - 'ERROR_CantTargetUnitWithShields', 'ERROR_MustTargetUncommandableUnits', 'ERROR_CantTargetUncommandableUnits', - 'ERROR_MustTargetPreventDefeatUnits', 'ERROR_CantTargetPreventDefeatUnits', 'ERROR_MustTargetPreventRevealUnits', - 'ERROR_CantTargetPreventRevealUnits', 'ERROR_MustTargetPassiveUnits', 'ERROR_CantTargetPassiveUnits', - 'ERROR_MustTargetStunnedUnits', 'ERROR_CantTargetStunnedUnits', 'ERROR_MustTargetSummonedUnits', - 'ERROR_CantTargetSummonedUnits', 'ERROR_MustTargetUser1', 'ERROR_CantTargetUser1', - 'ERROR_MustTargetUnstoppableUnits', 'ERROR_CantTargetUnstoppableUnits', 'ERROR_MustTargetResistantUnits', - 'ERROR_CantTargetResistantUnits', 'ERROR_MustTargetDazedUnits', 'ERROR_CantTargetDazedUnits', 'ERROR_CantLockdown', - 'ERROR_CantMindControl', 'ERROR_MustTargetDestructibles', 'ERROR_CantTargetDestructibles', 'ERROR_MustTargetItems', - 'ERROR_CantTargetItems', 'ERROR_NoCalldownAvailable', 'ERROR_WaypointListFull', 'ERROR_MustTargetRace', - 'ERROR_CantTargetRace', 'ERROR_MustTargetSimilarUnits', 'ERROR_CantTargetSimilarUnits', - 'ERROR_CantFindEnoughTargets', 'ERROR_AlreadySpawningLarva', 'ERROR_CantTargetExhaustedResources', - 'ERROR_CantUseMinimap', 'ERROR_CantUseInfoPanel', 'ERROR_OrderQueueIsFull', 'ERROR_CantHarvestThatResource', - 'ERROR_HarvestersNotRequired', 'ERROR_AlreadyTargeted', 'ERROR_CantAttackWeaponsDisabled', - 'ERROR_CouldntReachTarget', 'ERROR_TargetIsOutOfRange', 'ERROR_TargetIsTooClose', 'ERROR_TargetIsOutOfArc', - 'ERROR_CantFindTeleportLocation', 'ERROR_InvalidItemClass', 'ERROR_CantFindCancelOrder' -] -NUM_ACTION_RESULT = 214 - -ACTION_RACE_MASK = { - 'zerg': torch.tensor( - [ - False, False, True, True, True, True, False, False, True, True, True, True, False, False, False, False, - True, False, False, False, True, False, False, False, True, True, False, False, False, False, False, False, - True, True, True, False, False, True, False, False, False, True, True, False, False, False, False, False, - True, False, False, False, False, True, True, True, True, False, False, False, False, False, False, False, - False, True, True, True, True, True, True, True, False, False, False, True, False, False, False, False, - True, False, False, False, False, False, True, True, False, False, True, False, False, True, True, False, - False, False, False, False, False, False, True, True, False, False, False, False, False, True, False, False, - True, False, False, True, False, False, False, False, False, False, False, False, False, True, True, True, - True, False, False, False, False, True, True, False, False, False, False, False, False, False, False, False, - False, False, False, False, False, False, False, False, False, False, True, True, True, False, False, False, - True, False, True, False, True, False, False, True, True, False, False, True, True, False, False, False, - True, True, True, True, False, True, True, False, False, False, False, False, False, False, True, False, - False, False, False, False, False, True, True, True, True, True, True, True, True, True, False, False, True, - False, False, False, False, True, True, False, True, False, False, False, False, False, False, False, True, - False, False, True, False, False, False, False, True, False, True, True, False, False, True, False, False, - False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, - True, False, True, True, True, True, True, True, True, True, True, True, False, True, False, False, False, - False, True, False, False, False, True, False, False, False, False, True, False, True, False, False, False, - False, False, False, True, False, False, True, False, False, True, False, False, True, False, False, False, - False, True, False, False, True, False, True, False, False, False, False, False, False, False, False, False, - False, True, True, True, True, True - ] - ), - 'terran': torch.tensor( - [ - False, False, True, True, False, False, True, True, False, False, True, True, False, False, True, False, - False, True, True, True, False, False, False, True, False, False, True, False, False, True, False, True, - False, False, False, False, False, False, True, False, True, False, False, False, False, True, True, True, - False, False, False, True, False, False, False, False, False, False, True, False, True, True, True, False, - False, False, True, True, True, True, True, False, False, True, True, False, False, False, True, True, - False, False, False, False, False, False, False, False, True, True, False, False, False, False, False, True, - False, False, True, True, False, False, False, False, True, True, True, True, True, False, False, True, - False, True, False, False, False, False, True, True, True, False, False, True, True, False, False, False, - True, True, True, True, False, False, False, False, True, True, True, True, False, False, False, False, - False, False, False, False, False, False, False, False, False, True, True, True, True, True, True, True, - True, False, False, False, False, True, True, False, False, True, True, False, False, False, False, True, - False, False, False, False, True, False, False, True, True, True, False, True, True, True, False, True, - True, False, False, False, False, True, True, True, True, True, True, True, True, False, False, True, False, - True, True, True, False, False, False, False, False, True, True, True, True, True, True, False, False, - False, False, False, True, True, True, False, False, True, False, False, True, False, False, False, False, - False, False, False, False, True, True, False, True, True, True, True, True, True, True, True, False, False, - False, False, False, False, False, False, False, True, True, True, False, False, True, True, False, False, - False, True, False, False, False, True, True, True, False, False, False, False, True, True, True, True, - False, False, False, False, False, False, False, False, False, True, True, False, True, False, True, False, - False, False, True, False, True, False, False, False, False, False, False, False, False, False, True, False, - False, True, True, True, True - ] - ), - 'protoss': torch.tensor( - [ - False, False, True, True, False, False, False, False, False, False, False, False, True, True, False, True, - False, False, False, False, False, True, True, False, False, False, False, True, True, False, True, False, - False, False, False, True, True, False, False, True, False, False, False, True, True, False, False, False, - False, True, True, False, True, False, False, False, False, True, False, True, False, False, False, True, - True, False, False, False, False, True, True, False, True, False, False, False, True, True, False, False, - False, True, True, True, True, True, False, False, False, False, False, True, True, False, False, False, - True, True, False, False, True, True, False, False, False, False, False, False, False, False, True, False, - False, False, True, False, True, True, False, False, False, True, True, False, False, False, False, False, - True, False, False, False, True, False, False, True, False, False, False, False, True, True, True, True, - True, True, True, True, True, True, True, True, True, False, True, True, True, False, False, False, True, - True, False, True, False, False, False, False, False, False, False, False, False, True, True, False, False, - False, False, False, False, False, False, False, False, False, True, False, False, False, False, False, - False, True, True, True, True, True, True, True, True, True, True, True, True, False, True, False, False, - False, False, False, True, False, False, True, False, False, False, False, False, False, False, True, False, - True, True, False, False, False, False, True, False, False, False, False, False, True, False, True, True, - True, True, True, True, False, False, True, False, False, False, False, False, False, False, False, False, - True, False, False, False, False, False, False, False, True, True, True, True, False, False, False, True, - True, False, False, True, True, False, False, False, False, True, False, True, False, False, False, False, - False, True, True, False, True, True, False, True, True, False, False, False, False, False, True, False, - True, False, True, False, False, False, False, True, True, True, True, True, True, True, True, False, True, - False, True, True, False, True - ] - ) -} diff --git a/dizoo/distar/envs/static_data.py b/dizoo/distar/envs/static_data.py deleted file mode 100644 index 824497efae..0000000000 --- a/dizoo/distar/envs/static_data.py +++ /dev/null @@ -1,2599 +0,0 @@ -import six -import torch -import numpy as np -from collections import defaultdict - -RACE_DICT = { - 1: 'terran', - 2: 'zerg', - 3: 'protoss', - 4: 'random', -} - -ACTION_INFO_MASK = \ - { - 0: {'name': 'no_op', 'func_type': 'raw_no_op', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': False}, - 168: {'name': 'raw_move_camera', 'func_type': 'raw_move_camera', 'ability_id': None, 'general_id': None, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': False, 'target_unit': False, 'target_location': True}, - 2: {'name': 'Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, - 3: {'name': 'Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3674, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 57, 24, 692, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 130, 56, 49, 45, 33, 32, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 73]}, - 4: {'name': 'Attack_Attack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 6: {'name': 'Attack_AttackBuilding_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 5: {'name': 'Attack_Attack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 23, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 7: {'name': 'Attack_AttackBuilding_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2048, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 539: {'name': 'Attack_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 540: {'name': 'Attack_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3771, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 8: {'name': 'Attack_Redirect_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 9: {'name': 'Attack_Redirect_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1682, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BUNKER', 'TERRAN_CYCLONE', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MISSILETURRET', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER', 'ZERG_ULTRALISK', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 24, 692, 50, 53, 484, 689, 734, 51, 48, 23, 130, 49, 45, 33, 32, 52, 691, 34, 35, 9, 289, 114, 112, 104, 107, 7, 489, 693, 503, 108, 126, 688, 110, 98, 99, 109, 105, 311, 141, 79, 4, 76, 83, 85, 10, 488, 78, 66, 84, 894, 77, 74, 496, 80, 73]}, - 88: {'name': 'Behavior_BuildingAttackOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2082, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 87: {'name': 'Behavior_BuildingAttackOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2081, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 169: {'name': 'Behavior_CloakOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3677, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, - 170: {'name': 'Behavior_CloakOff_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 393, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, - 171: {'name': 'Behavior_CloakOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 383, 'general_id': 3677, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 172: {'name': 'Behavior_CloakOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3676, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_GHOST'], 'avail_unit_type_id': [55, 50]}, - 173: {'name': 'Behavior_CloakOn_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 392, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE'], 'avail_unit_type_id': [55]}, - 174: {'name': 'Behavior_CloakOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 382, 'general_id': 3676, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 175: {'name': 'Behavior_GenerateCreepOff_quick', 'func_type': 'raw_cmd', 'ability_id': 1693, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 176: {'name': 'Behavior_GenerateCreepOn_quick', 'func_type': 'raw_cmd', 'ability_id': 1692, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 178: {'name': 'Behavior_HoldFireOff_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 38, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 179: {'name': 'Behavior_HoldFireOff_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2552, 'general_id': 3689, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, - 177: {'name': 'Behavior_HoldFireOff_quick', 'func_type': 'raw_cmd', 'ability_id': 3689, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, - 181: {'name': 'Behavior_HoldFireOn_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 36, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 182: {'name': 'Behavior_HoldFireOn_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2550, 'general_id': 3688, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, - 180: {'name': 'Behavior_HoldFireOn_quick', 'func_type': 'raw_cmd', 'ability_id': 3688, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST', 'ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [50, 503]}, - 158: {'name': 'Behavior_PulsarBeamOff_quick', 'func_type': 'raw_cmd', 'ability_id': 2376, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 159: {'name': 'Behavior_PulsarBeamOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2375, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 183: {'name': 'Build_Armory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 331, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 36: {'name': 'Build_Assimilator_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 882, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 184: {'name': 'Build_BanelingNest_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1162, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 185: {'name': 'Build_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 321, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 186: {'name': 'Build_Bunker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 324, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 187: {'name': 'Build_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 318, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 188: {'name': 'Build_CreepTumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3691, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED', 'ZERG_QUEEN'], 'avail_unit_type_id': [137, 126]}, - 189: {'name': 'Build_CreepTumor_Queen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1694, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 190: {'name': 'Build_CreepTumor_Tumor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1733, 'general_id': 3691, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_CREEPTUMORBURROWED'], 'avail_unit_type_id': [137]}, - 47: {'name': 'Build_CyberneticsCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 894, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 44: {'name': 'Build_DarkShrine_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 891, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 191: {'name': 'Build_EngineeringBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 322, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 192: {'name': 'Build_EvolutionChamber_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1156, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 193: {'name': 'Build_Extractor_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1154, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 194: {'name': 'Build_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 328, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 39: {'name': 'Build_FleetBeacon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 885, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 38: {'name': 'Build_Forge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 884, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 195: {'name': 'Build_FusionCore_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 333, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 37: {'name': 'Build_Gateway_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 883, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 196: {'name': 'Build_GhostAcademy_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 327, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 197: {'name': 'Build_Hatchery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1152, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 198: {'name': 'Build_HydraliskDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1157, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 199: {'name': 'Build_InfestationPit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1160, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 200: {'name': 'Build_Interceptors_autocast', 'func_type': 'raw_autocast', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 66: {'name': 'Build_Interceptors_quick', 'func_type': 'raw_cmd', 'ability_id': 1042, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 201: {'name': 'Build_LurkerDen_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1163, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 202: {'name': 'Build_MissileTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 323, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 34: {'name': 'Build_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 880, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 203: {'name': 'Build_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 710, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 204: {'name': 'Build_NydusNetwork_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1161, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 205: {'name': 'Build_NydusWorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1768, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 41: {'name': 'Build_PhotonCannon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 887, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 35: {'name': 'Build_Pylon_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 881, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 207: {'name': 'Build_Reactor_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 206: {'name': 'Build_Reactor_quick', 'func_type': 'raw_cmd', 'ability_id': 3683, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 209: {'name': 'Build_Reactor_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 208: {'name': 'Build_Reactor_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 422, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 211: {'name': 'Build_Reactor_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 210: {'name': 'Build_Reactor_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 455, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 213: {'name': 'Build_Reactor_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 212: {'name': 'Build_Reactor_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 488, 'general_id': 3683, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 214: {'name': 'Build_Refinery_pt', 'func_type': 'raw_cmd_unit', 'ability_id': 320, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 215: {'name': 'Build_RoachWarren_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1165, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 45: {'name': 'Build_RoboticsBay_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 892, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 46: {'name': 'Build_RoboticsFacility_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 893, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 216: {'name': 'Build_SensorTower_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 326, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 48: {'name': 'Build_ShieldBattery_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 895, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 217: {'name': 'Build_SpawningPool_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1155, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 218: {'name': 'Build_SpineCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1166, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 219: {'name': 'Build_Spire_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1158, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 220: {'name': 'Build_SporeCrawler_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1167, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 42: {'name': 'Build_Stargate_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 889, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 221: {'name': 'Build_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 329, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 95: {'name': 'Build_StasisTrap_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2505, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 222: {'name': 'Build_SupplyDepot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 319, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 224: {'name': 'Build_TechLab_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 223: {'name': 'Build_TechLab_quick', 'func_type': 'raw_cmd', 'ability_id': 3682, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [21, 46, 27, 43, 28, 44]}, - 226: {'name': 'Build_TechLab_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 225: {'name': 'Build_TechLab_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 421, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [21, 46]}, - 228: {'name': 'Build_TechLab_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 227: {'name': 'Build_TechLab_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 454, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY', 'TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [27, 43]}, - 230: {'name': 'Build_TechLab_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 229: {'name': 'Build_TechLab_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 487, 'general_id': 3682, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [28, 44]}, - 43: {'name': 'Build_TemplarArchive_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 890, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 40: {'name': 'Build_TwilightCouncil_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 886, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 231: {'name': 'Build_UltraliskCavern_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1159, 'general_id': 0, 'goal': 'build', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 232: {'name': 'BurrowDown_quick', 'func_type': 'raw_cmd', 'ability_id': 3661, 'general_id': 0, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORTERRAN', 'ZERG_LURKERMP', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_ZERGLING'], 'avail_unit_type_id': [498, 9, 104, 107, 111, 7, 502, 126, 688, 110, 494, 109, 105]}, - 233: {'name': 'BurrowDown_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1374, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING'], 'avail_unit_type_id': [9]}, - 234: {'name': 'BurrowDown_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1378, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 235: {'name': 'BurrowDown_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1382, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, - 236: {'name': 'BurrowDown_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1444, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR'], 'avail_unit_type_id': [111]}, - 237: {'name': 'BurrowDown_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1394, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORTERRAN'], 'avail_unit_type_id': [7]}, - 238: {'name': 'BurrowDown_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2108, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMP'], 'avail_unit_type_id': [502]}, - 239: {'name': 'BurrowDown_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1433, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 240: {'name': 'BurrowDown_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2340, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, - 241: {'name': 'BurrowDown_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1386, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, - 242: {'name': 'BurrowDown_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2014, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [494]}, - 243: {'name': 'BurrowDown_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1512, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISK'], 'avail_unit_type_id': [109]}, - 244: {'name': 'BurrowDown_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2095, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINE'], 'avail_unit_type_id': [498]}, - 245: {'name': 'BurrowDown_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1390, 'general_id': 3661, 'goal': 'effect', 'special_goal': 'burrowdown', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, - 247: {'name': 'BurrowUp_autocast', 'func_type': 'raw_autocast', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, - 246: {'name': 'BurrowUp_quick', 'func_type': 'raw_cmd', 'ability_id': 3662, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELINGBURROWED', 'ZERG_DRONEBURROWED', 'ZERG_HYDRALISKBURROWED', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMPBURROWED', 'ZERG_QUEENBURROWED', 'ZERG_ROACHBURROWED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_ZERGLINGBURROWED', 'ZERG_ULTRALISKBURROWED', 'ZERG_RAVAGERBURROWED', 'ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [500, 115, 116, 117, 127, 503, 125, 118, 493, 119, 131, 690, 120]}, - 249: {'name': 'BurrowUp_Baneling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, - 248: {'name': 'BurrowUp_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 1376, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [115]}, - 250: {'name': 'BurrowUp_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1380, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONEBURROWED'], 'avail_unit_type_id': [116]}, - 252: {'name': 'BurrowUp_Hydralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, - 251: {'name': 'BurrowUp_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1384, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKBURROWED'], 'avail_unit_type_id': [117]}, - 253: {'name': 'BurrowUp_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1446, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [127]}, - 255: {'name': 'BurrowUp_InfestorTerran_autocast', 'func_type': 'raw_autocast', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, - 254: {'name': 'BurrowUp_InfestorTerran_quick', 'func_type': 'raw_cmd', 'ability_id': 1396, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTEDTERRANBURROWED'], 'avail_unit_type_id': [120]}, - 256: {'name': 'BurrowUp_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2110, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPBURROWED'], 'avail_unit_type_id': [503]}, - 258: {'name': 'BurrowUp_Queen_autocast', 'func_type': 'raw_autocast', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, - 257: {'name': 'BurrowUp_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1435, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_QUEENBURROWED'], 'avail_unit_type_id': [125]}, - 260: {'name': 'BurrowUp_Ravager_autocast', 'func_type': 'raw_autocast', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, - 259: {'name': 'BurrowUp_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2342, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERBURROWED'], 'avail_unit_type_id': [690]}, - 262: {'name': 'BurrowUp_Roach_autocast', 'func_type': 'raw_autocast', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, - 261: {'name': 'BurrowUp_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1388, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHBURROWED'], 'avail_unit_type_id': [118]}, - 263: {'name': 'BurrowUp_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 2016, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP'], 'avail_unit_type_id': [493]}, - 265: {'name': 'BurrowUp_Ultralisk_autocast', 'func_type': 'raw_autocast', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, - 264: {'name': 'BurrowUp_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1514, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKBURROWED'], 'avail_unit_type_id': [131]}, - 266: {'name': 'BurrowUp_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 2097, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 268: {'name': 'BurrowUp_Zergling_autocast', 'func_type': 'raw_autocast', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, - 267: {'name': 'BurrowUp_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1392, 'general_id': 3662, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLINGBURROWED'], 'avail_unit_type_id': [119]}, - 98: {'name': 'Cancel_quick', 'func_type': 'raw_cmd', 'ability_id': 3659, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_CYCLONE', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOST', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB', 'TERRAN_SUPPLYDEPOT', 'TERRAN_THORAP', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_BROODLORDCOCOON', 'ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPIRE', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_ORACLE', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_VOIDRAY', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 38, 37, 24, 18, 692, 22, 27, 40, 39, 30, 50, 26, 23, 20, 25, 28, 42, 41, 19, 691, 1960, 96, 113, 87, 137, 138, 90, 88, 86, 91, 94, 111, 127, 100, 501, 95, 106, 128, 687, 97, 89, 98, 139, 92, 99, 140, 892, 93, 1956, 311, 801, 61, 72, 69, 64, 63, 62, 488, 59, 495, 732, 78, 66, 60, 70, 71, 67, 496, 68, 65, 80, 1955]}, - 123: {'name': 'Cancel_AdeptPhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2594, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, - 124: {'name': 'Cancel_AdeptShadePhaseShift_quick', 'func_type': 'raw_cmd', 'ability_id': 2596, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ADEPTPHASESHIFT'], 'avail_unit_type_id': [801]}, - 269: {'name': 'Cancel_BarracksAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSREACTOR', 'TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [38, 37]}, - 125: {'name': 'Cancel_BuildInProgress_quick', 'func_type': 'raw_cmd', 'ability_id': 314, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH', 'ZERG_BANELINGNEST', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_EXTRACTOR', 'ZERG_HATCHERY', 'ZERG_INFESTATIONPIT', 'ZERG_NYDUSNETWORK', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_ULTRALISKCAVERN', 'ZERG_EXTRACTORRICH', 'PROTOSS_ASSIMILATOR', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ORACLESTASISTRAP', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PYLON', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL', 'PROTOSS_ASSIMILATORRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960, 96, 90, 88, 86, 94, 95, 97, 89, 93, 1956, 61, 72, 69, 64, 63, 62, 59, 732, 66, 60, 70, 71, 67, 68, 65, 1955]}, - 270: {'name': 'Cancel_CreepTumor_quick', 'func_type': 'raw_cmd', 'ability_id': 1763, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CREEPTUMOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_CREEPTUMORQUEEN'], 'avail_unit_type_id': [87, 137, 138]}, - 271: {'name': 'Cancel_FactoryAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 484, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYREACTOR', 'TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [40, 39]}, - 126: {'name': 'Cancel_GravitonBeam_quick', 'func_type': 'raw_cmd', 'ability_id': 174, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, - 272: {'name': 'Cancel_HangarQueue5_quick', 'func_type': 'raw_cmd', 'ability_id': 1038, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CARRIER'], 'avail_unit_type_id': [79]}, - 129: {'name': 'Cancel_Last_quick', 'func_type': 'raw_cmd', 'ability_id': 3671, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSTECHLAB', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FACTORYTECHLAB', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_STARPORT', 'TERRAN_STARPORTTECHLAB', 'ZERG_BANELINGCOCOON', 'ZERG_BANELINGNEST', 'ZERG_EGG', 'ZERG_EVOLUTIONCHAMBER', 'ZERG_GREATERSPIRE', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISKDEN', 'ZERG_INFESTATIONPIT', 'ZERG_LAIR', 'ZERG_LURKERDENMP', 'ZERG_ROACHWARREN', 'ZERG_SPAWNINGPOOL', 'ZERG_SPIRE', 'ZERG_ULTRALISKCAVERN', 'PROTOSS_CARRIER', 'PROTOSS_CYBERNETICSCORE', 'PROTOSS_DARKSHRINE', 'PROTOSS_FLEETBEACON', 'PROTOSS_FORGE', 'PROTOSS_GATEWAY', 'PROTOSS_NEXUS', 'PROTOSS_ROBOTICSBAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE', 'PROTOSS_TEMPLARARCHIVE', 'PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [29, 21, 37, 18, 22, 27, 39, 30, 26, 132, 130, 28, 41, 8, 96, 103, 90, 102, 86, 101, 91, 94, 100, 504, 97, 89, 92, 93, 79, 72, 69, 64, 63, 62, 59, 70, 71, 67, 68, 65]}, - 273: {'name': 'Cancel_LockOn_quick', 'func_type': 'raw_cmd', 'ability_id': 2354, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 274: {'name': 'Cancel_MorphBroodlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1373, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BROODLORDCOCOON'], 'avail_unit_type_id': [113]}, - 275: {'name': 'Cancel_MorphGreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1221, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, - 276: {'name': 'Cancel_MorphHive_quick', 'func_type': 'raw_cmd', 'ability_id': 1219, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, - 277: {'name': 'Cancel_MorphLair_quick', 'func_type': 'raw_cmd', 'ability_id': 1217, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, - 279: {'name': 'Cancel_MorphLurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2113, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, - 278: {'name': 'Cancel_MorphLurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2333, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERMPEGG'], 'avail_unit_type_id': [501]}, - 280: {'name': 'Cancel_MorphMothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1848, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, - 281: {'name': 'Cancel_MorphOrbital_quick', 'func_type': 'raw_cmd', 'ability_id': 1517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 282: {'name': 'Cancel_MorphOverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2709, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_TRANSPORTOVERLORDCOCOON'], 'avail_unit_type_id': [892]}, - 283: {'name': 'Cancel_MorphOverseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1449, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDCOCOON'], 'avail_unit_type_id': [128]}, - 284: {'name': 'Cancel_MorphPlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1451, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 285: {'name': 'Cancel_MorphRavager_quick', 'func_type': 'raw_cmd', 'ability_id': 2331, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_RAVAGERCOCOON'], 'avail_unit_type_id': [687]}, - 286: {'name': 'Cancel_MorphThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2365, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, - 287: {'name': 'Cancel_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 250, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 288: {'name': 'Cancel_Nuke_quick', 'func_type': 'raw_cmd', 'ability_id': 1623, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 130: {'name': 'Cancel_Queue1_quick', 'func_type': 'raw_cmd', 'ability_id': 304, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 131: {'name': 'Cancel_Queue5_quick', 'func_type': 'raw_cmd', 'ability_id': 306, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 289: {'name': 'Cancel_QueueAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 312, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_FACTORY', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 27, 28]}, - 132: {'name': 'Cancel_QueueCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 308, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 134: {'name': 'Cancel_QueuePassiveCancelToSelection_quick', 'func_type': 'raw_cmd', 'ability_id': 1833, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 133: {'name': 'Cancel_QueuePassive_quick', 'func_type': 'raw_cmd', 'ability_id': 1831, 'general_id': 3671, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 290: {'name': 'Cancel_SpineCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1730, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, - 291: {'name': 'Cancel_SporeCrawlerRoot_quick', 'func_type': 'raw_cmd', 'ability_id': 1732, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, - 292: {'name': 'Cancel_StarportAddOn_quick', 'func_type': 'raw_cmd', 'ability_id': 517, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTREACTOR', 'TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [42, 41]}, - 127: {'name': 'Cancel_StasisTrap_quick', 'func_type': 'raw_cmd', 'ability_id': 2535, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 128: {'name': 'Cancel_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 3707, 'general_id': 3659, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, - 293: {'name': 'Effect_Abduct_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2067, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 96: {'name': 'Effect_AdeptPhaseShift_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2544, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ADEPT'], 'avail_unit_type_id': [311]}, - 294: {'name': 'Effect_AntiArmorMissile_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3753, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 295: {'name': 'Effect_AutoTurret_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1764, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 296: {'name': 'Effect_BlindingCloud_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2063, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 111: {'name': 'Effect_Blink_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, - 135: {'name': 'Effect_Blink_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1442, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_STALKER'], 'avail_unit_type_id': [74]}, - 112: {'name': 'Effect_Blink_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3687, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_STALKER'], 'avail_unit_type_id': [76, 74]}, - 297: {'name': 'Effect_CalldownMULE_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 298: {'name': 'Effect_CalldownMULE_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 171, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 299: {'name': 'Effect_CausticSpray_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2324, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, - 302: {'name': 'Effect_Charge_autocast', 'func_type': 'raw_autocast', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 300: {'name': 'Effect_Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 301: {'name': 'Effect_Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1819, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_ZEALOT'], 'avail_unit_type_id': [73]}, - 122: {'name': 'Effect_ChronoBoostEnergyCost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3755, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 33: {'name': 'Effect_ChronoBoost_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 261, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 303: {'name': 'Effect_Contaminate_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1825, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 304: {'name': 'Effect_CorrosiveBile_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2338, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_RAVAGER'], 'avail_unit_type_id': [688]}, - 305: {'name': 'Effect_EMP_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 306: {'name': 'Effect_EMP_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1628, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 307: {'name': 'Effect_Explode_quick', 'func_type': 'raw_cmd', 'ability_id': 42, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELING', 'ZERG_BANELINGBURROWED'], 'avail_unit_type_id': [9, 115]}, - 157: {'name': 'Effect_Feedback_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 140, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, - 79: {'name': 'Effect_ForceField_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1526, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 308: {'name': 'Effect_FungalGrowth_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 309: {'name': 'Effect_FungalGrowth_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 74, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 310: {'name': 'Effect_GhostSnipe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2714, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 32: {'name': 'Effect_GravitonBeam_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 173, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PHOENIX'], 'avail_unit_type_id': [78]}, - 20: {'name': 'Effect_GuardianShield_quick', 'func_type': 'raw_cmd', 'ability_id': 76, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 312: {'name': 'Effect_Heal_autocast', 'func_type': 'raw_autocast', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 311: {'name': 'Effect_Heal_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 386, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 313: {'name': 'Effect_ImmortalBarrier_autocast', 'func_type': 'raw_autocast', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, - 91: {'name': 'Effect_ImmortalBarrier_quick', 'func_type': 'raw_cmd', 'ability_id': 2328, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_IMMORTAL'], 'avail_unit_type_id': [83]}, - 314: {'name': 'Effect_InfestedTerrans_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 247, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 315: {'name': 'Effect_InjectLarva_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 251, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 316: {'name': 'Effect_InterferenceMatrix_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3747, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_RAVEN'], 'avail_unit_type_id': [56]}, - 317: {'name': 'Effect_KD8Charge_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, - 538: {'name': 'Effect_KD8Charge_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2588, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REAPER'], 'avail_unit_type_id': [49]}, - 318: {'name': 'Effect_LockOn_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 541: {'name': 'Effect_LockOn_autocast', 'func_type': 'raw_autocast', 'ability_id': 2350, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_CYCLONE'], 'avail_unit_type_id': [692]}, - 319: {'name': 'Effect_LocustSwoop_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2387, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_LOCUSTMPFLYING'], 'avail_unit_type_id': [693]}, - 110: {'name': 'Effect_MassRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3686, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, - 136: {'name': 'Effect_MassRecall_Mothership_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2368, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, - 162: {'name': 'Effect_MassRecall_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3757, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 137: {'name': 'Effect_MassRecall_StrategicRecall_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 142, 'general_id': 3686, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP'], 'avail_unit_type_id': [10]}, - 320: {'name': 'Effect_MedivacIgniteAfterburners_quick', 'func_type': 'raw_cmd', 'ability_id': 2116, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 321: {'name': 'Effect_NeuralParasite_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 249, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTOR', 'ZERG_INFESTORBURROWED'], 'avail_unit_type_id': [111, 127]}, - 322: {'name': 'Effect_NukeCalldown_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1622, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_GHOST'], 'avail_unit_type_id': [50]}, - 90: {'name': 'Effect_OracleRevelation_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2146, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_ORACLE'], 'avail_unit_type_id': [495]}, - 323: {'name': 'Effect_ParasiticBomb_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2542, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 65: {'name': 'Effect_PsiStorm_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1036, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [75]}, - 167: {'name': 'Effect_PurificationNova_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2346, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DISRUPTOR'], 'avail_unit_type_id': [694]}, - 324: {'name': 'Effect_Repair_autocast', 'func_type': 'raw_autocast', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 108: {'name': 'Effect_Repair_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 109: {'name': 'Effect_Repair_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3685, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [268, 45, 1913]}, - 326: {'name': 'Effect_Repair_Mule_autocast', 'func_type': 'raw_autocast', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 325: {'name': 'Effect_Repair_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 78, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 328: {'name': 'Effect_Repair_RepairDrone_autocast', 'func_type': 'raw_autocast', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, - 327: {'name': 'Effect_Repair_RepairDrone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3751, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_REPAIRDRONE'], 'avail_unit_type_id': [1913]}, - 330: {'name': 'Effect_Repair_SCV_autocast', 'func_type': 'raw_autocast', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 329: {'name': 'Effect_Repair_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 316, 'general_id': 3685, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 331: {'name': 'Effect_Restore_autocast', 'func_type': 'raw_autocast', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, - 161: {'name': 'Effect_Restore_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3765, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_SHIELDBATTERY'], 'avail_unit_type_id': [1910]}, - 332: {'name': 'Effect_Salvage_quick', 'func_type': 'raw_cmd', 'ability_id': 32, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 333: {'name': 'Effect_Scan_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 399, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 113: {'name': 'Effect_ShadowStride_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2700, 'general_id': 3687, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR'], 'avail_unit_type_id': [76]}, - 334: {'name': 'Effect_SpawnChangeling_quick', 'func_type': 'raw_cmd', 'ability_id': 181, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 335: {'name': 'Effect_SpawnLocusts_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, - 336: {'name': 'Effect_SpawnLocusts_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2704, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP'], 'avail_unit_type_id': [493, 494]}, - 337: {'name': 'Effect_Spray_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3684, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [45, 104, 84]}, - 338: {'name': 'Effect_Spray_Protoss_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 30, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 339: {'name': 'Effect_Spray_Terran_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 26, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 340: {'name': 'Effect_Spray_Zerg_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 28, 'general_id': 3684, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 341: {'name': 'Effect_Stim_quick', 'func_type': 'raw_cmd', 'ability_id': 3675, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MARAUDER', 'TERRAN_MARINE'], 'avail_unit_type_id': [24, 51, 48]}, - 342: {'name': 'Effect_Stim_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 253, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, - 343: {'name': 'Effect_Stim_Marauder_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1684, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARAUDER'], 'avail_unit_type_id': [51]}, - 344: {'name': 'Effect_Stim_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 380, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, - 345: {'name': 'Effect_Stim_Marine_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1683, 'general_id': 3675, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MARINE'], 'avail_unit_type_id': [48]}, - 346: {'name': 'Effect_SupplyDrop_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 255, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 347: {'name': 'Effect_TacticalJump_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2358, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 348: {'name': 'Effect_TimeWarp_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2244, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [10, 488]}, - 349: {'name': 'Effect_Transfusion_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1664, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_QUEEN'], 'avail_unit_type_id': [126]}, - 350: {'name': 'Effect_ViperConsume_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2073, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_VIPER'], 'avail_unit_type_id': [499]}, - 94: {'name': 'Effect_VoidRayPrismaticAlignment_quick', 'func_type': 'raw_cmd', 'ability_id': 2393, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_VOIDRAY'], 'avail_unit_type_id': [80]}, - 353: {'name': 'Effect_WidowMineAttack_autocast', 'func_type': 'raw_autocast', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 351: {'name': 'Effect_WidowMineAttack_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 352: {'name': 'Effect_WidowMineAttack_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2099, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_WIDOWMINEBURROWED'], 'avail_unit_type_id': [500]}, - 537: {'name': 'Effect_YamatoGun_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 401, 'general_id': 0, 'goal': 'effect', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 93: {'name': 'Hallucination_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 2391, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 22: {'name': 'Hallucination_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 146, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 23: {'name': 'Hallucination_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 148, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 92: {'name': 'Hallucination_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 2389, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 24: {'name': 'Hallucination_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 150, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 25: {'name': 'Hallucination_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 152, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 89: {'name': 'Hallucination_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 2114, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 26: {'name': 'Hallucination_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 154, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 27: {'name': 'Hallucination_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 156, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 28: {'name': 'Hallucination_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 158, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 29: {'name': 'Hallucination_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 160, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 30: {'name': 'Hallucination_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 162, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 31: {'name': 'Hallucination_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 164, 'general_id': 0, 'goal': 'effect', 'special_goal': 'hallucination', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_SENTRY'], 'avail_unit_type_id': [77]}, - 354: {'name': 'Halt_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 315, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 25, 28, 19, 1960]}, - 99: {'name': 'Halt_quick', 'func_type': 'raw_cmd', 'ability_id': 3660, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY', 'TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_ENGINEERINGBAY', 'TERRAN_FACTORY', 'TERRAN_FUSIONCORE', 'TERRAN_GHOSTACADEMY', 'TERRAN_MISSILETURRET', 'TERRAN_REFINERY', 'TERRAN_SCV', 'TERRAN_SENSORTOWER', 'TERRAN_STARPORT', 'TERRAN_SUPPLYDEPOT', 'TERRAN_REFINERYRICH'], 'avail_unit_type_id': [29, 21, 24, 18, 22, 27, 30, 26, 23, 20, 45, 25, 28, 19, 1960]}, - 355: {'name': 'Halt_TerranBuild_quick', 'func_type': 'raw_cmd', 'ability_id': 348, 'general_id': 3660, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 102: {'name': 'Harvest_Gather_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3666, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, - 356: {'name': 'Harvest_Gather_Drone_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1183, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 357: {'name': 'Harvest_Gather_Mule_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 166, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 358: {'name': 'Harvest_Gather_Probe_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 298, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 359: {'name': 'Harvest_Gather_SCV_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 295, 'general_id': 3666, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 103: {'name': 'Harvest_Return_quick', 'func_type': 'raw_cmd', 'ability_id': 3667, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE', 'TERRAN_SCV', 'ZERG_DRONE', 'PROTOSS_PROBE'], 'avail_unit_type_id': [268, 45, 104, 84]}, - 360: {'name': 'Harvest_Return_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1184, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_DRONE'], 'avail_unit_type_id': [104]}, - 361: {'name': 'Harvest_Return_Mule_quick', 'func_type': 'raw_cmd', 'ability_id': 167, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MULE'], 'avail_unit_type_id': [268]}, - 154: {'name': 'Harvest_Return_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 299, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_PROBE'], 'avail_unit_type_id': [84]}, - 362: {'name': 'Harvest_Return_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 296, 'general_id': 3667, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SCV'], 'avail_unit_type_id': [45]}, - 17: {'name': 'HoldPosition_quick', 'func_type': 'raw_cmd', 'ability_id': 3793, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 542: {'name': 'HoldPosition_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 3778, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 543: {'name': 'HoldPosition_Hold_quick', 'func_type': 'raw_cmd', 'ability_id': 18, 'general_id': 3793, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 364: {'name': 'Land_Barracks_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 554, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING'], 'avail_unit_type_id': [46]}, - 365: {'name': 'Land_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 419, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTERFLYING'], 'avail_unit_type_id': [36]}, - 366: {'name': 'Land_Factory_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 520, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_FACTORYFLYING'], 'avail_unit_type_id': [43]}, - 367: {'name': 'Land_OrbitalCommand_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1524, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_ORBITALCOMMANDFLYING'], 'avail_unit_type_id': [134]}, - 363: {'name': 'Land_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3678, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_FACTORYFLYING', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [46, 36, 43, 134, 44]}, - 368: {'name': 'Land_Starport_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 522, 'general_id': 3678, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_STARPORTFLYING'], 'avail_unit_type_id': [44]}, - 370: {'name': 'Lift_Barracks_quick', 'func_type': 'raw_cmd', 'ability_id': 452, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 371: {'name': 'Lift_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 417, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 372: {'name': 'Lift_Factory_quick', 'func_type': 'raw_cmd', 'ability_id': 485, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 373: {'name': 'Lift_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1522, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ORBITALCOMMAND'], 'avail_unit_type_id': [132]}, - 369: {'name': 'Lift_quick', 'func_type': 'raw_cmd', 'ability_id': 3679, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_COMMANDCENTER', 'TERRAN_FACTORY', 'TERRAN_ORBITALCOMMAND', 'TERRAN_STARPORT'], 'avail_unit_type_id': [21, 18, 27, 132, 28]}, - 374: {'name': 'Lift_Starport_quick', 'func_type': 'raw_cmd', 'ability_id': 518, 'general_id': 3679, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 376: {'name': 'LoadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 416, 'general_id': 3663, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, - 375: {'name': 'LoadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3663, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 36, 130]}, - 377: {'name': 'Load_Bunker_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 407, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 378: {'name': 'Load_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 394, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 379: {'name': 'Load_NydusNetwork_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1437, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 380: {'name': 'Load_NydusWorm_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 2370, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, - 381: {'name': 'Load_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1406, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 104: {'name': 'Load_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3668, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 54, 142, 95, 893, 81, 136]}, - 382: {'name': 'Load_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 911, 'general_id': 3668, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 86: {'name': 'Morph_Archon_quick', 'func_type': 'raw_cmd', 'ability_id': 1766, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR'], 'avail_unit_type_id': [76, 75]}, - 383: {'name': 'Morph_BroodLord_quick', 'func_type': 'raw_cmd', 'ability_id': 1372, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_CORRUPTOR'], 'avail_unit_type_id': [112]}, - 78: {'name': 'Morph_Gateway_quick', 'func_type': 'raw_cmd', 'ability_id': 1520, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 384: {'name': 'Morph_GreaterSpire_quick', 'func_type': 'raw_cmd', 'ability_id': 1220, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPIRE'], 'avail_unit_type_id': [92]}, - 385: {'name': 'Morph_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 1998, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLION'], 'avail_unit_type_id': [53]}, - 386: {'name': 'Morph_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 1978, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_HELLIONTANK'], 'avail_unit_type_id': [484]}, - 387: {'name': 'Morph_Hive_quick', 'func_type': 'raw_cmd', 'ability_id': 1218, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LAIR'], 'avail_unit_type_id': [100]}, - 388: {'name': 'Morph_Lair_quick', 'func_type': 'raw_cmd', 'ability_id': 1216, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY'], 'avail_unit_type_id': [86]}, - 389: {'name': 'Morph_LiberatorAAMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2560, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_LIBERATORAG'], 'avail_unit_type_id': [734]}, - 390: {'name': 'Morph_LiberatorAGMode_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 2558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_LIBERATOR'], 'avail_unit_type_id': [689]}, - 392: {'name': 'Morph_LurkerDen_quick', 'func_type': 'raw_cmd', 'ability_id': 2112, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN'], 'avail_unit_type_id': [91]}, - 391: {'name': 'Morph_Lurker_quick', 'func_type': 'raw_cmd', 'ability_id': 2332, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISK'], 'avail_unit_type_id': [107]}, - 393: {'name': 'Morph_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 1847, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_MOTHERSHIPCORE'], 'avail_unit_type_id': [488]}, - 121: {'name': 'Morph_ObserverMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3739, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVERSURVEILLANCEMODE'], 'avail_unit_type_id': [1911]}, - 394: {'name': 'Morph_OrbitalCommand_quick', 'func_type': 'raw_cmd', 'ability_id': 1516, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 395: {'name': 'Morph_OverlordTransport_quick', 'func_type': 'raw_cmd', 'ability_id': 2708, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, - 397: {'name': 'Morph_OverseerMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3745, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEEROVERSIGHTMODE'], 'avail_unit_type_id': [1912]}, - 396: {'name': 'Morph_Overseer_quick', 'func_type': 'raw_cmd', 'ability_id': 1448, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [106, 893]}, - 398: {'name': 'Morph_OversightMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3743, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERSEER'], 'avail_unit_type_id': [129]}, - 399: {'name': 'Morph_PlanetaryFortress_quick', 'func_type': 'raw_cmd', 'ability_id': 1450, 'general_id': 0, 'goal': 'build', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 400: {'name': 'Morph_Ravager_quick', 'func_type': 'raw_cmd', 'ability_id': 2330, 'general_id': 0, 'goal': 'unit', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACH'], 'avail_unit_type_id': [110]}, - 401: {'name': 'Morph_Root_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3680, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [139, 140]}, - 402: {'name': 'Morph_SiegeMode_quick', 'func_type': 'raw_cmd', 'ability_id': 388, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANK'], 'avail_unit_type_id': [33]}, - 403: {'name': 'Morph_SpineCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1729, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPINECRAWLERUPROOTED'], 'avail_unit_type_id': [139]}, - 404: {'name': 'Morph_SpineCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1725, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER'], 'avail_unit_type_id': [98]}, - 405: {'name': 'Morph_SporeCrawlerRoot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1731, 'general_id': 3680, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_SPORECRAWLERUPROOTED'], 'avail_unit_type_id': [140]}, - 406: {'name': 'Morph_SporeCrawlerUproot_quick', 'func_type': 'raw_cmd', 'ability_id': 1727, 'general_id': 3681, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPORECRAWLER'], 'avail_unit_type_id': [99]}, - 407: {'name': 'Morph_SupplyDepot_Lower_quick', 'func_type': 'raw_cmd', 'ability_id': 556, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOT'], 'avail_unit_type_id': [19]}, - 408: {'name': 'Morph_SupplyDepot_Raise_quick', 'func_type': 'raw_cmd', 'ability_id': 558, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SUPPLYDEPOTLOWERED'], 'avail_unit_type_id': [47]}, - 160: {'name': 'Morph_SurveillanceMode_quick', 'func_type': 'raw_cmd', 'ability_id': 3741, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_OBSERVER'], 'avail_unit_type_id': [82]}, - 409: {'name': 'Morph_ThorExplosiveMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2364, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THORAP'], 'avail_unit_type_id': [691]}, - 410: {'name': 'Morph_ThorHighImpactMode_quick', 'func_type': 'raw_cmd', 'ability_id': 2362, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_THOR'], 'avail_unit_type_id': [52]}, - 411: {'name': 'Morph_Unsiege_quick', 'func_type': 'raw_cmd', 'ability_id': 390, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_SIEGETANKSIEGED'], 'avail_unit_type_id': [32]}, - 412: {'name': 'Morph_Uproot_quick', 'func_type': 'raw_cmd', 'ability_id': 3681, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPINECRAWLER', 'ZERG_SPORECRAWLER'], 'avail_unit_type_id': [98, 99]}, - 413: {'name': 'Morph_VikingAssaultMode_quick', 'func_type': 'raw_cmd', 'ability_id': 403, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGFIGHTER'], 'avail_unit_type_id': [35]}, - 414: {'name': 'Morph_VikingFighterMode_quick', 'func_type': 'raw_cmd', 'ability_id': 405, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_VIKINGASSAULT'], 'avail_unit_type_id': [34]}, - 77: {'name': 'Morph_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 544: {'name': 'Morph_WarpGate_autocast', 'func_type': 'raw_autocast', 'ability_id': 1518, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': False, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 80: {'name': 'Morph_WarpPrismPhasingMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1528, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM'], 'avail_unit_type_id': [81]}, - 81: {'name': 'Morph_WarpPrismTransportMode_quick', 'func_type': 'raw_cmd', 'ability_id': 1530, 'general_id': 0, 'goal': 'other', 'special_goal': 'morph', 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [136]}, - 13: {'name': 'Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 14: {'name': 'Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3794, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 545: {'name': 'Move_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 546: {'name': 'Move_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3776, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 547: {'name': 'Move_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 548: {'name': 'Move_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 16, 'general_id': 3794, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 15: {'name': 'Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 16: {'name': 'Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3795, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 57, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 549: {'name': 'Patrol_Battlecruiser_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 550: {'name': 'Patrol_Battlecruiser_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3777, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BATTLECRUISER'], 'avail_unit_type_id': [57]}, - 551: {'name': 'Patrol_Patrol_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 552: {'name': 'Patrol_Patrol_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 17, 'general_id': 3795, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_MUTALISK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PROBE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [55, 46, 36, 692, 43, 50, 53, 484, 689, 51, 48, 54, 268, 134, 56, 49, 45, 33, 44, 52, 691, 34, 35, 498, 9, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 104, 107, 150, 111, 127, 7, 489, 693, 502, 108, 106, 128, 893, 129, 126, 688, 110, 118, 139, 140, 494, 892, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 84, 77, 74, 496, 80, 81, 73]}, - 415: {'name': 'Rally_Building_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, - 416: {'name': 'Rally_Building_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 195, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_GATEWAY', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_STARGATE'], 'avail_unit_type_id': [21, 24, 27, 28, 142, 95, 687, 62, 71, 67]}, - 417: {'name': 'Rally_CommandCenter_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 418: {'name': 'Rally_CommandCenter_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 203, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 419: {'name': 'Rally_Hatchery_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 420: {'name': 'Rally_Hatchery_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 211, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 421: {'name': 'Rally_Hatchery_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 422: {'name': 'Rally_Hatchery_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 212, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 423: {'name': 'Rally_Morphing_Unit_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, - 424: {'name': 'Rally_Morphing_Unit_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 199, 'general_id': 3673, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGCOCOON', 'ZERG_BROODLORDCOCOON', 'ZERG_EGG', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_LURKERMPEGG', 'ZERG_OVERLORDCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [8, 113, 103, 150, 501, 128, 311, 141, 76, 75, 488, 77, 74, 73]}, - 138: {'name': 'Rally_Nexus_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 165: {'name': 'Rally_Nexus_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 207, 'general_id': 3690, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 106: {'name': 'Rally_Units_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, - 107: {'name': 'Rally_Units_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3673, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS', 'TERRAN_BUNKER', 'TERRAN_FACTORY', 'TERRAN_STARPORT', 'ZERG_BANELINGCOCOON', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'ZERG_LURKERMPEGG', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_RAVAGERCOCOON', 'PROTOSS_ADEPT', 'PROTOSS_ARCHON', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [21, 24, 27, 28, 8, 103, 86, 101, 100, 501, 142, 95, 687, 311, 141, 76, 62, 75, 71, 77, 74, 67, 73]}, - 114: {'name': 'Rally_Workers_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, - 115: {'name': 'Rally_Workers_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3690, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR', 'PROTOSS_NEXUS'], 'avail_unit_type_id': [18, 132, 130, 86, 101, 100, 59]}, - 425: {'name': 'Research_AdaptiveTalons_quick', 'func_type': 'raw_cmd', 'ability_id': 3709, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LURKERDENMP'], 'avail_unit_type_id': [504]}, - 85: {'name': 'Research_AdeptResonatingGlaives_quick', 'func_type': 'raw_cmd', 'ability_id': 1594, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 426: {'name': 'Research_AdvancedBallistics_quick', 'func_type': 'raw_cmd', 'ability_id': 805, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 553: {'name': 'Research_AnabolicSynthesis_quick', 'func_type': 'raw_cmd', 'ability_id': 263, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, - 427: {'name': 'Research_BansheeCloakingField_quick', 'func_type': 'raw_cmd', 'ability_id': 790, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 428: {'name': 'Research_BansheeHyperflightRotors_quick', 'func_type': 'raw_cmd', 'ability_id': 799, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 429: {'name': 'Research_BattlecruiserWeaponRefit_quick', 'func_type': 'raw_cmd', 'ability_id': 1532, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FUSIONCORE'], 'avail_unit_type_id': [30]}, - 84: {'name': 'Research_Blink_quick', 'func_type': 'raw_cmd', 'ability_id': 1593, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 430: {'name': 'Research_Burrow_quick', 'func_type': 'raw_cmd', 'ability_id': 1225, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 431: {'name': 'Research_CentrifugalHooks_quick', 'func_type': 'raw_cmd', 'ability_id': 1482, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_BANELINGNEST'], 'avail_unit_type_id': [96]}, - 83: {'name': 'Research_Charge_quick', 'func_type': 'raw_cmd', 'ability_id': 1592, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TWILIGHTCOUNCIL'], 'avail_unit_type_id': [65]}, - 432: {'name': 'Research_ChitinousPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 265, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ULTRALISKCAVERN'], 'avail_unit_type_id': [93]}, - 433: {'name': 'Research_CombatShield_quick', 'func_type': 'raw_cmd', 'ability_id': 731, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 434: {'name': 'Research_ConcussiveShells_quick', 'func_type': 'raw_cmd', 'ability_id': 732, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 554: {'name': 'Research_CycloneLockOnDamage_quick', 'func_type': 'raw_cmd', 'ability_id': 769, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 435: {'name': 'Research_CycloneRapidFireLaunchers_quick', 'func_type': 'raw_cmd', 'ability_id': 768, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 436: {'name': 'Research_DrillingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 764, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 563: {'name': 'Research_EnhancedShockwaves_quick', 'func_type': 'raw_cmd', 'ability_id': 822, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 69: {'name': 'Research_ExtendedThermalLance_quick', 'func_type': 'raw_cmd', 'ability_id': 1097, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 437: {'name': 'Research_GlialRegeneration_quick', 'func_type': 'raw_cmd', 'ability_id': 216, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, - 67: {'name': 'Research_GraviticBooster_quick', 'func_type': 'raw_cmd', 'ability_id': 1093, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 68: {'name': 'Research_GraviticDrive_quick', 'func_type': 'raw_cmd', 'ability_id': 1094, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSBAY'], 'avail_unit_type_id': [70]}, - 438: {'name': 'Research_GroovedSpines_quick', 'func_type': 'raw_cmd', 'ability_id': 1282, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, - 440: {'name': 'Research_HighCapacityFuelTanks_quick', 'func_type': 'raw_cmd', 'ability_id': 804, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 439: {'name': 'Research_HiSecAutoTracking_quick', 'func_type': 'raw_cmd', 'ability_id': 650, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 441: {'name': 'Research_InfernalPreigniter_quick', 'func_type': 'raw_cmd', 'ability_id': 761, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 18: {'name': 'Research_InterceptorGravitonCatapult_quick', 'func_type': 'raw_cmd', 'ability_id': 44, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, - 442: {'name': 'Research_MuscularAugments_quick', 'func_type': 'raw_cmd', 'ability_id': 1283, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HYDRALISKDEN', 'ZERG_LURKERDENMP'], 'avail_unit_type_id': [91, 504]}, - 443: {'name': 'Research_NeosteelFrame_quick', 'func_type': 'raw_cmd', 'ability_id': 655, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 444: {'name': 'Research_NeuralParasite_quick', 'func_type': 'raw_cmd', 'ability_id': 1455, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, - 445: {'name': 'Research_PathogenGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1454, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_INFESTATIONPIT'], 'avail_unit_type_id': [94]}, - 446: {'name': 'Research_PersonalCloaking_quick', 'func_type': 'raw_cmd', 'ability_id': 820, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_GHOSTACADEMY'], 'avail_unit_type_id': [26]}, - 19: {'name': 'Research_PhoenixAnionPulseCrystals_quick', 'func_type': 'raw_cmd', 'ability_id': 46, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FLEETBEACON'], 'avail_unit_type_id': [64]}, - 447: {'name': 'Research_PneumatizedCarapace_quick', 'func_type': 'raw_cmd', 'ability_id': 1223, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 139: {'name': 'Research_ProtossAirArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1565, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 140: {'name': 'Research_ProtossAirArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1566, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 141: {'name': 'Research_ProtossAirArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1567, 'general_id': 3692, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 116: {'name': 'Research_ProtossAirArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3692, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 142: {'name': 'Research_ProtossAirWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1562, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 143: {'name': 'Research_ProtossAirWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1563, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 144: {'name': 'Research_ProtossAirWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1564, 'general_id': 3693, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 117: {'name': 'Research_ProtossAirWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3693, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 145: {'name': 'Research_ProtossGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1065, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 146: {'name': 'Research_ProtossGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1066, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 147: {'name': 'Research_ProtossGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1067, 'general_id': 3694, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 118: {'name': 'Research_ProtossGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3694, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 148: {'name': 'Research_ProtossGroundWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1062, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 149: {'name': 'Research_ProtossGroundWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1063, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 150: {'name': 'Research_ProtossGroundWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1064, 'general_id': 3695, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 119: {'name': 'Research_ProtossGroundWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3695, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 151: {'name': 'Research_ProtossShieldsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1068, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 152: {'name': 'Research_ProtossShieldsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1069, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 153: {'name': 'Research_ProtossShieldsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1070, 'general_id': 3696, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 120: {'name': 'Research_ProtossShields_quick', 'func_type': 'raw_cmd', 'ability_id': 3696, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_FORGE'], 'avail_unit_type_id': [63]}, - 70: {'name': 'Research_PsiStorm_quick', 'func_type': 'raw_cmd', 'ability_id': 1126, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_TEMPLARARCHIVE'], 'avail_unit_type_id': [68]}, - 448: {'name': 'Research_RavenCorvidReactor_quick', 'func_type': 'raw_cmd', 'ability_id': 793, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 449: {'name': 'Research_RavenRecalibratedExplosives_quick', 'func_type': 'raw_cmd', 'ability_id': 803, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORTTECHLAB'], 'avail_unit_type_id': [41]}, - 97: {'name': 'Research_ShadowStrike_quick', 'func_type': 'raw_cmd', 'ability_id': 2720, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_DARKSHRINE'], 'avail_unit_type_id': [69]}, - 450: {'name': 'Research_SmartServos_quick', 'func_type': 'raw_cmd', 'ability_id': 766, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORYTECHLAB'], 'avail_unit_type_id': [39]}, - 451: {'name': 'Research_Stimpack_quick', 'func_type': 'raw_cmd', 'ability_id': 730, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKSTECHLAB'], 'avail_unit_type_id': [37]}, - 453: {'name': 'Research_TerranInfantryArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 656, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 454: {'name': 'Research_TerranInfantryArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 657, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 455: {'name': 'Research_TerranInfantryArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 658, 'general_id': 3697, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 452: {'name': 'Research_TerranInfantryArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3697, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 457: {'name': 'Research_TerranInfantryWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 652, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 458: {'name': 'Research_TerranInfantryWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 653, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 459: {'name': 'Research_TerranInfantryWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 654, 'general_id': 3698, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 456: {'name': 'Research_TerranInfantryWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3698, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 461: {'name': 'Research_TerranShipWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 861, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 462: {'name': 'Research_TerranShipWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 862, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 463: {'name': 'Research_TerranShipWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 863, 'general_id': 3699, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 460: {'name': 'Research_TerranShipWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3699, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 464: {'name': 'Research_TerranStructureArmorUpgrade_quick', 'func_type': 'raw_cmd', 'ability_id': 651, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ENGINEERINGBAY'], 'avail_unit_type_id': [22]}, - 466: {'name': 'Research_TerranVehicleAndShipPlatingLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 864, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 467: {'name': 'Research_TerranVehicleAndShipPlatingLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 865, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 468: {'name': 'Research_TerranVehicleAndShipPlatingLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 866, 'general_id': 3700, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 465: {'name': 'Research_TerranVehicleAndShipPlating_quick', 'func_type': 'raw_cmd', 'ability_id': 3700, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 470: {'name': 'Research_TerranVehicleWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 855, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 471: {'name': 'Research_TerranVehicleWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 856, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 472: {'name': 'Research_TerranVehicleWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 857, 'general_id': 3701, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 469: {'name': 'Research_TerranVehicleWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3701, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_ARMORY'], 'avail_unit_type_id': [29]}, - 473: {'name': 'Research_TunnelingClaws_quick', 'func_type': 'raw_cmd', 'ability_id': 217, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ROACHWARREN'], 'avail_unit_type_id': [97]}, - 82: {'name': 'Research_WarpGate_quick', 'func_type': 'raw_cmd', 'ability_id': 1568, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_CYBERNETICSCORE'], 'avail_unit_type_id': [72]}, - 475: {'name': 'Research_ZergFlyerArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1315, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 476: {'name': 'Research_ZergFlyerArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1316, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 477: {'name': 'Research_ZergFlyerArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1317, 'general_id': 3702, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 474: {'name': 'Research_ZergFlyerArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3702, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 479: {'name': 'Research_ZergFlyerAttackLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1312, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 480: {'name': 'Research_ZergFlyerAttackLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1313, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 481: {'name': 'Research_ZergFlyerAttackLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1314, 'general_id': 3703, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 478: {'name': 'Research_ZergFlyerAttack_quick', 'func_type': 'raw_cmd', 'ability_id': 3703, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_GREATERSPIRE', 'ZERG_SPIRE'], 'avail_unit_type_id': [102, 92]}, - 483: {'name': 'Research_ZergGroundArmorLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1189, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 484: {'name': 'Research_ZergGroundArmorLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1190, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 485: {'name': 'Research_ZergGroundArmorLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1191, 'general_id': 3704, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 482: {'name': 'Research_ZergGroundArmor_quick', 'func_type': 'raw_cmd', 'ability_id': 3704, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 494: {'name': 'Research_ZerglingAdrenalGlands_quick', 'func_type': 'raw_cmd', 'ability_id': 1252, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, - 495: {'name': 'Research_ZerglingMetabolicBoost_quick', 'func_type': 'raw_cmd', 'ability_id': 1253, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_SPAWNINGPOOL'], 'avail_unit_type_id': [89]}, - 487: {'name': 'Research_ZergMeleeWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1186, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 488: {'name': 'Research_ZergMeleeWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1187, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 489: {'name': 'Research_ZergMeleeWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1188, 'general_id': 3705, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 486: {'name': 'Research_ZergMeleeWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3705, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 491: {'name': 'Research_ZergMissileWeaponsLevel1_quick', 'func_type': 'raw_cmd', 'ability_id': 1192, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 492: {'name': 'Research_ZergMissileWeaponsLevel2_quick', 'func_type': 'raw_cmd', 'ability_id': 1193, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 493: {'name': 'Research_ZergMissileWeaponsLevel3_quick', 'func_type': 'raw_cmd', 'ability_id': 1194, 'general_id': 3706, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 490: {'name': 'Research_ZergMissileWeapons_quick', 'func_type': 'raw_cmd', 'ability_id': 3706, 'general_id': 0, 'goal': 'research', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_EVOLUTIONCHAMBER'], 'avail_unit_type_id': [90]}, - 10: {'name': 'Scan_Move_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, - 11: {'name': 'Scan_Move_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 19, 'general_id': 3674, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'TERRAN_MULE', 'TERRAN_RAVEN', 'TERRAN_WIDOWMINE', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_LURKERMP', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_VIPER', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_WARPPRISM'], 'avail_unit_type_id': [54, 268, 56, 498, 12, 15, 14, 13, 17, 16, 111, 127, 502, 106, 893, 129, 118, 139, 140, 494, 499, 801, 694, 733, 75, 82, 495, 81]}, - 1: {'name': 'Smart_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, - 12: {'name': 'Smart_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKS', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORY', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMAND', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORT', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'TERRAN_WIDOWMINEBURROWED', 'ZERG_BANELING', 'ZERG_BANELINGCOCOON', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_BROODLORDCOCOON', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_CREEPTUMORBURROWED', 'ZERG_DRONE', 'ZERG_EGG', 'ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_HYDRALISK', 'ZERG_INFESTEDTERRANSEGG', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LAIR', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_LURKERMPEGG', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDCOCOON', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_RAVAGERCOCOON', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTBURROWEDMP', 'ZERG_SWARMHOSTMP', 'ZERG_TRANSPORTOVERLORDCOCOON', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'ZERG_OVERSEEROVERSIGHTMODE', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_GATEWAY', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_NEXUS', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_ROBOTICSFACILITY', 'PROTOSS_SENTRY', 'PROTOSS_SHIELDBATTERY', 'PROTOSS_STALKER', 'PROTOSS_STARGATE', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPGATE', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 132, 134, 130, 56, 49, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 8, 289, 114, 113, 12, 15, 14, 13, 17, 16, 112, 137, 104, 103, 86, 101, 107, 150, 111, 127, 7, 100, 489, 693, 502, 503, 501, 108, 142, 95, 106, 128, 893, 129, 126, 688, 687, 110, 118, 98, 139, 99, 140, 493, 494, 892, 109, 499, 105, 1912, 311, 801, 141, 79, 4, 76, 694, 733, 62, 75, 83, 85, 10, 488, 59, 82, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 133, 81, 136, 73]}, - 101: {'name': 'Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 3665, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_AUTOTURRET', 'TERRAN_BANSHEE', 'TERRAN_BARRACKSFLYING', 'TERRAN_BATTLECRUISER', 'TERRAN_BUNKER', 'TERRAN_COMMANDCENTERFLYING', 'TERRAN_CYCLONE', 'TERRAN_FACTORYFLYING', 'TERRAN_GHOST', 'TERRAN_HELLION', 'TERRAN_HELLIONTANK', 'TERRAN_LIBERATOR', 'TERRAN_LIBERATORAG', 'TERRAN_MARAUDER', 'TERRAN_MARINE', 'TERRAN_MEDIVAC', 'TERRAN_MISSILETURRET', 'TERRAN_MULE', 'TERRAN_ORBITALCOMMANDFLYING', 'TERRAN_PLANETARYFORTRESS', 'TERRAN_RAVEN', 'TERRAN_REAPER', 'TERRAN_SCV', 'TERRAN_SIEGETANK', 'TERRAN_SIEGETANKSIEGED', 'TERRAN_STARPORTFLYING', 'TERRAN_THOR', 'TERRAN_THORAP', 'TERRAN_VIKINGASSAULT', 'TERRAN_VIKINGFIGHTER', 'TERRAN_WIDOWMINE', 'ZERG_BANELING', 'ZERG_BROODLING', 'ZERG_BROODLORD', 'ZERG_CHANGELING', 'ZERG_CHANGELINGMARINE', 'ZERG_CHANGELINGMARINESHIELD', 'ZERG_CHANGELINGZEALOT', 'ZERG_CHANGELINGZERGLING', 'ZERG_CHANGELINGZERGLINGWINGS', 'ZERG_CORRUPTOR', 'ZERG_DRONE', 'ZERG_HYDRALISK', 'ZERG_INFESTOR', 'ZERG_INFESTORBURROWED', 'ZERG_INFESTORTERRAN', 'ZERG_LOCUSTMP', 'ZERG_LOCUSTMPFLYING', 'ZERG_LURKERMP', 'ZERG_LURKERMPBURROWED', 'ZERG_MUTALISK', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORD', 'ZERG_OVERLORDTRANSPORT', 'ZERG_OVERSEER', 'ZERG_QUEEN', 'ZERG_RAVAGER', 'ZERG_ROACH', 'ZERG_ROACHBURROWED', 'ZERG_SPINECRAWLER', 'ZERG_SPINECRAWLERUPROOTED', 'ZERG_SPORECRAWLER', 'ZERG_SPORECRAWLERUPROOTED', 'ZERG_SWARMHOSTMP', 'ZERG_ULTRALISK', 'ZERG_VIPER', 'ZERG_ZERGLING', 'PROTOSS_ADEPT', 'PROTOSS_ADEPTPHASESHIFT', 'PROTOSS_ARCHON', 'PROTOSS_CARRIER', 'PROTOSS_COLOSSUS', 'PROTOSS_DARKTEMPLAR', 'PROTOSS_DISRUPTOR', 'PROTOSS_DISRUPTORPHASED', 'PROTOSS_HIGHTEMPLAR', 'PROTOSS_IMMORTAL', 'PROTOSS_INTERCEPTOR', 'PROTOSS_MOTHERSHIP', 'PROTOSS_MOTHERSHIPCORE', 'PROTOSS_OBSERVER', 'PROTOSS_ORACLE', 'PROTOSS_PHOENIX', 'PROTOSS_PHOTONCANNON', 'PROTOSS_PROBE', 'PROTOSS_PYLONOVERCHARGED', 'PROTOSS_SENTRY', 'PROTOSS_STALKER', 'PROTOSS_TEMPEST', 'PROTOSS_VOIDRAY', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING', 'PROTOSS_ZEALOT'], 'avail_unit_type_id': [31, 55, 46, 57, 24, 36, 692, 43, 50, 53, 484, 689, 734, 51, 48, 54, 23, 268, 134, 130, 56, 49, 45, 33, 32, 44, 52, 691, 34, 35, 498, 9, 289, 114, 12, 15, 14, 13, 17, 16, 112, 104, 107, 111, 127, 7, 489, 693, 502, 503, 108, 142, 95, 106, 893, 129, 126, 688, 110, 118, 98, 139, 99, 140, 494, 109, 499, 105, 311, 801, 141, 79, 4, 76, 694, 733, 75, 83, 85, 10, 488, 82, 495, 78, 66, 84, 894, 77, 74, 496, 80, 81, 136, 73]}, - 496: {'name': 'Stop_Building_quick', 'func_type': 'raw_cmd', 'ability_id': 2057, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 497: {'name': 'Stop_Redirect_quick', 'func_type': 'raw_cmd', 'ability_id': 1691, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 155: {'name': 'Stop_Stop_quick', 'func_type': 'raw_cmd', 'ability_id': 4, 'general_id': 3665, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': [], 'avail_unit_type_id': []}, - 54: {'name': 'Train_Adept_quick', 'func_type': 'raw_cmd', 'ability_id': 922, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 498: {'name': 'Train_Baneling_quick', 'func_type': 'raw_cmd', 'ability_id': 80, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_ZERGLING'], 'avail_unit_type_id': [105]}, - 499: {'name': 'Train_Banshee_quick', 'func_type': 'raw_cmd', 'ability_id': 621, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 500: {'name': 'Train_Battlecruiser_quick', 'func_type': 'raw_cmd', 'ability_id': 623, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 56: {'name': 'Train_Carrier_quick', 'func_type': 'raw_cmd', 'ability_id': 948, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 62: {'name': 'Train_Colossus_quick', 'func_type': 'raw_cmd', 'ability_id': 978, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 501: {'name': 'Train_Corruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 1353, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 502: {'name': 'Train_Cyclone_quick', 'func_type': 'raw_cmd', 'ability_id': 597, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 52: {'name': 'Train_DarkTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 920, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 166: {'name': 'Train_Disruptor_quick', 'func_type': 'raw_cmd', 'ability_id': 994, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 503: {'name': 'Train_Drone_quick', 'func_type': 'raw_cmd', 'ability_id': 1342, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 504: {'name': 'Train_Ghost_quick', 'func_type': 'raw_cmd', 'ability_id': 562, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 505: {'name': 'Train_Hellbat_quick', 'func_type': 'raw_cmd', 'ability_id': 596, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 506: {'name': 'Train_Hellion_quick', 'func_type': 'raw_cmd', 'ability_id': 595, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 51: {'name': 'Train_HighTemplar_quick', 'func_type': 'raw_cmd', 'ability_id': 919, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 507: {'name': 'Train_Hydralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1345, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 63: {'name': 'Train_Immortal_quick', 'func_type': 'raw_cmd', 'ability_id': 979, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 508: {'name': 'Train_Infestor_quick', 'func_type': 'raw_cmd', 'ability_id': 1352, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 509: {'name': 'Train_Liberator_quick', 'func_type': 'raw_cmd', 'ability_id': 626, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 510: {'name': 'Train_Marauder_quick', 'func_type': 'raw_cmd', 'ability_id': 563, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 511: {'name': 'Train_Marine_quick', 'func_type': 'raw_cmd', 'ability_id': 560, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 512: {'name': 'Train_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 620, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 513: {'name': 'Train_MothershipCore_quick', 'func_type': 'raw_cmd', 'ability_id': 1853, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 21: {'name': 'Train_Mothership_quick', 'func_type': 'raw_cmd', 'ability_id': 110, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 514: {'name': 'Train_Mutalisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1346, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 61: {'name': 'Train_Observer_quick', 'func_type': 'raw_cmd', 'ability_id': 977, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 58: {'name': 'Train_Oracle_quick', 'func_type': 'raw_cmd', 'ability_id': 954, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 515: {'name': 'Train_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1344, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 55: {'name': 'Train_Phoenix_quick', 'func_type': 'raw_cmd', 'ability_id': 946, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 64: {'name': 'Train_Probe_quick', 'func_type': 'raw_cmd', 'ability_id': 1006, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_NEXUS'], 'avail_unit_type_id': [59]}, - 516: {'name': 'Train_Queen_quick', 'func_type': 'raw_cmd', 'ability_id': 1632, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_HATCHERY', 'ZERG_HIVE', 'ZERG_LAIR'], 'avail_unit_type_id': [86, 101, 100]}, - 517: {'name': 'Train_Raven_quick', 'func_type': 'raw_cmd', 'ability_id': 622, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 518: {'name': 'Train_Reaper_quick', 'func_type': 'raw_cmd', 'ability_id': 561, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BARRACKS'], 'avail_unit_type_id': [21]}, - 519: {'name': 'Train_Roach_quick', 'func_type': 'raw_cmd', 'ability_id': 1351, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 520: {'name': 'Train_SCV_quick', 'func_type': 'raw_cmd', 'ability_id': 524, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER', 'TERRAN_ORBITALCOMMAND', 'TERRAN_PLANETARYFORTRESS'], 'avail_unit_type_id': [18, 132, 130]}, - 53: {'name': 'Train_Sentry_quick', 'func_type': 'raw_cmd', 'ability_id': 921, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 521: {'name': 'Train_SiegeTank_quick', 'func_type': 'raw_cmd', 'ability_id': 591, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 50: {'name': 'Train_Stalker_quick', 'func_type': 'raw_cmd', 'ability_id': 917, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 522: {'name': 'Train_SwarmHost_quick', 'func_type': 'raw_cmd', 'ability_id': 1356, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 59: {'name': 'Train_Tempest_quick', 'func_type': 'raw_cmd', 'ability_id': 955, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 523: {'name': 'Train_Thor_quick', 'func_type': 'raw_cmd', 'ability_id': 594, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 524: {'name': 'Train_Ultralisk_quick', 'func_type': 'raw_cmd', 'ability_id': 1348, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 525: {'name': 'Train_VikingFighter_quick', 'func_type': 'raw_cmd', 'ability_id': 624, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_STARPORT'], 'avail_unit_type_id': [28]}, - 526: {'name': 'Train_Viper_quick', 'func_type': 'raw_cmd', 'ability_id': 1354, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 57: {'name': 'Train_VoidRay_quick', 'func_type': 'raw_cmd', 'ability_id': 950, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_STARGATE'], 'avail_unit_type_id': [67]}, - 76: {'name': 'TrainWarp_Adept_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1419, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 74: {'name': 'TrainWarp_DarkTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1417, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 73: {'name': 'TrainWarp_HighTemplar_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1416, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 60: {'name': 'Train_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 976, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_ROBOTICSFACILITY'], 'avail_unit_type_id': [71]}, - 75: {'name': 'TrainWarp_Sentry_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1418, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 72: {'name': 'TrainWarp_Stalker_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1414, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 71: {'name': 'TrainWarp_Zealot_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1413, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPGATE'], 'avail_unit_type_id': [133]}, - 527: {'name': 'Train_WidowMine_quick', 'func_type': 'raw_cmd', 'ability_id': 614, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_FACTORY'], 'avail_unit_type_id': [27]}, - 49: {'name': 'Train_Zealot_quick', 'func_type': 'raw_cmd', 'ability_id': 916, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_GATEWAY'], 'avail_unit_type_id': [62]}, - 528: {'name': 'Train_Zergling_quick', 'func_type': 'raw_cmd', 'ability_id': 1343, 'general_id': 0, 'goal': 'unit', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_LARVA'], 'avail_unit_type_id': [151]}, - 529: {'name': 'UnloadAllAt_Medivac_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 530: {'name': 'UnloadAllAt_Medivac_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 396, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 531: {'name': 'UnloadAllAt_Overlord_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 532: {'name': 'UnloadAllAt_Overlord_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 1408, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORDTRANSPORT'], 'avail_unit_type_id': [893]}, - 105: {'name': 'UnloadAllAt_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, - 164: {'name': 'UnloadAllAt_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 3669, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [54, 893, 81, 136]}, - 156: {'name': 'UnloadAllAt_WarpPrism_pt', 'func_type': 'raw_cmd_pt', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': True, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 163: {'name': 'UnloadAllAt_WarpPrism_unit', 'func_type': 'raw_cmd_unit', 'ability_id': 913, 'general_id': 3669, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': True, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - 533: {'name': 'UnloadAll_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 408, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 534: {'name': 'UnloadAll_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 413, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 535: {'name': 'UnloadAll_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1438, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 536: {'name': 'UnloadAll_NydusWorm_quick', 'func_type': 'raw_cmd', 'ability_id': 2371, 'general_id': 3664, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSCANAL'], 'avail_unit_type_id': [142]}, - 100: {'name': 'UnloadAll_quick', 'func_type': 'raw_cmd', 'ability_id': 3664, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_COMMANDCENTERFLYING', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [24, 18, 36, 142, 95]}, - 556: {'name': 'UnloadUnit_quick', 'func_type': 'raw_cmd', 'ability_id': 3796, 'general_id': 0, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER', 'TERRAN_COMMANDCENTER', 'TERRAN_MEDIVAC', 'ZERG_NYDUSCANAL', 'ZERG_NYDUSNETWORK', 'ZERG_OVERLORDTRANSPORT', 'PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [24, 18, 54, 142, 95, 893, 81, 136]}, - 557: {'name': 'UnloadUnit_Bunker_quick', 'func_type': 'raw_cmd', 'ability_id': 410, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_BUNKER'], 'avail_unit_type_id': [24]}, - 558: {'name': 'UnloadUnit_CommandCenter_quick', 'func_type': 'raw_cmd', 'ability_id': 415, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_COMMANDCENTER'], 'avail_unit_type_id': [18]}, - 559: {'name': 'UnloadUnit_Medivac_quick', 'func_type': 'raw_cmd', 'ability_id': 397, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['TERRAN_MEDIVAC'], 'avail_unit_type_id': [54]}, - 560: {'name': 'UnloadUnit_NydusNetwork_quick', 'func_type': 'raw_cmd', 'ability_id': 1440, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_NYDUSNETWORK'], 'avail_unit_type_id': [95]}, - 561: {'name': 'UnloadUnit_Overlord_quick', 'func_type': 'raw_cmd', 'ability_id': 1409, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['ZERG_OVERLORD'], 'avail_unit_type_id': [106]}, - 562: {'name': 'UnloadUnit_WarpPrism_quick', 'func_type': 'raw_cmd', 'ability_id': 914, 'general_id': 3796, 'goal': 'other', 'special_goal': None, 'queued': True, 'selected_units': True, 'target_unit': False, 'target_location': False, 'avail_unit_type': ['PROTOSS_WARPPRISM', 'PROTOSS_WARPPRISMPHASING'], 'avail_unit_type_id': [81, 136]}, - } - -ACTIONS_STAT = { - 0: {'action_name': 'no_op', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, - 1: {'action_name': 'Smart_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 2: {'action_name': 'Attack_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 3: {'action_name': 'Attack_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 66, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 57, 24, 692, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 130, 11, 56, 49, 1913, 45, 33, 32, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Battlecruiser', 'Bunker', 'Cyclone', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 12: {'action_name': 'Smart_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 13: {'action_name': 'Move_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 14: {'action_name': 'Move_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 15: {'action_name': 'Patrol_pt', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 16: {'action_name': 'Patrol_unit', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 17: {'action_name': 'HoldPosition_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 62, 75, 83, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 894, 71, 77, 1910, 74, 67, 496, 80, 81, 136, 73, 31, 55, 21, 46, 57, 24, 18, 36, 692, 27, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 132, 134, 130, 11, 56, 49, 1913, 45, 33, 32, 28, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 86, 101, 107, 117, 94, 7, 120, 150, 111, 127, 100, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'Gateway', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'PylonOvercharged', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'Factory', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 19: {'action_name': 'Research_PhoenixAnionPulseCrystals_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, - 20: {'action_name': 'Effect_GuardianShield_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 21: {'action_name': 'Train_Mothership_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, - 22: {'action_name': 'Hallucination_Archon_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 23: {'action_name': 'Hallucination_Colossus_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 25: {'action_name': 'Hallucination_Immortal_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 26: {'action_name': 'Hallucination_Phoenix_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 27: {'action_name': 'Hallucination_Probe_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 28: {'action_name': 'Hallucination_Stalker_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 29: {'action_name': 'Hallucination_VoidRay_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 30: {'action_name': 'Hallucination_WarpPrism_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 31: {'action_name': 'Hallucination_Zealot_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 32: {'action_name': 'Effect_GravitonBeam_unit', 'selected_type': [78], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Phoenix'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 34: {'action_name': 'Build_Nexus_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 35: {'action_name': 'Build_Pylon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 36: {'action_name': 'Build_Assimilator_unit', 'selected_type': [84], 'target_type': [344, 342, 343, 880, 881, 665], 'selected_type_name': ['Probe'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'LabMineralField']}, - 37: {'action_name': 'Build_Gateway_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 38: {'action_name': 'Build_Forge_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 39: {'action_name': 'Build_FleetBeacon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 40: {'action_name': 'Build_TwilightCouncil_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 41: {'action_name': 'Build_PhotonCannon_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 42: {'action_name': 'Build_Stargate_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 43: {'action_name': 'Build_TemplarArchive_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 44: {'action_name': 'Build_DarkShrine_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 45: {'action_name': 'Build_RoboticsBay_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 46: {'action_name': 'Build_RoboticsFacility_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 47: {'action_name': 'Build_CyberneticsCore_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 48: {'action_name': 'Build_ShieldBattery_pt', 'selected_type': [84], 'target_type': [], 'selected_type_name': ['Probe'], 'target_type_name': []}, - 49: {'action_name': 'Train_Zealot_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 50: {'action_name': 'Train_Stalker_quick', 'selected_type': [62, 133], 'target_type': [], 'selected_type_name': ['Gateway', 'WarpGate'], 'target_type_name': []}, - 51: {'action_name': 'Train_HighTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 52: {'action_name': 'Train_DarkTemplar_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 53: {'action_name': 'Train_Sentry_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 54: {'action_name': 'Train_Adept_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 55: {'action_name': 'Train_Phoenix_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 56: {'action_name': 'Train_Carrier_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 57: {'action_name': 'Train_VoidRay_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 58: {'action_name': 'Train_Oracle_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 59: {'action_name': 'Train_Tempest_quick', 'selected_type': [67], 'target_type': [], 'selected_type_name': ['Stargate'], 'target_type_name': []}, - 60: {'action_name': 'Train_WarpPrism_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 61: {'action_name': 'Train_Observer_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 62: {'action_name': 'Train_Colossus_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 63: {'action_name': 'Train_Immortal_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 64: {'action_name': 'Train_Probe_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, - 65: {'action_name': 'Effect_PsiStorm_pt', 'selected_type': [75], 'target_type': [], 'selected_type_name': ['HighTemplar'], 'target_type_name': []}, - 66: {'action_name': 'Build_Interceptors_quick', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, - 67: {'action_name': 'Research_GraviticBooster_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 68: {'action_name': 'Research_GraviticDrive_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 69: {'action_name': 'Research_ExtendedThermalLance_quick', 'selected_type': [70], 'target_type': [], 'selected_type_name': ['RoboticsBay'], 'target_type_name': []}, - 70: {'action_name': 'Research_PsiStorm_quick', 'selected_type': [68], 'target_type': [], 'selected_type_name': ['TemplarArchive'], 'target_type_name': []}, - 71: {'action_name': 'TrainWarp_Zealot_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 72: {'action_name': 'TrainWarp_Stalker_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 73: {'action_name': 'TrainWarp_HighTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 74: {'action_name': 'TrainWarp_DarkTemplar_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 75: {'action_name': 'TrainWarp_Sentry_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 76: {'action_name': 'TrainWarp_Adept_pt', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 77: {'action_name': 'Morph_WarpGate_quick', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 78: {'action_name': 'Morph_Gateway_quick', 'selected_type': [133], 'target_type': [], 'selected_type_name': ['WarpGate'], 'target_type_name': []}, - 79: {'action_name': 'Effect_ForceField_pt', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 80: {'action_name': 'Morph_WarpPrismPhasingMode_quick', 'selected_type': [81, 136], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing'], 'target_type_name': []}, - 81: {'action_name': 'Morph_WarpPrismTransportMode_quick', 'selected_type': [136, 81], 'target_type': [], 'selected_type_name': ['WarpPrismPhasing', 'WarpPrism'], 'target_type_name': []}, - 82: {'action_name': 'Research_WarpGate_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 83: {'action_name': 'Research_Charge_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 84: {'action_name': 'Research_Blink_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 85: {'action_name': 'Research_AdeptResonatingGlaives_quick', 'selected_type': [65], 'target_type': [], 'selected_type_name': ['TwilightCouncil'], 'target_type_name': []}, - 86: {'action_name': 'Morph_Archon_quick', 'selected_type': [75, 76], 'target_type': [], 'selected_type_name': ['HighTemplar', 'DarkTemplar'], 'target_type_name': []}, - 87: {'action_name': 'Behavior_BuildingAttackOn_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, - 88: {'action_name': 'Behavior_BuildingAttackOff_quick', 'selected_type': [9], 'target_type': [], 'selected_type_name': ['Baneling'], 'target_type_name': []}, - 89: {'action_name': 'Hallucination_Oracle_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 90: {'action_name': 'Effect_OracleRevelation_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 92: {'action_name': 'Hallucination_Disruptor_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 94: {'action_name': 'Effect_VoidRayPrismaticAlignment_quick', 'selected_type': [80], 'target_type': [], 'selected_type_name': ['VoidRay'], 'target_type_name': []}, - 95: {'action_name': 'Build_StasisTrap_pt', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 96: {'action_name': 'Effect_AdeptPhaseShift_pt', 'selected_type': [311], 'target_type': [], 'selected_type_name': ['Adept'], 'target_type_name': []}, - 97: {'action_name': 'Research_ShadowStrike_quick', 'selected_type': [69], 'target_type': [], 'selected_type_name': ['DarkShrine'], 'target_type_name': []}, - 98: {'action_name': 'Cancel_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 99: {'action_name': 'Halt_quick', 'selected_type': [45, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30], 'target_type': [], 'selected_type_name': ['SCV', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore'], 'target_type_name': []}, - 100: {'action_name': 'UnloadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 101: {'action_name': 'Stop_quick', 'selected_type': [311, 801, 1955, 79, 4, 76, 694, 733, 75, 83, 10, 488, 82, 1911, 495, 78, 84, 894, 77, 1910, 74, 496, 80, 81, 136, 73, 31, 55, 46, 57, 36, 692, 43, 50, 144, 53, 484, 689, 734, 268, 51, 48, 54, 23, 134, 11, 56, 49, 1913, 45, 33, 32, 44, 52, 691, 34, 35, 498, 500, 9, 115, 8, 114, 113, 289, 12, 15, 14, 13, 17, 16, 103, 112, 104, 116, 107, 117, 94, 7, 120, 150, 111, 127, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 98, 139, 99, 140, 494, 493, 109, 131, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'AssimilatorRich', 'Carrier', 'Colossus', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'HighTemplar', 'Immortal', 'Mothership', 'MothershipCore', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'Probe', 'PylonOvercharged', 'Sentry', 'ShieldBattery', 'Stalker', 'Tempest', 'VoidRay', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'AutoTurret', 'Banshee', 'BarracksFlying', 'Battlecruiser', 'CommandCenterFlying', 'Cyclone', 'FactoryFlying', 'Ghost', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'OrbitalCommandFlying', 'PointDefenseDrone', 'Raven', 'Reaper', 'RepairDrone', 'SCV', 'SiegeTank', 'SiegeTankSieged', 'StarportFlying', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'Drone', 'DroneBurrowed', 'Hydralisk', 'HydraliskBurrowed', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpineCrawler', 'SpineCrawlerUprooted', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 102: {'action_name': 'Harvest_Gather_unit', 'selected_type': [104, 45, 84, 268], 'target_type': [483, 20, 341, 88, 665, 666, 61, 884, 885, 796, 797, 1961, 146, 147, 1955, 1960, 1956], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': ['MineralField750', 'Refinery', 'MineralField', 'Extractor', 'LabMineralField', 'LabMineralField750', 'Assimilator', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450', 'RichMineralField', 'RichMineralField750', 'AssimilatorRich', 'RefineryRich', 'ExtractorRich']}, - 103: {'action_name': 'Harvest_Return_quick', 'selected_type': [104, 45, 84, 268], 'target_type': [], 'selected_type_name': ['Drone', 'SCV', 'Probe', 'MULE'], 'target_type_name': []}, - 104: {'action_name': 'Load_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 105: {'action_name': 'UnloadAllAt_pt', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 106: {'action_name': 'Rally_Units_pt', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 107: {'action_name': 'Rally_Units_unit', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 109: {'action_name': 'Effect_Repair_unit', 'selected_type': [268, 45], 'target_type': [29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 26, 144, 53, 484, 689, 734, 268, 54, 23, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': ['Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'GhostAcademy', 'GhostAlternate', 'Hellion', 'Hellbat', 'Liberator', 'LiberatorAG', 'MULE', 'Medivac', 'MissileTurret', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed']}, - 110: {'action_name': 'Effect_MassRecall_pt', 'selected_type': [10, 59], 'target_type': [], 'selected_type_name': ['Mothership', 'Nexus'], 'target_type_name': []}, - 111: {'action_name': 'Effect_Blink_pt', 'selected_type': [74, 76], 'target_type': [], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': []}, - 114: {'action_name': 'Rally_Workers_pt', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': []}, - 115: {'action_name': 'Rally_Workers_unit', 'selected_type': [59, 18, 132, 130, 86, 100, 101], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Nexus', 'CommandCenter', 'OrbitalCommand', 'PlanetaryFortress', 'Hatchery', 'Lair', 'Hive'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 116: {'action_name': 'Research_ProtossAirArmor_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 117: {'action_name': 'Research_ProtossAirWeapons_quick', 'selected_type': [72], 'target_type': [], 'selected_type_name': ['CyberneticsCore'], 'target_type_name': []}, - 118: {'action_name': 'Research_ProtossGroundArmor_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 119: {'action_name': 'Research_ProtossGroundWeapons_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 120: {'action_name': 'Research_ProtossShields_quick', 'selected_type': [63], 'target_type': [], 'selected_type_name': ['Forge'], 'target_type_name': []}, - 121: {'action_name': 'Morph_ObserverMode_quick', 'selected_type': [1911], 'target_type': [], 'selected_type_name': ['ObserverSurveillanceMode'], 'target_type_name': []}, - 122: {'action_name': 'Effect_ChronoBoostEnergyCost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, - 129: {'action_name': 'Cancel_Last_quick', 'selected_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'target_type': [], 'selected_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed'], 'target_type_name': []}, - 157: {'action_name': 'Effect_Feedback_unit', 'selected_type': [75], 'target_type': [129, 75, 111, 499, 1912, 126, 127, 78, 10, 77, 144, 56, 495, 50, 54, 55, 125], 'selected_type_name': ['HighTemplar'], 'target_type_name': ['Overseer', 'HighTemplar', 'Infestor', 'Viper', 'OverseerOversightMode', 'Queen', 'InfestorBurrowed', 'Phoenix', 'Mothership', 'Sentry', 'GhostAlternate', 'Raven', 'Oracle', 'Ghost', 'Medivac', 'Banshee', 'QueenBurrowed']}, - 158: {'action_name': 'Behavior_PulsarBeamOff_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 159: {'action_name': 'Behavior_PulsarBeamOn_quick', 'selected_type': [495], 'target_type': [], 'selected_type_name': ['Oracle'], 'target_type_name': []}, - 160: {'action_name': 'Morph_SurveillanceMode_quick', 'selected_type': [82], 'target_type': [], 'selected_type_name': ['Observer'], 'target_type_name': []}, - 161: {'action_name': 'Effect_Restore_unit', 'selected_type': [1910], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73], 'selected_type_name': ['ShieldBattery'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot']}, - 164: {'action_name': 'UnloadAllAt_unit', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress']}, - 166: {'action_name': 'Train_Disruptor_quick', 'selected_type': [71], 'target_type': [], 'selected_type_name': ['RoboticsFacility'], 'target_type_name': []}, - 167: {'action_name': 'Effect_PurificationNova_pt', 'selected_type': [694], 'target_type': [], 'selected_type_name': ['Disruptor'], 'target_type_name': []}, - 168: {'action_name': 'raw_move_camera', 'selected_type': [], 'target_type': [], 'selected_type_name': [], 'target_type_name': []}, - 169: {'action_name': 'Behavior_CloakOff_quick', 'selected_type': [144, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'Banshee'], 'target_type_name': []}, - 172: {'action_name': 'Behavior_CloakOn_quick', 'selected_type': [144, 145, 50, 55], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost', 'Banshee'], 'target_type_name': []}, - 175: {'action_name': 'Behavior_GenerateCreepOff_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 176: {'action_name': 'Behavior_GenerateCreepOn_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 177: {'action_name': 'Behavior_HoldFireOff_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, - 180: {'action_name': 'Behavior_HoldFireOn_quick', 'selected_type': [144, 50, 503], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost', 'LurkerBurrowed'], 'target_type_name': []}, - 183: {'action_name': 'Build_Armory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 184: {'action_name': 'Build_BanelingNest_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 185: {'action_name': 'Build_Barracks_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 186: {'action_name': 'Build_Bunker_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 187: {'action_name': 'Build_CommandCenter_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 188: {'action_name': 'Build_CreepTumor_pt', 'selected_type': [137, 126], 'target_type': [], 'selected_type_name': ['CreepTumorBurrowed', 'Queen'], 'target_type_name': []}, - 191: {'action_name': 'Build_EngineeringBay_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 192: {'action_name': 'Build_EvolutionChamber_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 193: {'action_name': 'Build_Extractor_unit', 'selected_type': [104], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['Drone'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, - 194: {'action_name': 'Build_Factory_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 195: {'action_name': 'Build_FusionCore_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 196: {'action_name': 'Build_GhostAcademy_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 197: {'action_name': 'Build_Hatchery_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 198: {'action_name': 'Build_HydraliskDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 199: {'action_name': 'Build_InfestationPit_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 201: {'action_name': 'Build_LurkerDen_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 202: {'action_name': 'Build_MissileTurret_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 203: {'action_name': 'Build_Nuke_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 204: {'action_name': 'Build_NydusNetwork_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 205: {'action_name': 'Build_NydusWorm_pt', 'selected_type': [95], 'target_type': [], 'selected_type_name': ['NydusNetwork'], 'target_type_name': []}, - 206: {'action_name': 'Build_Reactor_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 207: {'action_name': 'Build_Reactor_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 214: {'action_name': 'Build_Refinery_pt', 'selected_type': [45], 'target_type': [344, 342, 343, 880, 881], 'selected_type_name': ['SCV'], 'target_type_name': ['RichVespeneGeyser', 'VespeneGeyser', 'SpacePlatformGeyser', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser']}, - 215: {'action_name': 'Build_RoachWarren_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 216: {'action_name': 'Build_SensorTower_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 217: {'action_name': 'Build_SpawningPool_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 218: {'action_name': 'Build_SpineCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 219: {'action_name': 'Build_Spire_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 220: {'action_name': 'Build_SporeCrawler_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 221: {'action_name': 'Build_Starport_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 222: {'action_name': 'Build_SupplyDepot_pt', 'selected_type': [45], 'target_type': [], 'selected_type_name': ['SCV'], 'target_type_name': []}, - 223: {'action_name': 'Build_TechLab_quick', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 224: {'action_name': 'Build_TechLab_pt', 'selected_type': [43, 44, 46, 21, 27, 28], 'target_type': [], 'selected_type_name': ['FactoryFlying', 'StarportFlying', 'BarracksFlying', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 231: {'action_name': 'Build_UltraliskCavern_pt', 'selected_type': [104], 'target_type': [], 'selected_type_name': ['Drone'], 'target_type_name': []}, - 232: {'action_name': 'BurrowDown_quick', 'selected_type': [7, 104, 105, 9, 107, 109, 110, 494, 111, 688, 498, 502, 503, 126], 'target_type': [], 'selected_type_name': ['InfestedTerran', 'Drone', 'Zergling', 'Baneling', 'Hydralisk', 'Ultralisk', 'Roach', 'SwarmHost', 'Infestor', 'Ravager', 'WidowMine', 'Lurker', 'LurkerBurrowed', 'Queen'], 'target_type_name': []}, - 246: {'action_name': 'BurrowUp_quick', 'selected_type': [131, 503, 493, 690, 115, 500, 116, 118, 119, 117, 125, 127, 120], 'target_type': [], 'selected_type_name': ['UltraliskBurrowed', 'LurkerBurrowed', 'SwarmHostBurrowed', 'RavagerBurrowed', 'BanelingBurrowed', 'WidowMineBurrowed', 'DroneBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'HydraliskBurrowed', 'QueenBurrowed', 'InfestorBurrowed', 'InfestedTerranBurrowed'], 'target_type_name': []}, - 293: {'action_name': 'Effect_Abduct_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 294: {'action_name': 'Effect_AntiArmorMissile_unit', 'selected_type': [56], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Raven'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 295: {'action_name': 'Effect_AutoTurret_pt', 'selected_type': [56], 'target_type': [], 'selected_type_name': ['Raven'], 'target_type_name': []}, - 296: {'action_name': 'Effect_BlindingCloud_pt', 'selected_type': [499], 'target_type': [], 'selected_type_name': ['Viper'], 'target_type_name': []}, - 297: {'action_name': 'Effect_CalldownMULE_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, - 298: {'action_name': 'Effect_CalldownMULE_unit', 'selected_type': [132], 'target_type': [665, 666, 483, 341, 146, 147, 884, 885, 796, 797, 1961], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['LabMineralField', 'LabMineralField750', 'MineralField750', 'MineralField', 'RichMineralField', 'RichMineralField750', 'PurifierMineralField', 'PurifierMineralField750', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'MineralField450']}, - 299: {'action_name': 'Effect_CausticSpray_unit', 'selected_type': [112], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Corruptor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 301: {'action_name': 'Effect_Charge_unit', 'selected_type': [73], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Zealot'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 303: {'action_name': 'Effect_Contaminate_unit', 'selected_type': [1912, 129], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 304: {'action_name': 'Effect_CorrosiveBile_pt', 'selected_type': [688], 'target_type': [], 'selected_type_name': ['Ravager'], 'target_type_name': []}, - 305: {'action_name': 'Effect_EMP_pt', 'selected_type': [144, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'Ghost'], 'target_type_name': []}, - 307: {'action_name': 'Effect_Explode_quick', 'selected_type': [9, 115], 'target_type': [], 'selected_type_name': ['Baneling', 'BanelingBurrowed'], 'target_type_name': []}, - 308: {'action_name': 'Effect_FungalGrowth_pt', 'selected_type': [111], 'target_type': [], 'selected_type_name': ['Infestor'], 'target_type_name': []}, - 310: {'action_name': 'Effect_GhostSnipe_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 311: {'action_name': 'Effect_Heal_unit', 'selected_type': [54], 'target_type': [48, 51, 49], 'selected_type_name': ['Medivac'], 'target_type_name': ['Marine', 'Marauder', 'Reaper']}, - 314: {'action_name': 'Effect_InfestedTerrans_pt', 'selected_type': [111, 127], 'target_type': [], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': []}, - 315: {'action_name': 'Effect_InjectLarva_unit', 'selected_type': [126], 'target_type': [100, 101, 86], 'selected_type_name': ['Queen'], 'target_type_name': ['Lair', 'Hive', 'Hatchery']}, - 316: {'action_name': 'Effect_InterferenceMatrix_unit', 'selected_type': [56], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Raven'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 317: {'action_name': 'Effect_KD8Charge_pt', 'selected_type': [49], 'target_type': [], 'selected_type_name': ['Reaper'], 'target_type_name': []}, - 318: {'action_name': 'Effect_LockOn_unit', 'selected_type': [692], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Cyclone'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 319: {'action_name': 'Effect_LocustSwoop_pt', 'selected_type': [693], 'target_type': [], 'selected_type_name': ['LocustFlying'], 'target_type_name': []}, - 320: {'action_name': 'Effect_MedivacIgniteAfterburners_quick', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, - 321: {'action_name': 'Effect_NeuralParasite_unit', 'selected_type': [111, 127], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Infestor', 'InfestorBurrowed'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 322: {'action_name': 'Effect_NukeCalldown_pt', 'selected_type': [144, 145, 50], 'target_type': [], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': []}, - 323: {'action_name': 'Effect_ParasiticBomb_unit', 'selected_type': [499], 'target_type': [311, 801, 141, 61, 1955, 79, 4, 72, 69, 76, 694, 733, 64, 135, 63, 62, 75, 83, 85, 10, 488, 59, 82, 1911, 495, 78, 66, 84, 60, 894, 70, 71, 77, 1910, 74, 67, 732, 496, 68, 65, 80, 133, 81, 136, 73, 29, 31, 55, 21, 46, 38, 37, 57, 24, 18, 36, 692, 22, 27, 43, 40, 39, 30, 50, 26, 144, 145, 53, 484, 830, 689, 734, 268, 51, 48, 54, 23, 58, 132, 134, 130, 11, 56, 6, 49, 20, 1960, 1913, 45, 25, 33, 32, 28, 44, 42, 41, 19, 47, 5, 52, 691, 34, 35, 498, 500, 9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Viper'], 'target_type_name': ['Adept', 'AdeptPhaseShift', 'Archon', 'Assimilator', 'AssimilatorRich', 'Carrier', 'Colossus', 'CyberneticsCore', 'DarkShrine', 'DarkTemplar', 'Disruptor', 'DisruptorPhased', 'FleetBeacon', 'ForceField', 'Forge', 'Gateway', 'HighTemplar', 'Immortal', 'Interceptor', 'Mothership', 'MothershipCore', 'Nexus', 'Observer', 'ObserverSurveillanceMode', 'Oracle', 'Phoenix', 'PhotonCannon', 'Probe', 'Pylon', 'PylonOvercharged', 'RoboticsBay', 'RoboticsFacility', 'Sentry', 'ShieldBattery', 'Stalker', 'Stargate', 'StasisTrap', 'Tempest', 'TemplarArchive', 'TwilightCouncil', 'VoidRay', 'WarpGate', 'WarpPrism', 'WarpPrismPhasing', 'Zealot', 'Armory', 'AutoTurret', 'Banshee', 'Barracks', 'BarracksFlying', 'BarracksReactor', 'BarracksTechLab', 'Battlecruiser', 'Bunker', 'CommandCenter', 'CommandCenterFlying', 'Cyclone', 'EngineeringBay', 'Factory', 'FactoryFlying', 'FactoryReactor', 'FactoryTechLab', 'FusionCore', 'Ghost', 'GhostAcademy', 'GhostAlternate', 'GhostNova', 'Hellion', 'Hellbat', 'KD8Charge', 'Liberator', 'LiberatorAG', 'MULE', 'Marauder', 'Marine', 'Medivac', 'MissileTurret', 'Nuke', 'OrbitalCommand', 'OrbitalCommandFlying', 'PlanetaryFortress', 'PointDefenseDrone', 'Raven', 'Reactor', 'Reaper', 'Refinery', 'RefineryRich', 'RepairDrone', 'SCV', 'SensorTower', 'SiegeTank', 'SiegeTankSieged', 'Starport', 'StarportFlying', 'StarportReactor', 'StarportTechLab', 'SupplyDepot', 'SupplyDepotLowered', 'TechLab', 'Thor', 'ThorHighImpactMode', 'VikingAssault', 'VikingFighter', 'WidowMine', 'WidowMineBurrowed', 'Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 332: {'action_name': 'Effect_Salvage_quick', 'selected_type': [24], 'target_type': [], 'selected_type_name': ['Bunker'], 'target_type_name': []}, - 333: {'action_name': 'Effect_Scan_pt', 'selected_type': [132], 'target_type': [], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': []}, - 334: {'action_name': 'Effect_SpawnChangeling_quick', 'selected_type': [1912, 129], 'target_type': [], 'selected_type_name': ['OverseerOversightMode', 'Overseer'], 'target_type_name': []}, - 335: {'action_name': 'Effect_SpawnLocusts_pt', 'selected_type': [493, 494], 'target_type': [], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': []}, - 337: {'action_name': 'Effect_Spray_pt', 'selected_type': [104, 84, 45], 'target_type': [], 'selected_type_name': ['Drone', 'Probe', 'SCV'], 'target_type_name': []}, - 341: {'action_name': 'Effect_Stim_quick', 'selected_type': [48, 24, 51], 'target_type': [], 'selected_type_name': ['Marine', 'Bunker', 'Marauder'], 'target_type_name': []}, - 346: {'action_name': 'Effect_SupplyDrop_unit', 'selected_type': [132], 'target_type': [19, 47], 'selected_type_name': ['OrbitalCommand'], 'target_type_name': ['SupplyDepot', 'SupplyDepotLowered']}, - 347: {'action_name': 'Effect_TacticalJump_pt', 'selected_type': [57], 'target_type': [], 'selected_type_name': ['Battlecruiser'], 'target_type_name': []}, - 348: {'action_name': 'Effect_TimeWarp_pt', 'selected_type': [10], 'target_type': [], 'selected_type_name': ['Mothership'], 'target_type_name': []}, - 349: {'action_name': 'Effect_Transfusion_unit', 'selected_type': [126], 'target_type': [9, 115, 8, 96, 114, 113, 289, 143, 12, 15, 14, 13, 17, 16, 103, 112, 87, 137, 138, 104, 116, 90, 88, 1956, 102, 86, 101, 107, 117, 91, 94, 7, 120, 150, 111, 127, 100, 151, 489, 693, 502, 503, 504, 501, 108, 142, 95, 106, 893, 892, 129, 128, 1912, 824, 126, 125, 688, 690, 687, 110, 118, 97, 89, 98, 139, 92, 99, 140, 494, 493, 109, 131, 93, 499, 105, 119], 'selected_type_name': ['Queen'], 'target_type_name': ['Baneling', 'BanelingBurrowed', 'BanelingCocoon', 'BanelingNest', 'BroodLord', 'BroodLordCocoon', 'Broodling', 'BroodlingEscort', 'Changeling', 'ChangelingMarine', 'ChangelingMarineShield', 'ChangelingZealot', 'ChangelingZergling', 'ChangelingZerglingWings', 'Cocoon', 'Corruptor', 'CreepTumor', 'CreepTumorBurrowed', 'CreepTumorQueen', 'Drone', 'DroneBurrowed', 'EvolutionChamber', 'Extractor', 'ExtractorRich', 'GreaterSpire', 'Hatchery', 'Hive', 'Hydralisk', 'HydraliskBurrowed', 'HydraliskDen', 'InfestationPit', 'InfestedTerran', 'InfestedTerranBurrowed', 'InfestedTerranCocoon', 'Infestor', 'InfestorBurrowed', 'Lair', 'Larva', 'Locust', 'LocustFlying', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'LurkerCocoon', 'Mutalisk', 'NydusCanal', 'NydusNetwork', 'Overlord', 'OverlordTransport', 'OverlordTransportCocoon', 'Overseer', 'OverseerCocoon', 'OverseerOversightMode', 'ParasiticBombDummy', 'Queen', 'QueenBurrowed', 'Ravager', 'RavagerBurrowed', 'RavagerCocoon', 'Roach', 'RoachBurrowed', 'RoachWarren', 'SpawningPool', 'SpineCrawler', 'SpineCrawlerUprooted', 'Spire', 'SporeCrawler', 'SporeCrawlerUprooted', 'SwarmHost', 'SwarmHostBurrowed', 'Ultralisk', 'UltraliskBurrowed', 'UltraliskCavern', 'Viper', 'Zergling', 'ZerglingBurrowed']}, - 350: {'action_name': 'Effect_ViperConsume_unit', 'selected_type': [499], 'target_type': [96, 97, 98, 99, 100, 101, 1956, 504, 142, 86, 88, 89, 90, 91, 92, 94, 95, 102, 139, 93, 140], 'selected_type_name': ['Viper'], 'target_type_name': ['BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'ExtractorRich', 'LurkerDen', 'NydusCanal', 'Hatchery', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'InfestationPit', 'NydusNetwork', 'GreaterSpire', 'SpineCrawlerUprooted', 'UltraliskCavern', 'SporeCrawlerUprooted']}, - 363: {'action_name': 'Land_pt', 'selected_type': [36, 134, 43, 44, 46], 'target_type': [], 'selected_type_name': ['CommandCenterFlying', 'OrbitalCommandFlying', 'FactoryFlying', 'StarportFlying', 'BarracksFlying'], 'target_type_name': []}, - 369: {'action_name': 'Lift_quick', 'selected_type': [132, 18, 21, 27, 28], 'target_type': [], 'selected_type_name': ['OrbitalCommand', 'CommandCenter', 'Barracks', 'Factory', 'Starport'], 'target_type_name': []}, - 375: {'action_name': 'LoadAll_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 383: {'action_name': 'Morph_BroodLord_quick', 'selected_type': [112], 'target_type': [], 'selected_type_name': ['Corruptor'], 'target_type_name': []}, - 384: {'action_name': 'Morph_GreaterSpire_quick', 'selected_type': [92], 'target_type': [], 'selected_type_name': ['Spire'], 'target_type_name': []}, - 385: {'action_name': 'Morph_Hellbat_quick', 'selected_type': [53], 'target_type': [], 'selected_type_name': ['Hellion'], 'target_type_name': []}, - 386: {'action_name': 'Morph_Hellion_quick', 'selected_type': [484], 'target_type': [], 'selected_type_name': ['Hellbat'], 'target_type_name': []}, - 387: {'action_name': 'Morph_Hive_quick', 'selected_type': [100], 'target_type': [], 'selected_type_name': ['Lair'], 'target_type_name': []}, - 388: {'action_name': 'Morph_Lair_quick', 'selected_type': [86], 'target_type': [], 'selected_type_name': ['Hatchery'], 'target_type_name': []}, - 389: {'action_name': 'Morph_LiberatorAAMode_quick', 'selected_type': [734], 'target_type': [], 'selected_type_name': ['LiberatorAG'], 'target_type_name': []}, - 390: {'action_name': 'Morph_LiberatorAGMode_pt', 'selected_type': [689], 'target_type': [], 'selected_type_name': ['Liberator'], 'target_type_name': []}, - 391: {'action_name': 'Morph_Lurker_quick', 'selected_type': [107], 'target_type': [], 'selected_type_name': ['Hydralisk'], 'target_type_name': []}, - 394: {'action_name': 'Morph_OrbitalCommand_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, - 395: {'action_name': 'Morph_OverlordTransport_quick', 'selected_type': [106], 'target_type': [], 'selected_type_name': ['Overlord'], 'target_type_name': []}, - 396: {'action_name': 'Morph_Overseer_quick', 'selected_type': [106, 893], 'target_type': [], 'selected_type_name': ['Overlord', 'OverlordTransport'], 'target_type_name': []}, - 397: {'action_name': 'Morph_OverseerMode_quick', 'selected_type': [1912], 'target_type': [], 'selected_type_name': ['OverseerOversightMode'], 'target_type_name': []}, - 398: {'action_name': 'Morph_OversightMode_quick', 'selected_type': [129], 'target_type': [], 'selected_type_name': ['Overseer'], 'target_type_name': []}, - 399: {'action_name': 'Morph_PlanetaryFortress_quick', 'selected_type': [18], 'target_type': [], 'selected_type_name': ['CommandCenter'], 'target_type_name': []}, - 400: {'action_name': 'Morph_Ravager_quick', 'selected_type': [110], 'target_type': [], 'selected_type_name': ['Roach'], 'target_type_name': []}, - 401: {'action_name': 'Morph_Root_pt', 'selected_type': [139, 140, 98, 99], 'target_type': [], 'selected_type_name': ['SpineCrawlerUprooted', 'SporeCrawlerUprooted'], 'target_type_name': []}, - 402: {'action_name': 'Morph_SiegeMode_quick', 'selected_type': [33], 'target_type': [], 'selected_type_name': ['SiegeTank'], 'target_type_name': []}, - 407: {'action_name': 'Morph_SupplyDepot_Lower_quick', 'selected_type': [19], 'target_type': [], 'selected_type_name': ['SupplyDepot'], 'target_type_name': []}, - 408: {'action_name': 'Morph_SupplyDepot_Raise_quick', 'selected_type': [47], 'target_type': [], 'selected_type_name': ['SupplyDepotLowered'], 'target_type_name': []}, - 409: {'action_name': 'Morph_ThorExplosiveMode_quick', 'selected_type': [691], 'target_type': [], 'selected_type_name': ['ThorHighImpactMode'], 'target_type_name': []}, - 410: {'action_name': 'Morph_ThorHighImpactMode_quick', 'selected_type': [52], 'target_type': [], 'selected_type_name': ['Thor'], 'target_type_name': []}, - 411: {'action_name': 'Morph_Unsiege_quick', 'selected_type': [32], 'target_type': [], 'selected_type_name': ['SiegeTankSieged'], 'target_type_name': []}, - 412: {'action_name': 'Morph_Uproot_quick', 'selected_type': [98, 99, 139, 140], 'target_type': [], 'selected_type_name': ['SpineCrawler', 'SporeCrawler'], 'target_type_name': []}, - 413: {'action_name': 'Morph_VikingAssaultMode_quick', 'selected_type': [35], 'target_type': [], 'selected_type_name': ['VikingFighter'], 'target_type_name': []}, - 414: {'action_name': 'Morph_VikingFighterMode_quick', 'selected_type': [34], 'target_type': [], 'selected_type_name': ['VikingAssault'], 'target_type_name': []}, - 425: {'action_name': 'Research_AdaptiveTalons_quick', 'selected_type': [504], 'target_type': [], 'selected_type_name': ['LurkerDen'], 'target_type_name': []}, - 426: {'action_name': 'Research_AdvancedBallistics_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 427: {'action_name': 'Research_BansheeCloakingField_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 428: {'action_name': 'Research_BansheeHyperflightRotors_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 429: {'action_name': 'Research_BattlecruiserWeaponRefit_quick', 'selected_type': [30], 'target_type': [], 'selected_type_name': ['FusionCore'], 'target_type_name': []}, - 430: {'action_name': 'Research_Burrow_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 431: {'action_name': 'Research_CentrifugalHooks_quick', 'selected_type': [96], 'target_type': [], 'selected_type_name': ['BanelingNest'], 'target_type_name': []}, - 432: {'action_name': 'Research_ChitinousPlating_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, - 433: {'action_name': 'Research_CombatShield_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 434: {'action_name': 'Research_ConcussiveShells_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 436: {'action_name': 'Research_DrillingClaws_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 437: {'action_name': 'Research_GlialRegeneration_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, - 438: {'action_name': 'Research_GroovedSpines_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 439: {'action_name': 'Research_HiSecAutoTracking_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 440: {'action_name': 'Research_HighCapacityFuelTanks_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 441: {'action_name': 'Research_InfernalPreigniter_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 442: {'action_name': 'Research_MuscularAugments_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 444: {'action_name': 'Research_NeuralParasite_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, - 445: {'action_name': 'Research_PathogenGlands_quick', 'selected_type': [94], 'target_type': [], 'selected_type_name': ['InfestationPit'], 'target_type_name': []}, - 446: {'action_name': 'Research_PersonalCloaking_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 447: {'action_name': 'Research_PneumatizedCarapace_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 448: {'action_name': 'Research_RavenCorvidReactor_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 450: {'action_name': 'Research_SmartServos_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 451: {'action_name': 'Research_Stimpack_quick', 'selected_type': [37], 'target_type': [], 'selected_type_name': ['BarracksTechLab'], 'target_type_name': []}, - 452: {'action_name': 'Research_TerranInfantryArmor_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 456: {'action_name': 'Research_TerranInfantryWeapons_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 460: {'action_name': 'Research_TerranShipWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 464: {'action_name': 'Research_TerranStructureArmorUpgrade_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 465: {'action_name': 'Research_TerranVehicleAndShipPlating_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 469: {'action_name': 'Research_TerranVehicleWeapons_quick', 'selected_type': [29], 'target_type': [], 'selected_type_name': ['Armory'], 'target_type_name': []}, - 473: {'action_name': 'Research_TunnelingClaws_quick', 'selected_type': [97], 'target_type': [], 'selected_type_name': ['RoachWarren'], 'target_type_name': []}, - 474: {'action_name': 'Research_ZergFlyerArmor_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, - 478: {'action_name': 'Research_ZergFlyerAttack_quick', 'selected_type': [92, 102], 'target_type': [], 'selected_type_name': ['Spire', 'GreaterSpire'], 'target_type_name': []}, - 482: {'action_name': 'Research_ZergGroundArmor_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 486: {'action_name': 'Research_ZergMeleeWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 490: {'action_name': 'Research_ZergMissileWeapons_quick', 'selected_type': [90], 'target_type': [], 'selected_type_name': ['EvolutionChamber'], 'target_type_name': []}, - 494: {'action_name': 'Research_ZerglingAdrenalGlands_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, - 495: {'action_name': 'Research_ZerglingMetabolicBoost_quick', 'selected_type': [89], 'target_type': [], 'selected_type_name': ['SpawningPool'], 'target_type_name': []}, - 498: {'action_name': 'Train_Baneling_quick', 'selected_type': [105], 'target_type': [], 'selected_type_name': ['Zergling'], 'target_type_name': []}, - 499: {'action_name': 'Train_Banshee_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 500: {'action_name': 'Train_Battlecruiser_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 501: {'action_name': 'Train_Corruptor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 502: {'action_name': 'Train_Cyclone_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 503: {'action_name': 'Train_Drone_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 504: {'action_name': 'Train_Ghost_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 505: {'action_name': 'Train_Hellbat_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 506: {'action_name': 'Train_Hellion_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 507: {'action_name': 'Train_Hydralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 508: {'action_name': 'Train_Infestor_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 509: {'action_name': 'Train_Liberator_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 510: {'action_name': 'Train_Marauder_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 511: {'action_name': 'Train_Marine_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 512: {'action_name': 'Train_Medivac_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 514: {'action_name': 'Train_Mutalisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 515: {'action_name': 'Train_Overlord_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 516: {'action_name': 'Train_Queen_quick', 'selected_type': [100, 101, 86], 'target_type': [], 'selected_type_name': ['Lair', 'Hive', 'Hatchery'], 'target_type_name': []}, - 517: {'action_name': 'Train_Raven_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 518: {'action_name': 'Train_Reaper_quick', 'selected_type': [21], 'target_type': [], 'selected_type_name': ['Barracks'], 'target_type_name': []}, - 519: {'action_name': 'Train_Roach_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 520: {'action_name': 'Train_SCV_quick', 'selected_type': [18, 132, 130], 'target_type': [], 'selected_type_name': ['CommandCenter', 'OrbitalCommand', 'PlanetaryFortress'], 'target_type_name': []}, - 521: {'action_name': 'Train_SiegeTank_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 522: {'action_name': 'Train_SwarmHost_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 523: {'action_name': 'Train_Thor_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 524: {'action_name': 'Train_Ultralisk_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 525: {'action_name': 'Train_VikingFighter_quick', 'selected_type': [28], 'target_type': [], 'selected_type_name': ['Starport'], 'target_type_name': []}, - 526: {'action_name': 'Train_Viper_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 527: {'action_name': 'Train_WidowMine_quick', 'selected_type': [27], 'target_type': [], 'selected_type_name': ['Factory'], 'target_type_name': []}, - 528: {'action_name': 'Train_Zergling_quick', 'selected_type': [151], 'target_type': [], 'selected_type_name': ['Larva'], 'target_type_name': []}, - 537: {'action_name': 'Effect_YamatoGun_unit', 'selected_type': [57], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Battlecruiser'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 538: {'action_name': 'Effect_KD8Charge_unit', 'selected_type': [49], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Reaper'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 553: {'action_name': 'Research_AnabolicSynthesis_quick', 'selected_type': [93], 'target_type': [], 'selected_type_name': ['UltraliskCavern'], 'target_type_name': []}, - 554: {'action_name': 'Research_CycloneLockOnDamage_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 556: {'action_name': 'UnloadUnit_quick', 'selected_type': [81, 136, 24, 18, 54, 142, 95, 893, 36, 130], 'target_type': [], 'selected_type_name': ['WarpPrism', 'WarpPrismPhasing', 'Bunker', 'CommandCenter', 'Medivac', 'NydusCanal', 'NydusNetwork', 'OverlordTransport', 'CommandCenterFlying', 'PlanetaryFortress'], 'target_type_name': []}, - 24: {'action_name': 'Hallucination_HighTemplar_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 93: {'action_name': 'Hallucination_Adept_quick', 'selected_type': [77], 'target_type': [], 'selected_type_name': ['Sentry'], 'target_type_name': []}, - 200: {'action_name': 'Build_Interceptors_autocast', 'selected_type': [79], 'target_type': [], 'selected_type_name': ['Carrier'], 'target_type_name': []}, - 247: {'action_name': 'BurrowUp_autocast', 'selected_type': [115, 117, 119], 'target_type': [], 'selected_type_name': ['BanelingBurrowed', 'HydraliskBurrowed', 'ZerglingBurrowed'], 'target_type_name': []}, - 302: {'action_name': 'Effect_Charge_autocast', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, - 312: {'action_name': 'Effect_Heal_autocast', 'selected_type': [54], 'target_type': [], 'selected_type_name': ['Medivac'], 'target_type_name': []}, - 324: {'action_name': 'Effect_Repair_autocast', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, - 331: {'action_name': 'Effect_Restore_autocast', 'selected_type': [1910], 'target_type': [], 'selected_type_name': ['ShieldBattery'], 'target_type_name': []}, - 541: {'action_name': 'Effect_LockOn_autocast', 'selected_type': [692], 'target_type': [], 'selected_type_name': ['Cyclone'], 'target_type_name': []}, - 544: {'action_name': 'Morph_WarpGate_autocast', 'selected_type': [62], 'target_type': [], 'selected_type_name': ['Gateway'], 'target_type_name': []}, - 112: {'action_name': 'Effect_Blink_unit', 'selected_type': [74, 76], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Stalker', 'DarkTemplar'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 300: {'action_name': 'Effect_Charge_pt', 'selected_type': [73], 'target_type': [], 'selected_type_name': ['Zealot'], 'target_type_name': []}, - 33: {'action_name': 'Effect_ChronoBoost_unit', 'selected_type': [59], 'target_type': [64, 65, 67, 68, 69, 70, 71, 72, 133, 59, 62, 63], 'selected_type_name': ['Nexus'], 'target_type_name': ['FleetBeacon', 'TwilightCouncil', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'WarpGate', 'Nexus', 'Gateway', 'Forge']}, - 306: {'action_name': 'Effect_EMP_unit', 'selected_type': [144, 145, 50], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['GhostAlternate', 'GhostNova', 'Ghost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 309: {'action_name': 'Effect_FungalGrowth_unit', 'selected_type': [111], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['Infestor'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 313: {'action_name': 'Effect_ImmortalBarrier_autocast', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, - 91: {'action_name': 'Effect_ImmortalBarrier_quick', 'selected_type': [83], 'target_type': [], 'selected_type_name': ['Immortal'], 'target_type_name': []}, - 108: {'action_name': 'Effect_Repair_pt', 'selected_type': [268, 45], 'target_type': [], 'selected_type_name': ['MULE', 'SCV'], 'target_type_name': []}, - 336: {'action_name': 'Effect_SpawnLocusts_unit', 'selected_type': [493, 494], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['SwarmHostBurrowed', 'SwarmHost'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 353: {'action_name': 'Effect_WidowMineAttack_autocast', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, - 351: {'action_name': 'Effect_WidowMineAttack_pt', 'selected_type': [498, 500], 'target_type': [], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': []}, - 352: {'action_name': 'Effect_WidowMineAttack_unit', 'selected_type': [498, 500], 'target_type': [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, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 149, 150, 151, 268, 289, 311, 321, 322, 324, 330, 335, 336, 341, 342, 343, 344, 350, 364, 365, 371, 372, 373, 376, 377, 472, 473, 474, 475, 483, 484, 485, 486, 487, 488, 489, 490, 493, 494, 495, 496, 498, 499, 500, 501, 502, 503, 504, 517, 518, 559, 560, 561, 562, 563, 564, 588, 589, 590, 591, 608, 609, 610, 612, 628, 629, 630, 638, 639, 640, 641, 642, 643, 648, 649, 651, 661, 662, 663, 664, 665, 666, 687, 688, 689, 690, 691, 692, 693, 694, 732, 733, 734, 796, 797, 801, 824, 830, 877, 880, 881, 884, 885, 886, 887, 892, 893, 894, 1904, 1908, 1910, 1911, 1912, 1913, 1955, 1956, 1957, 1958, 1960, 1961], 'selected_type_name': ['WidowMine', 'WidowMineBurrowed'], 'target_type_name': ['Colossus', 'TechLab', 'Reactor', 'InfestedTerran', 'BanelingCocoon', 'Baneling', 'Mothership', 'PointDefenseDrone', 'Changeling', 'ChangelingZealot', 'ChangelingMarineShield', 'ChangelingMarine', 'ChangelingZerglingWings', 'ChangelingZergling', 'CommandCenter', 'SupplyDepot', 'Refinery', 'Barracks', 'EngineeringBay', 'MissileTurret', 'Bunker', 'SensorTower', 'GhostAcademy', 'Factory', 'Starport', 'Armory', 'FusionCore', 'AutoTurret', 'SiegeTankSieged', 'SiegeTank', 'VikingAssault', 'VikingFighter', 'CommandCenterFlying', 'BarracksTechLab', 'BarracksReactor', 'FactoryTechLab', 'FactoryReactor', 'StarportTechLab', 'StarportReactor', 'FactoryFlying', 'StarportFlying', 'SCV', 'BarracksFlying', 'SupplyDepotLowered', 'Marine', 'Reaper', 'Ghost', 'Marauder', 'Thor', 'Hellion', 'Medivac', 'Banshee', 'Raven', 'Battlecruiser', 'Nuke', 'Nexus', 'Pylon', 'Assimilator', 'Gateway', 'Forge', 'FleetBeacon', 'TwilightCouncil', 'PhotonCannon', 'Stargate', 'TemplarArchive', 'DarkShrine', 'RoboticsBay', 'RoboticsFacility', 'CyberneticsCore', 'Zealot', 'Stalker', 'HighTemplar', 'DarkTemplar', 'Sentry', 'Phoenix', 'Carrier', 'VoidRay', 'WarpPrism', 'Observer', 'Immortal', 'Probe', 'Interceptor', 'Hatchery', 'CreepTumor', 'Extractor', 'SpawningPool', 'EvolutionChamber', 'HydraliskDen', 'Spire', 'UltraliskCavern', 'InfestationPit', 'NydusNetwork', 'BanelingNest', 'RoachWarren', 'SpineCrawler', 'SporeCrawler', 'Lair', 'Hive', 'GreaterSpire', 'Cocoon', 'Drone', 'Zergling', 'Overlord', 'Hydralisk', 'Mutalisk', 'Ultralisk', 'Roach', 'Infestor', 'Corruptor', 'BroodLordCocoon', 'BroodLord', 'BanelingBurrowed', 'DroneBurrowed', 'HydraliskBurrowed', 'RoachBurrowed', 'ZerglingBurrowed', 'InfestedTerranBurrowed', 'QueenBurrowed', 'Queen', 'InfestorBurrowed', 'OverseerCocoon', 'Overseer', 'PlanetaryFortress', 'UltraliskBurrowed', 'OrbitalCommand', 'WarpGate', 'OrbitalCommandFlying', 'ForceField', 'WarpPrismPhasing', 'CreepTumorBurrowed', 'CreepTumorQueen', 'SpineCrawlerUprooted', 'SporeCrawlerUprooted', 'Archon', 'NydusCanal', 'BroodlingEscort', 'GhostAlternate', 'GhostNova', 'RichMineralField', 'RichMineralField750', 'XelNagaTower', 'InfestedTerranCocoon', 'Larva', 'MULE', 'Broodling', 'Adept', 'Lyote', 'CarrionBird', 'KarakFemale', 'UtilityBot', 'Scantipede', 'Dog', 'MineralField', 'VespeneGeyser', 'SpacePlatformGeyser', 'RichVespeneGeyser', 'DestructibleBillboardTall', 'DestructibleDebris4x4', 'DestructibleDebris6x6', 'DestructibleRock6x6', 'DestructibleRampDiagonalHugeULBR', 'DestructibleRampDiagonalHugeBLUR', 'DestructibleDebrisRampDiagonalHugeULBR', 'DestructibleDebrisRampDiagonalHugeBLUR', 'UnbuildableRocksDestructible', 'UnbuildableBricksDestructible', 'UnbuildablePlatesDestructible', 'Debris2x2NonConjoined', 'MineralField750', 'Hellbat', 'CollapsibleTerranTowerDebris', 'DebrisRampLeft', 'DebrisRampRight', 'MothershipCore', 'Locust', 'CollapsibleRockTowerDebris', 'SwarmHostBurrowed', 'SwarmHost', 'Oracle', 'Tempest', 'WidowMine', 'Viper', 'WidowMineBurrowed', 'LurkerCocoon', 'Lurker', 'LurkerBurrowed', 'LurkerDen', 'CollapsibleRockTowerDebrisRampRight', 'CollapsibleRockTowerDebrisRampLeft', 'CollapsibleTerranTowerPushUnitRampLeft', 'CollapsibleTerranTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnit', 'CollapsibleTerranTowerPushUnit', 'CollapsibleRockTowerPushUnitRampRight', 'CollapsibleRockTowerPushUnitRampLeft', 'CollapsibleRockTowerDiagonal', 'CollapsibleTerranTowerDiagonal', 'CollapsibleTerranTowerRampLeft', 'CollapsibleTerranTowerRampRight', 'ProtossVespeneGeyser', 'CollapsibleRockTower', 'CollapsibleTerranTower', 'CleaningBot', 'DestructibleCityDebris4x4', 'DestructibleCityDebris6x6', 'DestructibleCityDebrisHugeDiagonalBLUR', 'DestructibleRockEx14x4', 'DestructibleRockEx16x6', 'DestructibleRockEx1DiagonalHugeULBR', 'DestructibleRockEx1DiagonalHugeBLUR', 'DestructibleRockEx1VerticalHuge', 'DestructibleRockEx1HorizontalHuge', 'DestructibleIce4x4', 'DestructibleIce6x6', 'DestructibleIceDiagonalHugeBLUR', 'LabBot', 'Crabeetle', 'CollapsibleRockTowerRampRight', 'CollapsibleRockTowerRampLeft', 'LabMineralField', 'LabMineralField750', 'RavagerCocoon', 'Ravager', 'Liberator', 'RavagerBurrowed', 'ThorHighImpactMode', 'Cyclone', 'LocustFlying', 'Disruptor', 'StasisTrap', 'DisruptorPhased', 'LiberatorAG', 'PurifierRichMineralField', 'PurifierRichMineralField750', 'AdeptPhaseShift', 'ParasiticBombDummy', 'KD8Charge', 'ReptileCrate', 'PurifierVespeneGeyser', 'ShakurasVespeneGeyser', 'PurifierMineralField', 'PurifierMineralField750', 'BattleStationMineralField', 'BattleStationMineralField750', 'OverlordTransportCocoon', 'OverlordTransport', 'PylonOvercharged', 'XelNagaDestructibleBlocker8NE', 'XelNagaDestructibleBlocker8SW', 'ShieldBattery', 'ObserverSurveillanceMode', 'OverseerOversightMode', 'RepairDrone', 'AssimilatorRich', 'ExtractorRich', 'InhibitorZoneSmall', 'InhibitorZoneMedium', 'RefineryRich', 'MineralField450']}, - 392: {'action_name': 'Morph_LurkerDen_quick', 'selected_type': [91], 'target_type': [], 'selected_type_name': ['HydraliskDen'], 'target_type_name': []}, - 393: {'action_name': 'Morph_Mothership_quick', 'selected_type': [488], 'target_type': [], 'selected_type_name': ['MothershipCore'], 'target_type_name': []}, - 435: {'action_name': 'Research_CycloneRapidFireLaunchers_quick', 'selected_type': [39], 'target_type': [], 'selected_type_name': ['FactoryTechLab'], 'target_type_name': []}, - 563: {'action_name': 'Research_EnhancedShockwaves_quick', 'selected_type': [26], 'target_type': [], 'selected_type_name': ['GhostAcademy'], 'target_type_name': []}, - 18: {'action_name': 'Research_InterceptorGravitonCatapult_quick', 'selected_type': [64], 'target_type': [], 'selected_type_name': ['FleetBeacon'], 'target_type_name': []}, - 443: {'action_name': 'Research_NeosteelFrame_quick', 'selected_type': [22], 'target_type': [], 'selected_type_name': ['EngineeringBay'], 'target_type_name': []}, - 449: {'action_name': 'Research_RavenRecalibratedExplosives_quick', 'selected_type': [41], 'target_type': [], 'selected_type_name': ['StarportTechLab'], 'target_type_name': []}, - 513: {'action_name': 'Train_MothershipCore_quick', 'selected_type': [59], 'target_type': [], 'selected_type_name': ['Nexus'], 'target_type_name': []}, -} - -def get_general(general_id): - return {k: v for k, v in ACTION_INFO_MASK.items() if v['ability_id'] == general_id} - - -def merge_judge(target_general_action, val): - ret = [] - for k, v in target_general_action.items(): - if v['target_unit'] != val['target_unit']: - continue - if v['target_location'] != val['target_location']: - continue - if v['func_type'] != val['func_type']: - continue - ret.append(k) - try: - assert(len(ret) == 1) - except AssertionError: - print(target_general_action) - print(val) - print(ret) - return ret[0] - - -GENERAL_ACTION_INFO_MASK = {} -ACT_TO_GENERAL_ACT = {} -ACT_TO_GENERAL_ACT_ARRAY = np.full(max(ACTION_INFO_MASK.keys()) + 1, -1, dtype=np.int) -for k, v in ACTION_INFO_MASK.items(): - general_id = v['general_id'] - if general_id is None or general_id == 0: - GENERAL_ACTION_INFO_MASK[k] = v - ACT_TO_GENERAL_ACT[k] = k - ACT_TO_GENERAL_ACT_ARRAY[k] = k - else: - target_general_action = get_general(general_id) - action_id = merge_judge(target_general_action, v) - ACT_TO_GENERAL_ACT[k] = action_id - ACT_TO_GENERAL_ACT_ARRAY[k] = action_id - - -ACTION_RACE_MASK = { -'zerg': torch.tensor([False, False, True, True, True, True, False, False, True, True, - True, True, False, False, False, False, True, False, False, False, - True, False, False, False, True, True, False, False, False, False, - False, False, True, True, True, False, False, True, False, False, - False, True, True, False, False, False, False, False, True, False, - False, False, False, True, True, True, True, False, False, False, - False, False, False, False, False, True, True, True, True, True, - True, True, False, False, False, True, False, False, False, False, - True, False, False, False, False, False, True, True, False, False, - True, False, False, True, True, False, False, False, False, False, - False, False, True, True, False, False, False, False, False, True, - False, False, True, False, False, True, False, False, False, False, - False, False, False, False, False, True, True, True, True, False, - False, False, False, True, True, False, False, False, False, False, - False, False, False, False, False, False, False, False, False, False, - False, False, False, False, True, True, True, False, False, False, - True, False, True, False, True, False, False, True, True, False, - False, True, True, False, False, False, True, True, True, True, - False, True, True, False, False, False, False, False, False, False, - True, False, False, False, False, False, False, True, True, True, - True, True, True, True, True, True, False, False, True, False, - False, False, False, True, True, False, True, False, False, False, - False, False, False, False, True, False, False, True, False, False, - False, False, True, False, True, True, False, False, True, False, - False, False, False, False, False, False, False, False, False, False, - False, False, False, False, False, False, True, False, True, True, - True, True, True, True, True, True, True, True, False, True, - False, False, False, False, True, False, False, False, True, False, - False, False, False, True, False, True, False, False, False, False, - False, False, True, False, False, True, False, False, True, False, - False, True, False, False, False, False, True, False, False, True, - False, True, False, False, False, False, False, False, False, False, - False, False, True, True, True, True, True]), -'terran': torch.tensor([False, False, True, True, False, False, True, True, False, False, - True, True, False, False, True, False, False, True, True, True, - False, False, False, True, False, False, True, False, False, True, - False, True, False, False, False, False, False, False, True, False, - True, False, False, False, False, True, True, True, False, False, - False, True, False, False, False, False, False, False, True, False, - True, True, True, False, False, False, True, True, True, True, - True, False, False, True, True, False, False, False, True, True, - False, False, False, False, False, False, False, False, True, True, - False, False, False, False, False, True, False, False, True, True, - False, False, False, False, True, True, True, True, True, False, - False, True, False, True, False, False, False, False, True, True, - True, False, False, True, True, False, False, False, True, True, - True, True, False, False, False, False, True, True, True, True, - False, False, False, False, False, False, False, False, False, False, - False, False, False, True, True, True, True, True, True, True, - True, False, False, False, False, True, True, False, False, True, - True, False, False, False, False, True, False, False, False, False, - True, False, False, True, True, True, False, True, True, True, - False, True, True, False, False, False, False, True, True, True, - True, True, True, True, True, False, False, True, False, True, - True, True, False, False, False, False, False, True, True, True, - True, True, True, False, False, False, False, False, True, True, - True, False, False, True, False, False, True, False, False, False, - False, False, False, False, False, True, True, False, True, True, - True, True, True, True, True, True, False, False, False, False, - False, False, False, False, False, True, True, True, False, False, - True, True, False, False, False, True, False, False, False, True, - True, True, False, False, False, False, True, True, True, True, - False, False, False, False, False, False, False, False, False, True, - True, False, True, False, True, False, False, False, True, False, - True, False, False, False, False, False, False, False, False, False, - True, False, False, True, True, True, True]), -'protoss': torch.tensor([False, False, True, True, False, False, False, False, False, False, - False, False, True, True, False, True, False, False, False, False, - False, True, True, False, False, False, False, True, True, False, - True, False, False, False, False, True, True, False, False, True, - False, False, False, True, True, False, False, False, False, True, - True, False, True, False, False, False, False, True, False, True, - False, False, False, True, True, False, False, False, False, True, - True, False, True, False, False, False, True, True, False, False, - False, True, True, True, True, True, False, False, False, False, - False, True, True, False, False, False, True, True, False, False, - True, True, False, False, False, False, False, False, False, False, - True, False, False, False, True, False, True, True, False, False, - False, True, True, False, False, False, False, False, True, False, - False, False, True, False, False, True, False, False, False, False, - True, True, True, True, True, True, True, True, True, True, - True, True, True, False, True, True, True, False, False, False, - True, True, False, True, False, False, False, False, False, False, - False, False, False, True, True, False, False, False, False, False, - False, False, False, False, False, False, True, False, False, False, - False, False, False, True, True, True, True, True, True, True, - True, True, True, True, True, False, True, False, False, False, - False, False, True, False, False, True, False, False, False, False, - False, False, False, True, False, True, True, False, False, False, - False, True, False, False, False, False, False, True, False, True, - True, True, True, True, True, False, False, True, False, False, - False, False, False, False, False, False, False, True, False, False, - False, False, False, False, False, True, True, True, True, False, - False, False, True, True, False, False, True, True, False, False, - False, False, True, False, True, False, False, False, False, False, - True, True, False, True, True, False, True, True, False, False, - False, False, False, True, False, True, False, True, False, False, - False, False, True, True, True, True, True, True, True, True, - False, True, False, True, True, False, True])} - - -class StaticData(object): - """Expose static data in a more useful form than the raw protos.""" - - def __init__(self, data): - """Takes data from RequestData.""" - self._units = {u.unit_id: u.name for u in data.units} - self._unit_stats = {u.unit_id: u for u in data.units} - self._upgrades = {a.upgrade_id: a for a in data.upgrades} - self._abilities = {a.ability_id: a for a in data.abilities} - self._general_abilities = {a.remaps_to_ability_id for a in data.abilities if a.remaps_to_ability_id} - - for a in six.itervalues(self._abilities): - a.hotkey = a.hotkey.lower() - - @property - def abilities(self): - return self._abilities - - @property - def upgrades(self): - return self._upgrades - - @property - def units(self): - return self._units - - @property - def unit_stats(self): - return self._unit_stats - - @property - def general_abilities(self): - return self._general_abilities - - -def get_reorder_lookup_array(input): - num = max(input) - # use -1 as marker for invalid entry - array = torch.full((num + 1, ), -1, dtype=torch.long) - for index, item in enumerate(input): - array[item] = index - return array - - -# List of used/available abilities found by parsing replays. -ABILITIES = [ - 0, # invalid - 1, - 4, - 6, - 7, - 16, - 17, - 18, - 19, - 23, - 26, - 28, - 30, - 32, - 36, - 38, - 42, - 44, - 46, - 74, - 76, - 78, - 80, - 110, - 140, - 142, - 144, - 146, - 148, - 150, - 152, - 154, - 156, - 158, - 160, - 162, - 164, - 166, - 167, - 169, - 171, - 173, - 174, - 181, - 195, - 199, - 203, - 207, - 211, - 212, - 216, - 217, - 247, - 249, - 250, - 251, - 253, - 255, - 261, - 263, - 265, - 295, - 296, - 298, - 299, - 304, - 305, - 306, - 307, - 308, - 309, - 312, - 313, - 314, - 315, - 316, - 318, - 319, - 320, - 321, - 322, - 323, - 324, - 326, - 327, - 328, - 329, - 331, - 333, - 348, - 380, - 382, - 383, - 386, - 388, - 390, - 392, - 393, - 394, - 396, - 397, - 399, - 401, - 403, - 405, - 407, - 408, - 410, - 413, - 415, - 416, - 417, - 419, - 421, - 422, - 451, - 452, - 454, - 455, - 484, - 485, - 487, - 488, - 517, - 518, - 520, - 522, - 524, - 554, - 556, - 558, - 560, - 561, - 562, - 563, - 591, - 594, - 595, - 596, - 597, - 614, - 620, - 621, - 622, - 623, - 624, - 626, - 650, - 651, - 652, - 653, - 654, - 655, - 656, - 657, - 658, - 710, - 730, - 731, - 732, - 761, - 764, - 766, - 768, - 769, - 790, - 793, - 799, - 803, - 804, - 805, - 820, - 822, - 855, - 856, - 857, - 861, - 862, - 863, - 864, - 865, - 866, - 880, - 881, - 882, - 883, - 884, - 885, - 886, - 887, - 889, - 890, - 891, - 892, - 893, - 894, - 895, - 911, - 913, - 914, - 916, - 917, - 919, - 920, - 921, - 922, - 946, - 948, - 950, - 954, - 955, - 976, - 977, - 978, - 979, - 994, - 1006, - 1036, - 1038, - 1039, - 1042, - 1062, - 1063, - 1064, - 1065, - 1066, - 1067, - 1068, - 1069, - 1070, - 1093, - 1094, - 1097, - 1126, - 1152, - 1154, - 1155, - 1156, - 1157, - 1158, - 1159, - 1160, - 1161, - 1162, - 1163, - 1165, - 1166, - 1167, - 1183, - 1184, - 1186, - 1187, - 1188, - 1189, - 1190, - 1191, - 1192, - 1193, - 1194, - 1216, - 1217, - 1218, - 1219, - 1220, - 1221, - 1223, - 1225, - 1252, - 1253, - 1282, - 1283, - 1312, - 1313, - 1314, - 1315, - 1316, - 1317, - 1342, - 1343, - 1344, - 1345, - 1346, - 1348, - 1351, - 1352, - 1353, - 1354, - 1356, - 1372, - 1373, - 1374, - 1376, - 1378, - 1380, - 1382, - 1384, - 1386, - 1388, - 1390, - 1392, - 1394, - 1396, - 1406, - 1408, - 1409, - 1413, - 1414, - 1416, - 1417, - 1418, - 1419, - 1433, - 1435, - 1437, - 1438, - 1440, - 1442, - 1444, - 1446, - 1448, - 1449, - 1450, - 1451, - 1454, - 1455, - 1482, - 1512, - 1514, - 1516, - 1517, - 1518, - 1520, - 1522, - 1524, - 1526, - 1528, - 1530, - 1532, - 1562, - 1563, - 1564, - 1565, - 1566, - 1567, - 1568, - 1592, - 1593, - 1594, - 1622, - 1623, - 1628, - 1632, - 1664, - 1682, - 1683, - 1684, - 1691, - 1692, - 1693, - 1694, - 1725, - 1727, - 1729, - 1730, - 1731, - 1732, - 1733, - 1763, - 1764, - 1766, - 1768, - 1819, - 1825, - 1831, - 1832, - 1833, - 1834, - 1847, - 1848, - 1853, - 1974, - 1978, - 1998, - 2014, - 2016, - 2048, - 2057, - 2063, - 2067, - 2073, - 2081, - 2082, - 2095, - 2097, - 2099, - 2108, - 2110, - 2112, - 2113, - 2114, - 2116, - 2146, - 2162, - 2244, - 2324, - 2328, - 2330, - 2331, - 2332, - 2333, - 2338, - 2340, - 2342, - 2346, - 2350, - 2354, - 2358, - 2362, - 2364, - 2365, - 2368, - 2370, - 2371, - 2373, - 2375, - 2376, - 2387, - 2389, - 2391, - 2393, - 2505, - 2535, - 2542, - 2544, - 2550, - 2552, - 2558, - 2560, - 2588, - 2594, - 2596, - 2700, - 2704, - 2708, - 2709, - 2714, - 2720, - 3707, - 3709, - 3739, - 3741, - 3743, - 3745, - 3747, - 3749, - 3751, - 3753, - 3755, - 3757, - 3765, - 3771, - 3776, - 3777, - 3778, - 3783, -] - -# 356, 503, 547, 360, 515, 193, 10, 197, 528, 495, 516, 184, 491, 190, 483, # TODO -# 498, 192, 215, 189, 437, 519, 514, 219, 198, 507, 204, 400, 349, 492, 431, -# 543, 201, 387, 442, 479, 551, 489, 425, 218, 447, 238, 220, 501, 391, 445, -# 438, 526, 350, 256, 494, 493, - -NUM_ABILITIES = len(ABILITIES) - -ABILITIES_REORDER = {item: idx for idx, item in enumerate(ABILITIES)} - -ABILITIES_REORDER_ARRAY = get_reorder_lookup_array(ABILITIES) - -# List of known unit types. It is generated by parsing replays and from: -# https://github.com/Blizzard/s2client-api/blob/master/include/sc2api/sc2_typeenums.h -UNIT_TYPES = [ - 0, - 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, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 77, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 85, - 86, - 87, - 88, - 89, - 90, - 91, - 92, - 93, - 94, - 95, - 96, - 97, - 98, - 99, - 100, - 101, - 102, - 103, - 104, - 105, - 106, - 107, - 108, - 109, - 110, - 111, - 112, - 113, - 114, - 115, - 116, - 117, - 118, - 119, - 120, - 125, - 126, - 127, - 128, - 129, - 130, - 131, - 132, - 133, - 134, - 135, - 136, - 137, - 138, - 139, - 140, - 141, - 142, - 143, - 144, - 145, - 146, - 147, - 149, - 150, - 151, - 268, - 289, - 311, - 321, - 322, - 324, - 330, - 335, - 336, - 341, - 342, - 343, - 344, - 350, - 364, - 365, - 371, - 372, - 373, - 376, - 377, - 472, - 473, - 474, - 475, - 483, - 484, - 485, - 486, - 487, - 488, - 489, - 490, - 493, - 494, - 495, - 496, - 498, - 499, - 500, - 501, - 502, - 503, - 504, - 517, - 518, - 559, - 560, - 561, - 562, - 563, - 564, - 588, - 589, - 590, - 591, - 608, - 609, - 610, - 612, - 628, - 629, - 630, - 638, - 639, - 640, - 641, - 642, - 643, - 648, - 649, - 651, - 661, - 662, - 663, - 664, - 665, - 666, - 687, - 688, - 689, - 690, - 691, - 692, - 693, - 694, - 732, - 733, - 734, - 796, - 797, - 801, - 824, - 830, - 877, - 880, - 881, - 884, - 885, - 886, - 887, - 892, - 893, - 894, - 1904, - 1908, - 1910, - 1911, - 1912, - 1913, - 1955, - 1956, - 1957, - 1958, - 1960, - 1961, -] - -UNIT_TYPES_REORDER = {item: idx for idx, item in enumerate(UNIT_TYPES)} - -NUM_UNIT_TYPES = len(UNIT_TYPES) - -UNIT_TYPES_REORDER_ARRAY = get_reorder_lookup_array(UNIT_TYPES) - -# List of used buffs found by parsing replays. -BUFFS = [ - 0, # TODO - 5, - 6, - 7, - 8, - 11, - 12, - 13, - 16, - 17, - 18, - 22, - 24, - 25, - 27, - 28, - 29, - 30, - 33, - 36, - 38, - 49, - 59, - 83, - 89, - 99, - 102, - 116, - 121, - 122, - 129, - 132, - 133, - 134, - 136, - 137, - 145, - 271, - 272, - 273, - 274, - 275, - 277, - 279, - 280, - 281, - 288, - 289, - 20, - 97, -] - -NUM_BUFFS = len(BUFFS) - -BUFFS_REORDER = {item: idx for idx, item in enumerate(BUFFS)} - -BUFFS_REORDER_ARRAY = get_reorder_lookup_array(BUFFS) - -# List of used upgrades found by parsing replays. -UPGRADES = [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 15, - 16, - 17, - 19, - 20, - 22, - 25, - 30, - 31, - 32, - 36, - 37, - 38, - 39, - 40, - 41, - 42, - 43, - 44, - 45, - 46, - 47, - 48, - 49, - 50, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 64, - 65, - 66, - 68, - 69, - 70, - 71, - 72, - 73, - 74, - 75, - 76, - 78, - 79, - 80, - 81, - 82, - 83, - 84, - 86, - 87, - 88, - 99, - 101, - 116, - 117, - 118, - 122, - 130, - 134, - 135, - 136, - 139, - 140, - 141, - 144, - 289, - 291, - 293, - 296, -] - -NUM_UPGRADES = len(UPGRADES) - -UPGRADES_REORDER = {item: idx for idx, item in enumerate(UPGRADES)} - -UPGRADES_REORDER_ARRAY = get_reorder_lookup_array(UPGRADES) - -UPGRADES_REORDER_INV = {v: k for k, v in UPGRADES_REORDER.items()} - -UPGRADES_REORDER_INV_ARRAY = UPGRADES - -ADDON = [0, 5, 6, 37, 38, 39, 40, 41, 42] - -NUM_ADDON = len(ADDON) - -ADDON_REORDER = {item: idx for idx, item in enumerate(ADDON)} - -ADDON_REORDER_ARRAY = get_reorder_lookup_array(ADDON) - -ACTIONS = list(GENERAL_ACTION_INFO_MASK.keys()) - -NUM_ACTIONS = len(ACTIONS) - -NUM_ACTIONS_RAW = len(list(ACTION_INFO_MASK.keys())) - -# this is for the translation from distar.ctools.pysc2 ability id to distar.ctools.pysc2 raw ability id -# _FUNCTIONS: -# https://github.com/deepmind/ctools.pysc2/blob/5ca04dbf6dd0b852966418379e2d95d9ad3393f8/ctools.pysc2/lib/actions.py#L583 -# _RAW_FUNCTIONS: -# https://github.com/deepmind/ctools.pysc2/blob/5ca04dbf6dd0b852966418379e2d95d9ad3393f8/ctools.pysc2/lib/actions.py#L1186 -# ACTIONS_REORDER[ctools.pysc2_ability_id] = distar.ctools.pysc2_raw_ability_id -ACTIONS_REORDER = {item: idx for idx, item in enumerate(ACTIONS)} - -ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(ACTIONS) - -ACTIONS_REORDER_INV = {v: k for k, v in ACTIONS_REORDER.items()} - -ACTIONS_REORDER_INV_ARRAY = ACTIONS - -# Begin actions: actions (raw ability ids) included in the beginning_build_order -target_list = ['unit', 'build', 'research'] -BEGIN_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in target_list] -OLD_BEGIN_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in target_list + ['effect']] - -removed_actions = [35, 64, 520, 222, 515, 503] -for i in removed_actions: - BEGIN_ACTIONS.remove(i) -NUM_BEGIN_ACTIONS = len(BEGIN_ACTIONS) - -OLD_BEGIN_ACTIONS_REORDER = {item: idx for idx, item in enumerate(OLD_BEGIN_ACTIONS)} - -OLD_BEGIN_ACTIONS_REORDER_INV = {v: k for k, v in OLD_BEGIN_ACTIONS_REORDER.items()} - -BUILD_ORDER_REWARD_ACTIONS = BEGIN_ACTIONS - -BEGIN_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(BEGIN_ACTIONS) - -UNIT_BUILD_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['unit', 'build']] - -NUM_UNIT_BUILD_ACTIONS = len(UNIT_BUILD_ACTIONS) - -UNIT_BUILD_ACTIONS_REORDER = {item: idx for idx, item in enumerate(UNIT_BUILD_ACTIONS)} - -UNIT_BUILD_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(UNIT_BUILD_ACTIONS) - -EFFECT_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['effect']] - -NUM_EFFECT_ACTIONS = len(EFFECT_ACTIONS) - -EFFECT_ACTIONS_REORDER = {item: idx for idx, item in enumerate(EFFECT_ACTIONS)} - -EFFECT_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(EFFECT_ACTIONS) - -RESEARCH_ACTIONS = [k for k, v in GENERAL_ACTION_INFO_MASK.items() if v['goal'] in ['research']] - -NUM_RESEARCH_ACTIONS = len(RESEARCH_ACTIONS) - -RESEARCH_ACTIONS_REORDER = {item: idx for idx, item in enumerate(RESEARCH_ACTIONS)} - -RESEARCH_ACTIONS_REORDER_ARRAY = get_reorder_lookup_array(RESEARCH_ACTIONS) - -ORDER_ACTIONS = [ - 425, 85, 426, 553, 427, 428, 429, 84, 430, 431, 83, 432, 433, 434, 554, 435, 436, 563, 69, 437, 67, 68, 438, 440, - 439, 441, 18, 442, 443, 444, 445, 446, 19, 447, 116, 117, 118, 119, 120, 70, 448, 449, 97, 450, 451, 452, 456, 460, - 464, 465, 469, 473, 82, 474, 478, 482, 494, 495, 486, 490, 54, 499, 500, 56, 62, 501, 502, 52, 166, 504, 505, 506, - 51, 63, 509, 510, 511, 512, 513, 21, 61, 58, 55, 64, 516, 517, 518, 520, 53, 521, 50, 59, 523, 525, 57, 76, 74, 73, - 60, 75, 72, 71, 527, 49 -] - -NUM_ORDER_ACTIONS = len(ORDER_ACTIONS) + 1 -ORDER_ACTIONS_REORDER_ARRAY = torch.zeros(max(GENERAL_ACTION_INFO_MASK.keys()) + 1, dtype=torch.long) -for idx, v in enumerate(ORDER_ACTIONS): - ORDER_ACTIONS_REORDER_ARRAY[v] = idx + 1 - - -def ger_reorder_tag(val, template): - low = 0 - high = len(template) - while low < high: - mid = (low + high) // 2 - mid_val = template[mid] - if val == mid_val: - return mid - elif val > mid_val: - low = mid + 1 - else: - high = mid - raise ValueError("unknow found val: {}".format(val)) - - -SELECTED_UNITS_MASK = torch.zeros(NUM_ACTIONS, NUM_UNIT_TYPES) -TARGET_UNITS_MASK = torch.zeros(NUM_ACTIONS, NUM_UNIT_TYPES) -for i in range(NUM_ACTIONS): - a = ACTIONS_REORDER_INV[i] - type_set = set(ACTIONS_STAT[a]['selected_type']) - reorder_type_list = [UNIT_TYPES_REORDER[i] for i in type_set] - SELECTED_UNITS_MASK[i, reorder_type_list] = 1 - type_set = set(ACTIONS_STAT[a]['target_type']) - reorder_type_list = [UNIT_TYPES_REORDER[i] for i in type_set] - TARGET_UNITS_MASK[i, reorder_type_list] = 1 - -UNIT_SPECIFIC_ABILITIES = [ - 4, 6, 7, 9, 2063, 16, 17, 18, 19, 2067, 23, 2073, 26, 28, 30, 2081, 36, 38, 40, 42, 46, 2095, 2097, 2099, 2108, - 2110, 2116, 74, 76, 78, 80, 2146, 110, 140, 142, 146, 148, 152, 154, 166, 167, 173, 181, 2244, 216, 217, 247, 249, - 251, 253, 263, 265, 2324, 2330, 2332, 2338, 2340, 2342, 295, 296, 2346, 298, 299, 2350, 2358, 2362, 316, 2364, 318, - 319, 320, 321, 322, 323, 324, 2370, 326, 2375, 2376, 327, 328, 329, 331, 333, 2383, 2385, 2387, 2393, 380, 382, 383, - 386, 388, 390, 392, 393, 394, 396, 397, 401, 403, 405, 407, 412, 413, 416, 417, 419, 421, 422, 452, 454, 455, 2505, - 485, 487, 488, 2536, 2542, 2544, 2554, 2556, 2558, 2560, 518, 520, 522, 524, 2588, 2594, 2596, 554, 556, 558, 560, - 561, 562, 563, 591, 594, 595, 596, 597, 614, 620, 621, 622, 623, 624, 626, 650, 651, 652, 653, 654, 2700, 656, 657, - 2706, 658, 2708, 2704, 2714, 2720, 710, 730, 731, 732, 761, 764, 766, 769, 790, 793, 799, 804, 805, 820, 855, 856, - 857, 861, 862, 863, 864, 865, 866, 880, 881, 882, 883, 884, 885, 886, 887, 889, 890, 891, 892, 893, 894, 895, 911, - 913, 914, 916, 917, 919, 920, 921, 922, 946, 948, 950, 954, 955, 976, 977, 978, 979, 994, 1006, 1036, 1042, 1062, - 1063, 1064, 1065, 1066, 1067, 1068, 1069, 1070, 1093, 1094, 1097, 1126, 1152, 1154, 1155, 1156, 1157, 1158, 1159, - 1160, 1161, 1162, 1163, 1165, 1166, 1167, 1183, 1184, 1186, 1187, 1188, 1189, 1190, 1191, 1192, 1193, 1194, 1216, - 1218, 1220, 1223, 1225, 1252, 1253, 1282, 1283, 1312, 1313, 1314, 1315, 1316, 1317, 1342, 1343, 1344, 1345, 1346, - 1348, 1351, 1352, 1353, 1354, 1356, 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392, 1394, 1396, - 1406, 1408, 1409, 1433, 1435, 1437, 1438, 1440, 1442, 1444, 1446, 1448, 1450, 1454, 1455, 1482, 1512, 1514, 1516, - 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532, 1562, 1563, 1564, 1565, 1566, 1567, 1568, 1592, 1593, 1594, 1622, - 1628, 1632, 3707, 3709, 1662, 1664, 3739, 1692, 1693, 1694, 3741, 3743, 3745, 3747, 3753, 3765, 3771, 1725, 1727, - 3776, 1729, 3778, 1731, 3777, 1733, 3783, 1764, 1767, 1768, 1819, 1825, 1978, 1998, 2014, 2016 -] - -# correspond to UNIT_SPECIFIC_ABILITIES -UNIT_GENERAL_ABILITIES = [ - 3665, 3665, 3665, 3665, 0, 3794, 3795, 3793, 3674, 0, 3674, 0, 3684, 3684, 3684, 0, 3688, 3689, 0, 0, 0, 3661, 3662, - 0, 3661, 3662, 0, 0, 0, 3685, 0, 0, 0, 0, 3686, 0, 0, 0, 0, 3666, 3667, 0, 0, 0, 0, 0, 0, 0, 0, 3675, 0, 0, 0, 0, 0, - 0, 3661, 3662, 3666, 3667, 0, 3666, 3667, 0, 0, 0, 3685, 0, 0, 0, 0, 0, 0, 0, 0, 3668, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3675, 3676, 3677, 0, 0, 0, 3676, 3677, 3668, 3669, 3796, 0, 0, 0, 3668, 3668, 3664, 3663, 3679, 3678, 3682, - 3683, 3679, 3682, 3683, 0, 3679, 3682, 3683, 0, 0, 0, 0, 0, 0, 0, 3679, 3678, 3678, 0, 0, 3659, 3659, 3678, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3698, 3698, 3698, 3687, 3697, 3697, 0, 3697, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3701, 3701, 3701, 3699, 3699, 3699, 3700, 3700, 3700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3668, 3669, 3796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3695, 3695, 3695, 3694, - 3694, 3694, 3696, 3696, 3696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3666, 3667, 3705, 3705, 3705, - 3704, 3704, 3704, 3706, 3706, 3706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3703, 3703, 3703, 3702, 3702, 3702, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3661, 3662, 3668, 3669, 3796, 3661, - 3662, 3668, 3664, 3796, 3687, 3661, 3662, 0, 0, 0, 0, 0, 3661, 3662, 0, 0, 0, 3679, 3678, 0, 0, 0, 0, 3693, 3693, - 3693, 3692, 3692, 3692, 0, 0, 0, 0, 0, 0, 0, 3659, 0, 3661, 0, 0, 0, 0, 3691, 0, 0, 0, 0, 0, 0, 3674, 3681, 3681, - 3794, 3680, 3793, 3680, 3795, 3691, 3665, 0, 0, 0, 0, 0, 0, 0, 3661, 3662 -] - -# UNIT_MIX_ABILITIES = [] -# for idx in range(len(UNIT_SPECIFIC_ABILITIES)): -# if UNIT_GENERAL_ABILITIES[idx] == 0: -# UNIT_MIX_ABILITIES.append(UNIT_SPECIFIC_ABILITIES[idx]) -# else: -# UNIT_MIX_ABILITIES.append(UNIT_GENERAL_ABILITIES[idx]) -# UNIT_MIX_ABILITIES = [0] + list(set(UNIT_MIX_ABILITIES)) # use 0 as no op - -UNIT_MIX_ABILITIES = [ - 0, 2560, 524, 1036, 2063, 1042, 2067, 1530, 2073, 1344, 2588, 1532, 1568, 2081, 1126, 40, 42, 556, 46, 558, 560, - 561, 562, 2099, 563, 1345, 1592, 1593, 1594, 2116, 1093, 1094, 1097, 74, 3659, 76, 3661, 3662, 3663, 3664, 80, 3665, - 3666, 3667, 3669, 3668, 591, 594, 595, 3674, 3675, 3676, 3677, 3678, 3679, 1628, 1632, 2146, 3682, 3684, 3685, 3686, - 3683, 3688, 3689, 614, 3687, 620, 621, 110, 622, 623, 624, 626, 3698, 3697, 3701, 3699, 3700, 3695, 3696, 3705, - 3704, 3706, 3703, 3702, 1348, 1152, 3709, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 650, 651, 140, 1162, 1163, - 1165, 2704, 1166, 146, 2706, 148, 2708, 1167, 3693, 152, 3692, 154, 2714, 3694, 1354, 3739, 1692, 2720, 1693, 3741, - 3743, 3745, 3747, 3753, 173, 181, 1664, 3765, 3691, 1216, 1218, 2244, 1220, 710, 1223, 1225, 3793, 3794, 3795, 3796, - 216, 217, 730, 731, 732, 1252, 1253, 1764, 1767, 1768, 247, 249, 761, 251, 764, 766, 769, 1282, 1283, 263, 265, - 2324, 790, 793, 2330, 1819, 2332, 799, 1825, 2338, 804, 805, 2346, 2350, 820, 2358, 2362, 2364, 318, 319, 320, 321, - 322, 323, 324, 1342, 326, 2375, 2376, 327, 328, 331, 329, 333, 1351, 2383, 1352, 2385, 1353, 2387, 1356, 2393, 1372, - 880, 881, 882, 883, 884, 885, 886, 887, 1346, 889, 890, 891, 892, 893, 894, 895, 386, 388, 390, 401, 403, 916, 405, - 917, 919, 920, 921, 922, 1448, 3680, 1450, 1454, 1455, 946, 948, 950, 596, 954, 955, 597, 1978, 3681, 2505, 1482, - 1998, 976, 977, 978, 979, 1622, 994, 2536, 1516, 2542, 1006, 2544, 1518, 1520, 1526, 1528, 2554, 1343, 2556, 2558 -] -ACTIONS = [ - {'func_id': 0, 'general_ability_id': None, 'goal': 'other', 'name': 'no_op', 'queued': False, 'selected_units': False, 'target_location': False, 'target_unit': False} , - {'func_id': 168, 'general_ability_id': None, 'goal': 'other', 'name': 'raw_move_camera', 'queued': False, 'selected_units': False, 'target_location': True, 'target_unit': False} , - {'func_id': 2, 'general_ability_id': 3674, 'goal': 'other', 'name': 'Attack_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 3, 'general_ability_id': 3674, 'goal': 'other', 'name': 'Attack_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 88, 'general_ability_id': 2082, 'goal': 'other', 'name': 'Behavior_BuildingAttackOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 87, 'general_ability_id': 2081, 'goal': 'other', 'name': 'Behavior_BuildingAttackOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 169, 'general_ability_id': 3677, 'goal': 'other', 'name': 'Behavior_CloakOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 172, 'general_ability_id': 3676, 'goal': 'other', 'name': 'Behavior_CloakOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 175, 'general_ability_id': 1693, 'goal': 'other', 'name': 'Behavior_GenerateCreepOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 176, 'general_ability_id': 1692, 'goal': 'other', 'name': 'Behavior_GenerateCreepOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 177, 'general_ability_id': 3689, 'goal': 'other', 'name': 'Behavior_HoldFireOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 180, 'general_ability_id': 3688, 'goal': 'other', 'name': 'Behavior_HoldFireOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 158, 'general_ability_id': 2376, 'goal': 'other', 'name': 'Behavior_PulsarBeamOff_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 159, 'general_ability_id': 2375, 'goal': 'other', 'name': 'Behavior_PulsarBeamOn_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 183, 'general_ability_id': 331, 'goal': 'build', 'name': 'Build_Armory_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 29} , - {'func_id': 36, 'general_ability_id': 882, 'goal': 'build', 'name': 'Build_Assimilator_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 61} , - {'func_id': 184, 'general_ability_id': 1162, 'goal': 'build', 'name': 'Build_BanelingNest_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 96} , - {'func_id': 185, 'general_ability_id': 321, 'goal': 'build', 'name': 'Build_Barracks_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 21} , - {'func_id': 186, 'general_ability_id': 324, 'goal': 'build', 'name': 'Build_Bunker_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 24} , - {'func_id': 187, 'general_ability_id': 318, 'goal': 'build', 'name': 'Build_CommandCenter_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 18} , - {'func_id': 188, 'general_ability_id': 3691, 'goal': 'build', 'name': 'Build_CreepTumor_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 87} , - {'func_id': 47, 'general_ability_id': 894, 'goal': 'build', 'name': 'Build_CyberneticsCore_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 72} , - {'func_id': 44, 'general_ability_id': 891, 'goal': 'build', 'name': 'Build_DarkShrine_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 69} , - {'func_id': 191, 'general_ability_id': 322, 'goal': 'build', 'name': 'Build_EngineeringBay_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 22} , - {'func_id': 192, 'general_ability_id': 1156, 'goal': 'build', 'name': 'Build_EvolutionChamber_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 90} , - {'func_id': 193, 'general_ability_id': 1154, 'goal': 'build', 'name': 'Build_Extractor_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 88} , - {'func_id': 194, 'general_ability_id': 328, 'goal': 'build', 'name': 'Build_Factory_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 27} , - {'func_id': 39, 'general_ability_id': 885, 'goal': 'build', 'name': 'Build_FleetBeacon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 64} , - {'func_id': 38, 'general_ability_id': 884, 'goal': 'build', 'name': 'Build_Forge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 63} , - {'func_id': 195, 'general_ability_id': 333, 'goal': 'build', 'name': 'Build_FusionCore_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 30} , - {'func_id': 37, 'general_ability_id': 883, 'goal': 'build', 'name': 'Build_Gateway_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 62} , - {'func_id': 196, 'general_ability_id': 327, 'goal': 'build', 'name': 'Build_GhostAcademy_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 26} , - {'func_id': 197, 'general_ability_id': 1152, 'goal': 'build', 'name': 'Build_Hatchery_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 86} , - {'func_id': 198, 'general_ability_id': 1157, 'goal': 'build', 'name': 'Build_HydraliskDen_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 91} , - {'func_id': 199, 'general_ability_id': 1160, 'goal': 'build', 'name': 'Build_InfestationPit_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 94} , - {'func_id': 200, 'general_ability_id': 1042, 'goal': 'build', 'name': 'Build_Interceptors_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 85} , - {'func_id': 66, 'general_ability_id': 1042, 'goal': 'build', 'name': 'Build_Interceptors_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 85} , - {'func_id': 201, 'general_ability_id': 1163, 'goal': 'build', 'name': 'Build_LurkerDen_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 504} , - {'func_id': 202, 'general_ability_id': 323, 'goal': 'build', 'name': 'Build_MissileTurret_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 23} , - {'func_id': 34, 'general_ability_id': 880, 'goal': 'build', 'name': 'Build_Nexus_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 59} , - {'func_id': 203, 'general_ability_id': 710, 'goal': 'build', 'name': 'Build_Nuke_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 58} , - {'func_id': 204, 'general_ability_id': 1161, 'goal': 'build', 'name': 'Build_NydusNetwork_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 95} , - {'func_id': 205, 'general_ability_id': 1768, 'goal': 'build', 'name': 'Build_NydusWorm_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 142} , - {'func_id': 41, 'general_ability_id': 887, 'goal': 'build', 'name': 'Build_PhotonCannon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 66} , - {'func_id': 35, 'general_ability_id': 881, 'goal': 'build', 'name': 'Build_Pylon_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 60} , - {'func_id': 207, 'general_ability_id': 3683, 'goal': 'build', 'name': 'Build_Reactor_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 6} , - {'func_id': 206, 'general_ability_id': 3683, 'goal': 'build', 'name': 'Build_Reactor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 6} , - {'func_id': 214, 'general_ability_id': 320, 'goal': 'build', 'name': 'Build_Refinery_pt', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True, 'game_id': 20} , - {'func_id': 215, 'general_ability_id': 1165, 'goal': 'build', 'name': 'Build_RoachWarren_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 97} , - {'func_id': 45, 'general_ability_id': 892, 'goal': 'build', 'name': 'Build_RoboticsBay_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 70} , - {'func_id': 46, 'general_ability_id': 893, 'goal': 'build', 'name': 'Build_RoboticsFacility_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 71} , - {'func_id': 216, 'general_ability_id': 326, 'goal': 'build', 'name': 'Build_SensorTower_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 25} , - {'func_id': 48, 'general_ability_id': 895, 'goal': 'build', 'name': 'Build_ShieldBattery_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 1910} , - {'func_id': 217, 'general_ability_id': 1155, 'goal': 'build', 'name': 'Build_SpawningPool_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 89} , - {'func_id': 218, 'general_ability_id': 1166, 'goal': 'build', 'name': 'Build_SpineCrawler_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 98} , - {'func_id': 219, 'general_ability_id': 1158, 'goal': 'build', 'name': 'Build_Spire_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 92} , - {'func_id': 220, 'general_ability_id': 1167, 'goal': 'build', 'name': 'Build_SporeCrawler_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 99} , - {'func_id': 42, 'general_ability_id': 889, 'goal': 'build', 'name': 'Build_Stargate_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 67} , - {'func_id': 221, 'general_ability_id': 329, 'goal': 'build', 'name': 'Build_Starport_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 28} , - {'func_id': 95, 'general_ability_id': 2505, 'goal': 'build', 'name': 'Build_StasisTrap_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 732} , - {'func_id': 222, 'general_ability_id': 319, 'goal': 'build', 'name': 'Build_SupplyDepot_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 19} , - {'func_id': 224, 'general_ability_id': 3682, 'goal': 'build', 'name': 'Build_TechLab_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 5} , - {'func_id': 223, 'general_ability_id': 3682, 'goal': 'build', 'name': 'Build_TechLab_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 5} , - {'func_id': 43, 'general_ability_id': 890, 'goal': 'build', 'name': 'Build_TemplarArchive_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 68} , - {'func_id': 40, 'general_ability_id': 886, 'goal': 'build', 'name': 'Build_TwilightCouncil_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 65} , - {'func_id': 231, 'general_ability_id': 1159, 'goal': 'build', 'name': 'Build_UltraliskCavern_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 93} , - {'func_id': 232, 'general_ability_id': 3661, 'goal': 'effect', 'name': 'BurrowDown_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 247, 'general_ability_id': 3662, 'goal': 'other', 'name': 'BurrowUp_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 246, 'general_ability_id': 3662, 'goal': 'other', 'name': 'BurrowUp_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 98, 'general_ability_id': 3659, 'goal': 'other', 'name': 'Cancel_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 129, 'general_ability_id': 3671, 'goal': 'other', 'name': 'Cancel_Last_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 293, 'general_ability_id': 2067, 'goal': 'effect', 'name': 'Effect_Abduct_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 96, 'general_ability_id': 2544, 'goal': 'effect', 'name': 'Effect_AdeptPhaseShift_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 294, 'general_ability_id': 3753, 'goal': 'effect', 'name': 'Effect_AntiArmorMissile_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 295, 'general_ability_id': 1764, 'goal': 'effect', 'name': 'Effect_AutoTurret_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 296, 'general_ability_id': 2063, 'goal': 'effect', 'name': 'Effect_BlindingCloud_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 111, 'general_ability_id': 3687, 'goal': 'effect', 'name': 'Effect_Blink_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 112, 'general_ability_id': 3687, 'goal': 'effect', 'name': 'Effect_Blink_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 297, 'general_ability_id': 171, 'goal': 'effect', 'name': 'Effect_CalldownMULE_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 298, 'general_ability_id': 171, 'goal': 'effect', 'name': 'Effect_CalldownMULE_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 299, 'general_ability_id': 2324, 'goal': 'effect', 'name': 'Effect_CausticSpray_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 302, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 300, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 301, 'general_ability_id': 1819, 'goal': 'effect', 'name': 'Effect_Charge_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 122, 'general_ability_id': 3755, 'goal': 'effect', 'name': 'Effect_ChronoBoostEnergyCost_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 33, 'general_ability_id': 261, 'goal': 'effect', 'name': 'Effect_ChronoBoost_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 303, 'general_ability_id': 1825, 'goal': 'effect', 'name': 'Effect_Contaminate_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 304, 'general_ability_id': 2338, 'goal': 'effect', 'name': 'Effect_CorrosiveBile_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 305, 'general_ability_id': 1628, 'goal': 'effect', 'name': 'Effect_EMP_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 306, 'general_ability_id': 1628, 'goal': 'effect', 'name': 'Effect_EMP_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 307, 'general_ability_id': 42, 'goal': 'effect', 'name': 'Effect_Explode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 157, 'general_ability_id': 140, 'goal': 'effect', 'name': 'Effect_Feedback_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 79, 'general_ability_id': 1526, 'goal': 'effect', 'name': 'Effect_ForceField_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 308, 'general_ability_id': 74, 'goal': 'effect', 'name': 'Effect_FungalGrowth_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 309, 'general_ability_id': 74, 'goal': 'effect', 'name': 'Effect_FungalGrowth_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 310, 'general_ability_id': 2714, 'goal': 'effect', 'name': 'Effect_GhostSnipe_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 32, 'general_ability_id': 173, 'goal': 'effect', 'name': 'Effect_GravitonBeam_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 20, 'general_ability_id': 76, 'goal': 'effect', 'name': 'Effect_GuardianShield_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 312, 'general_ability_id': 386, 'goal': 'effect', 'name': 'Effect_Heal_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 311, 'general_ability_id': 386, 'goal': 'effect', 'name': 'Effect_Heal_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 313, 'general_ability_id': 2328, 'goal': 'effect', 'name': 'Effect_ImmortalBarrier_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 91, 'general_ability_id': 2328, 'goal': 'effect', 'name': 'Effect_ImmortalBarrier_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 314, 'general_ability_id': 247, 'goal': 'effect', 'name': 'Effect_InfestedTerrans_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 315, 'general_ability_id': 251, 'goal': 'effect', 'name': 'Effect_InjectLarva_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 316, 'general_ability_id': 3747, 'goal': 'effect', 'name': 'Effect_InterferenceMatrix_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 317, 'general_ability_id': 2588, 'goal': 'effect', 'name': 'Effect_KD8Charge_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 538, 'general_ability_id': 2588, 'goal': 'effect', 'name': 'Effect_KD8Charge_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 318, 'general_ability_id': 2350, 'goal': 'effect', 'name': 'Effect_LockOn_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 541, 'general_ability_id': 2350, 'goal': 'effect', 'name': 'Effect_LockOn_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 319, 'general_ability_id': 2387, 'goal': 'effect', 'name': 'Effect_LocustSwoop_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 110, 'general_ability_id': 3686, 'goal': 'effect', 'name': 'Effect_MassRecall_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 320, 'general_ability_id': 2116, 'goal': 'effect', 'name': 'Effect_MedivacIgniteAfterburners_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 321, 'general_ability_id': 249, 'goal': 'effect', 'name': 'Effect_NeuralParasite_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 322, 'general_ability_id': 1622, 'goal': 'effect', 'name': 'Effect_NukeCalldown_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 90, 'general_ability_id': 2146, 'goal': 'effect', 'name': 'Effect_OracleRevelation_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 323, 'general_ability_id': 2542, 'goal': 'effect', 'name': 'Effect_ParasiticBomb_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 65, 'general_ability_id': 1036, 'goal': 'effect', 'name': 'Effect_PsiStorm_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 167, 'general_ability_id': 2346, 'goal': 'effect', 'name': 'Effect_PurificationNova_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 324, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 108, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 109, 'general_ability_id': 3685, 'goal': 'effect', 'name': 'Effect_Repair_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 331, 'general_ability_id': 3765, 'goal': 'effect', 'name': 'Effect_Restore_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 161, 'general_ability_id': 3765, 'goal': 'effect', 'name': 'Effect_Restore_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 332, 'general_ability_id': 32, 'goal': 'effect', 'name': 'Effect_Salvage_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 333, 'general_ability_id': 399, 'goal': 'effect', 'name': 'Effect_Scan_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 334, 'general_ability_id': 181, 'goal': 'effect', 'name': 'Effect_SpawnChangeling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 335, 'general_ability_id': 2704, 'goal': 'effect', 'name': 'Effect_SpawnLocusts_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 336, 'general_ability_id': 2704, 'goal': 'effect', 'name': 'Effect_SpawnLocusts_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 337, 'general_ability_id': 3684, 'goal': 'effect', 'name': 'Effect_Spray_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 341, 'general_ability_id': 3675, 'goal': 'effect', 'name': 'Effect_Stim_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 346, 'general_ability_id': 255, 'goal': 'effect', 'name': 'Effect_SupplyDrop_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 347, 'general_ability_id': 2358, 'goal': 'effect', 'name': 'Effect_TacticalJump_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 348, 'general_ability_id': 2244, 'goal': 'effect', 'name': 'Effect_TimeWarp_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 349, 'general_ability_id': 1664, 'goal': 'effect', 'name': 'Effect_Transfusion_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 350, 'general_ability_id': 2073, 'goal': 'effect', 'name': 'Effect_ViperConsume_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 94, 'general_ability_id': 2393, 'goal': 'effect', 'name': 'Effect_VoidRayPrismaticAlignment_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 353, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 351, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 352, 'general_ability_id': 2099, 'goal': 'effect', 'name': 'Effect_WidowMineAttack_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 537, 'general_ability_id': 401, 'goal': 'effect', 'name': 'Effect_YamatoGun_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 93, 'general_ability_id': 2391, 'goal': 'effect', 'name': 'Hallucination_Adept_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 22, 'general_ability_id': 146, 'goal': 'effect', 'name': 'Hallucination_Archon_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 23, 'general_ability_id': 148, 'goal': 'effect', 'name': 'Hallucination_Colossus_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 92, 'general_ability_id': 2389, 'goal': 'effect', 'name': 'Hallucination_Disruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 24, 'general_ability_id': 150, 'goal': 'effect', 'name': 'Hallucination_HighTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 25, 'general_ability_id': 152, 'goal': 'effect', 'name': 'Hallucination_Immortal_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 89, 'general_ability_id': 2114, 'goal': 'effect', 'name': 'Hallucination_Oracle_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 26, 'general_ability_id': 154, 'goal': 'effect', 'name': 'Hallucination_Phoenix_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 27, 'general_ability_id': 156, 'goal': 'effect', 'name': 'Hallucination_Probe_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 28, 'general_ability_id': 158, 'goal': 'effect', 'name': 'Hallucination_Stalker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 29, 'general_ability_id': 160, 'goal': 'effect', 'name': 'Hallucination_VoidRay_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 30, 'general_ability_id': 162, 'goal': 'effect', 'name': 'Hallucination_WarpPrism_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 31, 'general_ability_id': 164, 'goal': 'effect', 'name': 'Hallucination_Zealot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 99, 'general_ability_id': 3660, 'goal': 'other', 'name': 'Halt_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 102, 'general_ability_id': 3666, 'goal': 'other', 'name': 'Harvest_Gather_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 103, 'general_ability_id': 3667, 'goal': 'other', 'name': 'Harvest_Return_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 17, 'general_ability_id': 3793, 'goal': 'other', 'name': 'HoldPosition_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 363, 'general_ability_id': 3678, 'goal': 'other', 'name': 'Land_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 369, 'general_ability_id': 3679, 'goal': 'other', 'name': 'Lift_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 375, 'general_ability_id': 3663, 'goal': 'other', 'name': 'LoadAll_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 104, 'general_ability_id': 3668, 'goal': 'other', 'name': 'Load_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 86, 'general_ability_id': 1766, 'goal': 'unit', 'name': 'Morph_Archon_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 141} , - {'func_id': 383, 'general_ability_id': 1372, 'goal': 'unit', 'name': 'Morph_BroodLord_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 114} , - {'func_id': 78, 'general_ability_id': 1520, 'goal': 'other', 'name': 'Morph_Gateway_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 384, 'general_ability_id': 1220, 'goal': 'build', 'name': 'Morph_GreaterSpire_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 102} , - {'func_id': 385, 'general_ability_id': 1998, 'goal': 'other', 'name': 'Morph_Hellbat_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 386, 'general_ability_id': 1978, 'goal': 'other', 'name': 'Morph_Hellion_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 387, 'general_ability_id': 1218, 'goal': 'build', 'name': 'Morph_Hive_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 101} , - {'func_id': 388, 'general_ability_id': 1216, 'goal': 'build', 'name': 'Morph_Lair_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 100} , - {'func_id': 389, 'general_ability_id': 2560, 'goal': 'other', 'name': 'Morph_LiberatorAAMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 390, 'general_ability_id': 2558, 'goal': 'other', 'name': 'Morph_LiberatorAGMode_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 392, 'general_ability_id': 2112, 'goal': 'build', 'name': 'Morph_LurkerDen_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 504} , - {'func_id': 391, 'general_ability_id': 2332, 'goal': 'unit', 'name': 'Morph_Lurker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 502} , - {'func_id': 393, 'general_ability_id': 1847, 'goal': 'unit', 'name': 'Morph_Mothership_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , - {'func_id': 121, 'general_ability_id': 3739, 'goal': 'other', 'name': 'Morph_ObserverMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 394, 'general_ability_id': 1516, 'goal': 'build', 'name': 'Morph_OrbitalCommand_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 132} , - {'func_id': 395, 'general_ability_id': 2708, 'goal': 'unit', 'name': 'Morph_OverlordTransport_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 893} , - {'func_id': 397, 'general_ability_id': 3745, 'goal': 'other', 'name': 'Morph_OverseerMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 396, 'general_ability_id': 1448, 'goal': 'unit', 'name': 'Morph_Overseer_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 129} , - {'func_id': 398, 'general_ability_id': 3743, 'goal': 'other', 'name': 'Morph_OversightMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 399, 'general_ability_id': 1450, 'goal': 'build', 'name': 'Morph_PlanetaryFortress_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 130} , - {'func_id': 400, 'general_ability_id': 2330, 'goal': 'unit', 'name': 'Morph_Ravager_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 688} , - {'func_id': 401, 'general_ability_id': 3680, 'goal': 'other', 'name': 'Morph_Root_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 402, 'general_ability_id': 388, 'goal': 'other', 'name': 'Morph_SiegeMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 407, 'general_ability_id': 556, 'goal': 'other', 'name': 'Morph_SupplyDepot_Lower_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 408, 'general_ability_id': 558, 'goal': 'other', 'name': 'Morph_SupplyDepot_Raise_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 160, 'general_ability_id': 3741, 'goal': 'other', 'name': 'Morph_SurveillanceMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 409, 'general_ability_id': 2364, 'goal': 'other', 'name': 'Morph_ThorExplosiveMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 410, 'general_ability_id': 2362, 'goal': 'other', 'name': 'Morph_ThorHighImpactMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 411, 'general_ability_id': 390, 'goal': 'other', 'name': 'Morph_Unsiege_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 412, 'general_ability_id': 3681, 'goal': 'other', 'name': 'Morph_Uproot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 413, 'general_ability_id': 403, 'goal': 'other', 'name': 'Morph_VikingAssaultMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 414, 'general_ability_id': 405, 'goal': 'other', 'name': 'Morph_VikingFighterMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 77, 'general_ability_id': 1518, 'goal': 'other', 'name': 'Morph_WarpGate_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 544, 'general_ability_id': 1518, 'goal': 'other', 'name': 'Morph_WarpGate_autocast', 'queued': False, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 80, 'general_ability_id': 1528, 'goal': 'other', 'name': 'Morph_WarpPrismPhasingMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 81, 'general_ability_id': 1530, 'goal': 'other', 'name': 'Morph_WarpPrismTransportMode_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 13, 'general_ability_id': 3794, 'goal': 'other', 'name': 'Move_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 14, 'general_ability_id': 3794, 'goal': 'other', 'name': 'Move_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 15, 'general_ability_id': 3795, 'goal': 'other', 'name': 'Patrol_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 16, 'general_ability_id': 3795, 'goal': 'other', 'name': 'Patrol_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 106, 'general_ability_id': 3673, 'goal': 'other', 'name': 'Rally_Units_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 107, 'general_ability_id': 3673, 'goal': 'other', 'name': 'Rally_Units_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 114, 'general_ability_id': 3690, 'goal': 'other', 'name': 'Rally_Workers_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 115, 'general_ability_id': 3690, 'goal': 'other', 'name': 'Rally_Workers_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 425, 'general_ability_id': 3709, 'goal': 'research', 'name': 'Research_AdaptiveTalons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 293} , - {'func_id': 85, 'general_ability_id': 1594, 'goal': 'research', 'name': 'Research_AdeptResonatingGlaives_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 130} , - {'func_id': 426, 'general_ability_id': 805, 'goal': 'research', 'name': 'Research_AdvancedBallistics_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 140} , - {'func_id': 553, 'general_ability_id': 263, 'goal': 'research', 'name': 'Research_AnabolicSynthesis_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 88} , - {'func_id': 427, 'general_ability_id': 790, 'goal': 'research', 'name': 'Research_BansheeCloakingField_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 20} , - {'func_id': 428, 'general_ability_id': 799, 'goal': 'research', 'name': 'Research_BansheeHyperflightRotors_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 136} , - {'func_id': 429, 'general_ability_id': 1532, 'goal': 'research', 'name': 'Research_BattlecruiserWeaponRefit_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 76} , - {'func_id': 84, 'general_ability_id': 1593, 'goal': 'research', 'name': 'Research_Blink_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 87} , - {'func_id': 430, 'general_ability_id': 1225, 'goal': 'research', 'name': 'Research_Burrow_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 64} , - {'func_id': 431, 'general_ability_id': 1482, 'goal': 'research', 'name': 'Research_CentrifugalHooks_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 75} , - {'func_id': 83, 'general_ability_id': 1592, 'goal': 'research', 'name': 'Research_Charge_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 86} , - {'func_id': 432, 'general_ability_id': 265, 'goal': 'research', 'name': 'Research_ChitinousPlating_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 4} , - {'func_id': 433, 'general_ability_id': 731, 'goal': 'research', 'name': 'Research_CombatShield_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 16} , - {'func_id': 434, 'general_ability_id': 732, 'goal': 'research', 'name': 'Research_ConcussiveShells_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 17} , - {'func_id': 554, 'general_ability_id': 769, 'goal': 'research', 'name': 'Research_CycloneLockOnDamage_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 144} , - {'func_id': 435, 'general_ability_id': 768, 'goal': 'research', 'name': 'Research_CycloneRapidFireLaunchers_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 291} , - {'func_id': 436, 'general_ability_id': 764, 'goal': 'research', 'name': 'Research_DrillingClaws_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 122} , - {'func_id': 563, 'general_ability_id': 822, 'goal': 'research', 'name': 'Research_EnhancedShockwaves_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 296} , - {'func_id': 69, 'general_ability_id': 1097, 'goal': 'research', 'name': 'Research_ExtendedThermalLance_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 50} , - {'func_id': 437, 'general_ability_id': 216, 'goal': 'research', 'name': 'Research_GlialRegeneration_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 2} , - {'func_id': 67, 'general_ability_id': 1093, 'goal': 'research', 'name': 'Research_GraviticBooster_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 48} , - {'func_id': 68, 'general_ability_id': 1094, 'goal': 'research', 'name': 'Research_GraviticDrive_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 49} , - {'func_id': 438, 'general_ability_id': 1282, 'goal': 'research', 'name': 'Research_GroovedSpines_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 134} , - {'func_id': 440, 'general_ability_id': 804, 'goal': 'research', 'name': 'Research_HighCapacityFuelTanks_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 139} , - {'func_id': 439, 'general_ability_id': 650, 'goal': 'research', 'name': 'Research_HiSecAutoTracking_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 5} , - {'func_id': 441, 'general_ability_id': 761, 'goal': 'research', 'name': 'Research_InfernalPreigniter_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 19} , - {'func_id': 18, 'general_ability_id': 44, 'goal': 'research', 'name': 'Research_InterceptorGravitonCatapult_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 1} , - {'func_id': 442, 'general_ability_id': 1283, 'goal': 'research', 'name': 'Research_MuscularAugments_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 135} , - {'func_id': 443, 'general_ability_id': 655, 'goal': 'research', 'name': 'Research_NeosteelFrame_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , - {'func_id': 444, 'general_ability_id': 1455, 'goal': 'research', 'name': 'Research_NeuralParasite_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 101} , - {'func_id': 445, 'general_ability_id': 1454, 'goal': 'research', 'name': 'Research_PathogenGlands_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 74} , - {'func_id': 446, 'general_ability_id': 820, 'goal': 'research', 'name': 'Research_PersonalCloaking_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 25} , - {'func_id': 19, 'general_ability_id': 46, 'goal': 'research', 'name': 'Research_PhoenixAnionPulseCrystals_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 99} , - {'func_id': 447, 'general_ability_id': 1223, 'goal': 'research', 'name': 'Research_PneumatizedCarapace_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 62} , - {'func_id': 116, 'general_ability_id': 3692, 'goal': 'research', 'name': 'Research_ProtossAirArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 81} , - {'func_id': 117, 'general_ability_id': 3693, 'goal': 'research', 'name': 'Research_ProtossAirWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 78} , - {'func_id': 118, 'general_ability_id': 3694, 'goal': 'research', 'name': 'Research_ProtossGroundArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 42} , - {'func_id': 119, 'general_ability_id': 3695, 'goal': 'research', 'name': 'Research_ProtossGroundWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 39} , - {'func_id': 120, 'general_ability_id': 3696, 'goal': 'research', 'name': 'Research_ProtossShields_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 45} , - {'func_id': 70, 'general_ability_id': 1126, 'goal': 'research', 'name': 'Research_PsiStorm_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 52} , - {'func_id': 448, 'general_ability_id': 793, 'goal': 'research', 'name': 'Research_RavenCorvidReactor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 22} , - {'func_id': 449, 'general_ability_id': 803, 'goal': 'research', 'name': 'Research_RavenRecalibratedExplosives_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 97, 'general_ability_id': 2720, 'goal': 'research', 'name': 'Research_ShadowStrike_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 141} , - {'func_id': 450, 'general_ability_id': 766, 'goal': 'research', 'name': 'Research_SmartServos_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 289} , - {'func_id': 451, 'general_ability_id': 730, 'goal': 'research', 'name': 'Research_Stimpack_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 15} , - {'func_id': 452, 'general_ability_id': 3697, 'goal': 'research', 'name': 'Research_TerranInfantryArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 11} , - {'func_id': 456, 'general_ability_id': 3698, 'goal': 'research', 'name': 'Research_TerranInfantryWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 7} , - {'func_id': 460, 'general_ability_id': 3699, 'goal': 'research', 'name': 'Research_TerranShipWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 36} , - {'func_id': 464, 'general_ability_id': 651, 'goal': 'research', 'name': 'Research_TerranStructureArmorUpgrade_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 6} , - {'func_id': 465, 'general_ability_id': 3700, 'goal': 'research', 'name': 'Research_TerranVehicleAndShipPlating_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 116} , - {'func_id': 469, 'general_ability_id': 3701, 'goal': 'research', 'name': 'Research_TerranVehicleWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 30} , - {'func_id': 473, 'general_ability_id': 217, 'goal': 'research', 'name': 'Research_TunnelingClaws_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 3} , - {'func_id': 82, 'general_ability_id': 1568, 'goal': 'research', 'name': 'Research_WarpGate_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 84} , - {'func_id': 474, 'general_ability_id': 3702, 'goal': 'research', 'name': 'Research_ZergFlyerArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 71} , - {'func_id': 478, 'general_ability_id': 3703, 'goal': 'research', 'name': 'Research_ZergFlyerAttack_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 68} , - {'func_id': 482, 'general_ability_id': 3704, 'goal': 'research', 'name': 'Research_ZergGroundArmor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 56} , - {'func_id': 494, 'general_ability_id': 1252, 'goal': 'research', 'name': 'Research_ZerglingAdrenalGlands_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 65} , - {'func_id': 495, 'general_ability_id': 1253, 'goal': 'research', 'name': 'Research_ZerglingMetabolicBoost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 66} , - {'func_id': 486, 'general_ability_id': 3705, 'goal': 'research', 'name': 'Research_ZergMeleeWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 53} , - {'func_id': 490, 'general_ability_id': 3706, 'goal': 'research', 'name': 'Research_ZergMissileWeapons_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 59} , - {'func_id': 1, 'general_ability_id': 1, 'goal': 'other', 'name': 'Smart_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 12, 'general_ability_id': 1, 'goal': 'other', 'name': 'Smart_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 101, 'general_ability_id': 3665, 'goal': 'other', 'name': 'Stop_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 54, 'general_ability_id': 922, 'goal': 'unit', 'name': 'Train_Adept_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 311} , - {'func_id': 498, 'general_ability_id': 80, 'goal': 'unit', 'name': 'Train_Baneling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 9} , - {'func_id': 499, 'general_ability_id': 621, 'goal': 'unit', 'name': 'Train_Banshee_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 55} , - {'func_id': 500, 'general_ability_id': 623, 'goal': 'unit', 'name': 'Train_Battlecruiser_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 57} , - {'func_id': 56, 'general_ability_id': 948, 'goal': 'unit', 'name': 'Train_Carrier_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 79} , - {'func_id': 62, 'general_ability_id': 978, 'goal': 'unit', 'name': 'Train_Colossus_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 4} , - {'func_id': 501, 'general_ability_id': 1353, 'goal': 'unit', 'name': 'Train_Corruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 112} , - {'func_id': 502, 'general_ability_id': 597, 'goal': 'unit', 'name': 'Train_Cyclone_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 692} , - {'func_id': 52, 'general_ability_id': 920, 'goal': 'unit', 'name': 'Train_DarkTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 76} , - {'func_id': 166, 'general_ability_id': 994, 'goal': 'unit', 'name': 'Train_Disruptor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 694} , - {'func_id': 503, 'general_ability_id': 1342, 'goal': 'unit', 'name': 'Train_Drone_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 104} , - {'func_id': 504, 'general_ability_id': 562, 'goal': 'unit', 'name': 'Train_Ghost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 50} , - {'func_id': 505, 'general_ability_id': 596, 'goal': 'unit', 'name': 'Train_Hellbat_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 484} , - {'func_id': 506, 'general_ability_id': 595, 'goal': 'unit', 'name': 'Train_Hellion_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 53} , - {'func_id': 51, 'general_ability_id': 919, 'goal': 'unit', 'name': 'Train_HighTemplar_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 75} , - {'func_id': 507, 'general_ability_id': 1345, 'goal': 'unit', 'name': 'Train_Hydralisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 107} , - {'func_id': 63, 'general_ability_id': 979, 'goal': 'unit', 'name': 'Train_Immortal_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 83} , - {'func_id': 508, 'general_ability_id': 1352, 'goal': 'unit', 'name': 'Train_Infestor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 111} , - {'func_id': 509, 'general_ability_id': 626, 'goal': 'unit', 'name': 'Train_Liberator_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 689} , - {'func_id': 510, 'general_ability_id': 563, 'goal': 'unit', 'name': 'Train_Marauder_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 51} , - {'func_id': 511, 'general_ability_id': 560, 'goal': 'unit', 'name': 'Train_Marine_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 48} , - {'func_id': 512, 'general_ability_id': 620, 'goal': 'unit', 'name': 'Train_Medivac_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 54} , - {'func_id': 513, 'general_ability_id': 1853, 'goal': 'unit', 'name': 'Train_MothershipCore_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 488} , - {'func_id': 21, 'general_ability_id': 110, 'goal': 'unit', 'name': 'Train_Mothership_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 10} , - {'func_id': 514, 'general_ability_id': 1346, 'goal': 'unit', 'name': 'Train_Mutalisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 108} , - {'func_id': 61, 'general_ability_id': 977, 'goal': 'unit', 'name': 'Train_Observer_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 82} , - {'func_id': 58, 'general_ability_id': 954, 'goal': 'unit', 'name': 'Train_Oracle_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 495} , - {'func_id': 515, 'general_ability_id': 1344, 'goal': 'unit', 'name': 'Train_Overlord_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 106} , - {'func_id': 55, 'general_ability_id': 946, 'goal': 'unit', 'name': 'Train_Phoenix_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 78} , - {'func_id': 64, 'general_ability_id': 1006, 'goal': 'unit', 'name': 'Train_Probe_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 84} , - {'func_id': 516, 'general_ability_id': 1632, 'goal': 'unit', 'name': 'Train_Queen_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 126} , - {'func_id': 517, 'general_ability_id': 622, 'goal': 'unit', 'name': 'Train_Raven_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 56} , - {'func_id': 518, 'general_ability_id': 561, 'goal': 'unit', 'name': 'Train_Reaper_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 49} , - {'func_id': 519, 'general_ability_id': 1351, 'goal': 'unit', 'name': 'Train_Roach_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 110} , - {'func_id': 520, 'general_ability_id': 524, 'goal': 'unit', 'name': 'Train_SCV_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 45} , - {'func_id': 53, 'general_ability_id': 921, 'goal': 'unit', 'name': 'Train_Sentry_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 77} , - {'func_id': 521, 'general_ability_id': 591, 'goal': 'unit', 'name': 'Train_SiegeTank_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 33} , - {'func_id': 50, 'general_ability_id': 917, 'goal': 'unit', 'name': 'Train_Stalker_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 74} , - {'func_id': 522, 'general_ability_id': 1356, 'goal': 'unit', 'name': 'Train_SwarmHost_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 494} , - {'func_id': 59, 'general_ability_id': 955, 'goal': 'unit', 'name': 'Train_Tempest_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 496} , - {'func_id': 523, 'general_ability_id': 594, 'goal': 'unit', 'name': 'Train_Thor_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 52} , - {'func_id': 524, 'general_ability_id': 1348, 'goal': 'unit', 'name': 'Train_Ultralisk_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 109} , - {'func_id': 525, 'general_ability_id': 624, 'goal': 'unit', 'name': 'Train_VikingFighter_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 35} , - {'func_id': 526, 'general_ability_id': 1354, 'goal': 'unit', 'name': 'Train_Viper_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 499} , - {'func_id': 57, 'general_ability_id': 950, 'goal': 'unit', 'name': 'Train_VoidRay_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 80} , - {'func_id': 76, 'general_ability_id': 1419, 'goal': 'unit', 'name': 'TrainWarp_Adept_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 311} , - {'func_id': 74, 'general_ability_id': 1417, 'goal': 'unit', 'name': 'TrainWarp_DarkTemplar_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 76} , - {'func_id': 73, 'general_ability_id': 1416, 'goal': 'unit', 'name': 'TrainWarp_HighTemplar_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 75} , - {'func_id': 60, 'general_ability_id': 976, 'goal': 'unit', 'name': 'Train_WarpPrism_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 81} , - {'func_id': 75, 'general_ability_id': 1418, 'goal': 'unit', 'name': 'TrainWarp_Sentry_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 77} , - {'func_id': 72, 'general_ability_id': 1414, 'goal': 'unit', 'name': 'TrainWarp_Stalker_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 74} , - {'func_id': 71, 'general_ability_id': 1413, 'goal': 'unit', 'name': 'TrainWarp_Zealot_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False, 'game_id': 73} , - {'func_id': 527, 'general_ability_id': 614, 'goal': 'unit', 'name': 'Train_WidowMine_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 498} , - {'func_id': 49, 'general_ability_id': 916, 'goal': 'unit', 'name': 'Train_Zealot_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 73} , - {'func_id': 528, 'general_ability_id': 1343, 'goal': 'unit', 'name': 'Train_Zergling_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False, 'game_id': 105} , - {'func_id': 105, 'general_ability_id': 3669, 'goal': 'other', 'name': 'UnloadAllAt_pt', 'queued': True, 'selected_units': True, 'target_location': True, 'target_unit': False} , - {'func_id': 164, 'general_ability_id': 3669, 'goal': 'other', 'name': 'UnloadAllAt_unit', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': True} , - {'func_id': 100, 'general_ability_id': 3664, 'goal': 'other', 'name': 'UnloadAll_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , - {'func_id': 556, 'general_ability_id': 3796, 'goal': 'other', 'name': 'UnloadUnit_quick', 'queued': True, 'selected_units': True, 'target_location': False, 'target_unit': False} , -] - - -NUM_UNIT_MIX_ABILITIES = len(UNIT_MIX_ABILITIES) #269 - -UNIT_ABILITY_REORDER = torch.full((max(UNIT_MIX_ABILITIES) + 1, ), fill_value=-1, dtype=torch.long) -for idx in range(len(UNIT_SPECIFIC_ABILITIES)): - if UNIT_GENERAL_ABILITIES[idx] == 0: - UNIT_ABILITY_REORDER[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_MIX_ABILITIES.index(UNIT_SPECIFIC_ABILITIES[idx]) - else: - UNIT_ABILITY_REORDER[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_MIX_ABILITIES.index(UNIT_GENERAL_ABILITIES[idx]) -UNIT_ABILITY_REORDER[0] = 0 # use 0 as no op - -FUNC_ID_TO_ACTION_TYPE_DICT = {a['func_id']: idx for idx, a in enumerate(ACTIONS)} -ABILITY_TO_GABILITY = {} -for idx in range(len(UNIT_SPECIFIC_ABILITIES)): - if UNIT_GENERAL_ABILITIES[idx] == 0: - ABILITY_TO_GABILITY[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_SPECIFIC_ABILITIES[idx] - else: - ABILITY_TO_GABILITY[UNIT_SPECIFIC_ABILITIES[idx]] = UNIT_GENERAL_ABILITIES[idx] - -GABILITY_TO_QUEUE_ACTION = {} -QUEUE_ACTIONS = [] -count = 1 # use 0 as no op -for idx, f in enumerate(ACTIONS): - if 'Train_' in f['name'] or 'Research' in f['name']: - GABILITY_TO_QUEUE_ACTION[f['general_ability_id']] = count - QUEUE_ACTIONS.append(idx) - count += 1 - else: - GABILITY_TO_QUEUE_ACTION[f['general_ability_id']] = 0 - -ABILITY_TO_QUEUE_ACTION = torch.full((max(ABILITY_TO_GABILITY.keys()) + 1, ), fill_value=-1, dtype=torch.long) -ABILITY_TO_QUEUE_ACTION[0] = 0 # use 0 as no op -for a_id, g_id in ABILITY_TO_GABILITY.items(): - if g_id in GABILITY_TO_QUEUE_ACTION.keys(): - ABILITY_TO_QUEUE_ACTION[a_id] = GABILITY_TO_QUEUE_ACTION[g_id] - else: - ABILITY_TO_QUEUE_ACTION[a_id] = 0 - -EXCLUDE_ACTIONS = [ - 'Build_Pylon_pt', 'Train_Overlord_quick', 'Build_SupplyDepot_pt', # supply action - 'Train_Drone_quick', 'Train_SCV_quick', 'Train_Probe_quick', # worker action - 'Build_CreepTumor_pt', '' -] - -BO_EXCLUDE_ACTIONS = [ -] - -CUM_EXCLUDE_ACTIONS = [ - 'Build_SpineCrawler_pt', 'Build_SporeCrawler_pt', 'Build_PhotonCannon_pt', 'Build_ShieldBattery_pt', - 'Build_Bunker_pt', 'Morph_Overseer_quick', 'Build_MissileTurret_pt' -] - -BEGINNING_ORDER_ACTIONS = [0] -CUMULATIVE_STAT_ACTIONS = [0] -for idx, f in enumerate(ACTIONS): - if f['goal'] in ['unit', 'build', 'research'] and f['name'] not in EXCLUDE_ACTIONS and f['name'] not in CUM_EXCLUDE_ACTIONS: - CUMULATIVE_STAT_ACTIONS.append(idx) - if f['goal'] in ['unit', 'build', 'research'] and f['name'] not in EXCLUDE_ACTIONS: - BEGINNING_ORDER_ACTIONS.append(idx) - -NUM_ACTIONS = len(ACTIONS) -NUM_QUEUE_ACTIONS = len(QUEUE_ACTIONS) -NUM_BEGINNING_ORDER_ACTIONS = len(BEGINNING_ORDER_ACTIONS) -NUM_CUMULATIVE_STAT_ACTIONS = len(CUMULATIVE_STAT_ACTIONS) - -SELECTED_UNITS_MASK = torch.zeros(len(ACTIONS), dtype=torch.bool) -for idx, a in enumerate(ACTIONS): - if a['selected_units']: - SELECTED_UNITS_MASK[idx] = 1 - -UNIT_BUILD_ACTIONS = [a['func_id'] for a in ACTIONS if a['goal'] == 'build'] -UNIT_TRAIN_ACTIONS = [a['func_id'] for a in ACTIONS if a['goal'] == 'unit'] - -GENERAL_ABILITY_IDS = [] -for idx, a in enumerate(ACTIONS): - GENERAL_ABILITY_IDS.append(a['general_ability_id']) -UNIT_ABILITY_TO_ACTION = {} -for idx, a in enumerate(UNIT_MIX_ABILITIES): - if a in GENERAL_ABILITY_IDS: - UNIT_ABILITY_TO_ACTION[idx] = GENERAL_ABILITY_IDS.index(a) - -UNIT_TO_CUM = defaultdict(lambda: -1) -UPGRADE_TO_CUM = defaultdict(lambda: -1) -for idx, a in enumerate(ACTIONS): - if 'game_id' in a and a['goal'] in ['unit', 'build'] and idx in CUMULATIVE_STAT_ACTIONS: - UNIT_TO_CUM[a['game_id']] = CUMULATIVE_STAT_ACTIONS.index(idx) - elif 'game_id' in a and a['goal'] in ['research'] and idx in CUMULATIVE_STAT_ACTIONS: - UPGRADE_TO_CUM[a['game_id']] = CUMULATIVE_STAT_ACTIONS.index(idx) diff --git a/dizoo/distar/envs/tests/test_distar_config.yaml b/dizoo/distar/envs/tests/test_distar_config.yaml deleted file mode 100644 index 18247e5a54..0000000000 --- a/dizoo/distar/envs/tests/test_distar_config.yaml +++ /dev/null @@ -1,16 +0,0 @@ -actor: - job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] -env: - map_name: 'KingsCove' - player_ids: ['agent1', 'agent2'] - races: ['zerg', 'zerg'] - map_size_resolutions: [True, True] # if True, ignore minimap_resolutions - minimap_resolutions: [[160, 152], [160, 152]] - realtime: False - replay_dir: '.' - random_seed: 'none' - game_steps_per_episode: 100000 - update_bot_obs: False - save_replay_episodes: 1 - update_both_obs: False - version: '4.10.0' \ No newline at end of file diff --git a/dizoo/distar/envs/tests/test_distar_env_data.py b/dizoo/distar/envs/tests/test_distar_env_data.py deleted file mode 100644 index 05c09d4002..0000000000 --- a/dizoo/distar/envs/tests/test_distar_env_data.py +++ /dev/null @@ -1,64 +0,0 @@ -import os -import shutil - -from distar.ctools.utils import read_config -import torch - -from dizoo.distar.envs import DIStarEnv -import traceback - -from dizoo.distar.envs import DIStarEnv -import traceback - -class TestDIstarEnv: - def __init__(self): - - cfg = read_config('./test_distar_config.yaml') - self._whole_cfg = cfg - - def _inference_loop(self, job={}): - - torch.set_num_threads(1) - - self._env = DIStarEnv(self._whole_cfg) - - with torch.no_grad(): - for _ in range(5): - try: - observations = self._env.reset() - - for iter in range(1000): # one episode loop - # agent step - actions = {} - for player_index, player_obs in observations.items(): - actions[player_index] = DIStarEnv.random_action(player_obs) - # env step - timestep = self._env.step(actions) - if not timestep.done: - observations = timestep.obs - else: - break - - except Exception as e: - print('[EPISODE LOOP ERROR]', e, flush=True) - print(''.join(traceback.format_tb(e.__traceback__)), flush=True) - self._env.close() - self._env.close() - -if __name__ == '__main__': - - ## main - if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): - sc2path = r'C:\Program Files (x86)\StarCraft II' - elif os.path.exists('/Applications/StarCraft II'): - sc2path = '/Applications/StarCraft II' - else: - assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' - sc2path = os.environ['SC2PATH'] - assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) - if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) - - ## actor_run - actor = TestDIstarEnv() - actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/tests/test_distar_env_time_space.py b/dizoo/distar/envs/tests/test_distar_env_time_space.py deleted file mode 100644 index 9252c88597..0000000000 --- a/dizoo/distar/envs/tests/test_distar_env_time_space.py +++ /dev/null @@ -1,87 +0,0 @@ -import os -import shutil - -from distar.ctools.utils import read_config -import torch -import time -import sys - -from dizoo.distar.envs import DIStarEnv -import traceback - -class TestDIstarEnv: - def __init__(self): - - cfg = read_config('./test_distar_config.yaml') - self._whole_cfg = cfg - self._total_iters = 0 - self._total_time = 0 - self._total_space = 0 - - def _inference_loop(self, job={}): - - torch.set_num_threads(1) - - self._env = DIStarEnv(self._whole_cfg) - - with torch.no_grad(): - for _ in range(5): - try: - observations = self._env.reset() - - for iter in range(1000): # one episode loop - # agent step - actions = {} - for player_index, player_obs in observations.items(): - actions[player_index] = DIStarEnv.random_action(player_obs) - # env step - before_step_time = time.time() - timestep = self._env.step(actions) - after_step_time = time.time() - - self._total_time += after_step_time - before_step_time - self._total_iters += 1 - self._total_space += sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)) - print('observations: ', sys.getsizeof(observations), ' Byte') - print('actions: ', sys.getsizeof(actions), ' Byte') - print('reward: ', sys.getsizeof(timestep.reward), ' Byte') - print('done: ', sys.getsizeof(timestep.done), ' Byte') - print('total: ', sys.getsizeof((actions,observations,timestep.obs,timestep.reward,timestep.done)),' Byte') - print(type(observations)) # dict - print(type(timestep.reward)) # list - print(type(timestep.done)) # bool - print(type(actions)) # dict - - - if not timestep.done: - observations = timestep.obs - else: - break - - except Exception as e: - print('[EPISODE LOOP ERROR]', e, flush=True) - print(''.join(traceback.format_tb(e.__traceback__)), flush=True) - self._env.close() - self._env.close() - - print('total iters:', self._total_iters) - print('average step time:', self._total_time/self._total_iters) - print('average step data space:', self._total_space/self._total_iters) - -if __name__ == '__main__': - - ## main - if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): - sc2path = r'C:\Program Files (x86)\StarCraft II' - elif os.path.exists('/Applications/StarCraft II'): - sc2path = '/Applications/StarCraft II' - else: - assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' - sc2path = os.environ['SC2PATH'] - assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) - if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree(os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), os.path.join(sc2path, 'Maps/Ladder2019Season2')) - - ## actor_run - actor = TestDIstarEnv() - actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/tests/test_distar_env_with_manager.py b/dizoo/distar/envs/tests/test_distar_env_with_manager.py deleted file mode 100644 index 6741db2eda..0000000000 --- a/dizoo/distar/envs/tests/test_distar_env_with_manager.py +++ /dev/null @@ -1,91 +0,0 @@ -import os -import shutil - -from distar.ctools.utils import read_config -import torch -from ding.envs import BaseEnvManager -from dizoo.distar.envs import DIStarEnv -import traceback - -from easydict import EasyDict -env_cfg = EasyDict( - { - 'env': { - 'manager': { - 'episode_num': 100000, - 'max_retry': 1, - 'retry_type': 'reset', - 'auto_reset': True, - 'step_timeout': None, - 'reset_timeout': None, - 'retry_waiting_time': 0.1, - 'cfg_type': 'BaseEnvManagerDict', - 'shared_memory': False - } - } - } -) - -ENV_NUMBER = 2 - - -class TestDIstarEnv: - - def __init__(self): - - cfg = read_config('./test_distar_config.yaml') - self._whole_cfg = cfg - - def _inference_loop(self, job={}): - - torch.set_num_threads(1) - - # self._env = DIStarEnv(self._whole_cfg) - self._env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(self._whole_cfg) for _ in range(ENV_NUMBER)], cfg=env_cfg.env.manager - ) - self._env.seed(1) - - with torch.no_grad(): - for episode in range(2): - self._env.launch() - try: - for env_step in range(1000): - obs = self._env.ready_obs - # print(obs) - obs = {env_id: obs[env_id] for env_id in range(ENV_NUMBER)} - actions = {} - for env_id in range(ENV_NUMBER): - observations = obs[env_id] - actions[env_id] = {} - for player_index, player_obs in observations.items(): - actions[env_id][player_index] = DIStarEnv.random_action(player_obs) - timesteps = self._env.step(actions) - print(actions) - - except Exception as e: - print('[EPISODE LOOP ERROR]', e, flush=True) - print(''.join(traceback.format_tb(e.__traceback__)), flush=True) - self._env.close() - - self._env.close() - - -if __name__ == '__main__': - if os.path.exists(r'C:\Program Files (x86)\StarCraft II'): - sc2path = r'C:\Program Files (x86)\StarCraft II' - elif os.path.exists('/Applications/StarCraft II'): - sc2path = '/Applications/StarCraft II' - else: - assert 'SC2PATH' in os.environ.keys(), 'please add StarCraft2 installation path to your environment variables!' - sc2path = os.environ['SC2PATH'] - assert os.path.exists(sc2path), 'SC2PATH: {} does not exist!'.format(sc2path) - if not os.path.exists(os.path.join(sc2path, 'Maps/Ladder2019Season2')): - shutil.copytree( - os.path.join(os.path.dirname(__file__), '../envs/maps/Ladder2019Season2'), - os.path.join(sc2path, 'Maps/Ladder2019Season2') - ) - - # actor_run - actor = TestDIstarEnv() - actor._inference_loop() \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/12D.json b/dizoo/distar/envs/z_files/12D.json deleted file mode 100644 index c1af4fc25f..0000000000 --- a/dizoo/distar/envs/z_files/12D.json +++ /dev/null @@ -1 +0,0 @@ -{"NewRepugnancy": {"zerg": {"16176": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 4934, 4934, 0, 4772, 0, 0, 0, 0, 0, 0, 0, 0], 3718], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3585], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124, 0, 0, 0, 0, 0], [3, 10, 34, 117, 143, 166], [15692, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4024], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3952], [[38, 18, 173, 173, 173, 150, 173, 150, 173, 173, 150, 11, 11, 10, 33, 10, 150, 10, 10, 10], [9, 10, 17, 30, 34, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 12347, 0, 12184, 12664, 11704], 5939], [[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[38, 18, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 54, 33, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [15851, 12496, 0, 0, 0, 0, 0, 15087, 12341, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0], 6607], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 11, 11, 10, 33, 11, 122, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12827, 0, 0, 0], 7122], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 33, 11, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 7705], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 150, 173, 10, 33, 173, 120, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16981, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 0], 7701], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750], [[11, 11, 38, 18, 173, 173, 173, 150, 120, 11, 3, 150, 150, 173, 124, 124, 18, 11, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 0, 15852, 12496, 0, 0, 0, 0, 0, 0, 16979, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8350], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 10, 118, 33, 11, 11, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 16011, 0, 0, 0, 0, 8334, 12661, 0, 0, 0, 12661, 0, 13452, 0, 0, 0, 0, 0, 0], 8009], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15377, 0, 0, 0, 0, 0], 9226], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 9629], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284], [[18, 38, 11, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 118, 150], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0], 9365], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 0, 0], 8957], [[18, 38, 11, 150, 150, 11, 11, 11, 150, 33, 18, 120, 11, 10, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16646, 0, 0, 0, 0, 0, 0, 0, 12830, 8334, 0, 0, 11869, 0, 0, 0, 0, 0, 0], 10057], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16967, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 0, 0, 0], 6653], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 38, 11, 18, 150, 173, 173, 150, 11, 150, 33, 33, 11, 120, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 15850, 0, 12496, 0, 0, 0, 0, 0, 0, 12984, 13613, 0, 0, 0, 0, 0, 0, 0, 0], 9988], [[18, 11, 38, 173, 173, 173, 173, 150, 41, 10, 10, 33, 11, 11, 122, 54, 10, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 13296, 11705, 11705, 12346, 0, 0, 0, 0, 12826, 8334, 0, 0], 10450], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 121, 11], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12668, 0, 0], 9425], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 173, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4155], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 15851, 0, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 17771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11024], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 10, 124, 124, 173, 11, 11], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 12505, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0], 8190], [[38, 18, 11, 173, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17773, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0], 10677], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10988], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 12346, 12186, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8423], [[38, 11, 18, 173, 173, 173, 150, 11, 150, 150, 10, 54, 33, 10, 10, 11, 122, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12829, 12506, 12506, 0, 0, 0, 0, 0], 9614], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 16980, 0, 0, 0, 0, 16341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15007], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 10, 82, 60, 18, 118], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12186, 0, 0, 12984, 0, 0, 15087, 0], 11924], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5043], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 33, 3, 153, 153, 153], [3, 10, 17, 19, 30, 34, 48, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 12966, 17775, 0, 0, 0], 14062], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 11, 120, 173, 3, 173, 18, 124, 124, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 8334, 0, 0, 12346], 6799], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 33, 10, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12828, 0, 0, 0, 0], 9349], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 173, 173, 150, 18, 173, 173, 173, 150, 150, 150, 54], [10, 17, 34, 48, 113, 143, 166], [12496, 0, 16010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 7503], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 150, 10, 173, 173, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 12278], [[38, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 121, 153, 18, 18, 173], [9, 10, 17, 30, 34, 48, 55, 111, 113, 114, 115, 143, 146, 166], [16010, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 15536, 8334, 0], 14420], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 15087, 11865, 0, 0, 0, 0, 0, 0, 12506, 0, 0, 0], 8774], [[18, 11, 38, 150, 150, 120, 150, 54, 173, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 19, 25, 26, 30, 34, 48, 64, 75, 107, 111, 113, 115, 132, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14010], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 54, 122, 11, 11, 33, 33, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 12345, 12829, 12506, 12183], 8528], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 41, 10, 54, 33, 11, 11, 122, 18, 150, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 89, 115, 130, 139, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 0, 11852, 11705, 0, 12185, 0, 0, 0, 15087, 0, 0], 14410], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 173, 10, 33, 10, 18, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12508, 12987, 15087, 0], 10194], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 3, 173, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 120, 18], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 7535], [[18, 11, 38, 18, 120, 150, 120, 150, 173, 173, 173, 173, 173, 173, 150, 173, 173, 10, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16807, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 12966], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907], [[18, 11, 38, 150, 150, 173, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16979, 0, 0, 0, 0, 0, 12501, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7122], [[38, 11, 173, 173, 173, 173, 173, 120, 150, 173, 173, 18, 150, 150, 18, 3, 10, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 8334, 16661, 11867, 12828, 0, 0], 8596], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 17776, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 8334, 12021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15766], [[18, 11, 38, 150, 150, 120, 173, 41, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 13136, 8334, 12025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6160], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7400], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 3324, 0, 0, 0, 4613, 4772, 0, 4774, 5097, 0, 0, 0, 0, 0, 0], 3487], [[18, 11, 38, 150, 150, 10, 173, 118, 18, 120, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 18095, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 17903], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[11, 18, 11, 38, 150, 150, 150, 54, 11, 10, 33, 11, 122, 82, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 11705, 12185, 0, 0, 0, 13452, 0, 0, 0, 0, 0], 10364], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 33, 11, 11, 11, 54, 122, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [16981, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11866, 12346, 0, 0, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 33, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 12346, 0], 9061], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 10, 153, 153, 153, 82, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146], [12496, 0, 16981, 0, 0, 0, 0, 0, 11705, 11705, 12986, 0, 0, 0, 12185, 0, 0, 0, 0, 8334], 16660], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 150, 3, 3, 173, 173, 173, 10, 18, 122, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12500, 11705, 0, 0, 0, 11705, 8334, 0, 0], 9159], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 10, 173, 173, 173, 173, 173, 173, 118, 11, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 15693, 0, 0, 0, 0, 0, 12986, 12346, 12506, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8370], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10558], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 173, 150, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12506], 7798], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 121, 18, 173, 173, 173, 173, 173, 173, 3, 3, 11], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 15696, 15536, 0], 7008], [[18, 11, 38, 150, 150, 120, 41, 41, 173, 173, 11, 173, 173, 41, 41, 41, 3, 71, 10, 18], [3, 9, 10, 17, 30, 34, 55, 64, 111, 113, 143, 146, 166], [12496, 0, 17142, 0, 0, 0, 13133, 12813, 0, 0, 0, 0, 0, 13299, 12980, 12501, 16184, 0, 12984, 8335], 9629], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 10, 10, 33, 118, 121, 120, 11, 11, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 111, 113, 114, 130, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 0], 11485], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 3, 3, 173, 173, 173, 150, 120, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 15062, 16501, 0, 0, 0, 0, 0, 0, 0, 12496], 14485], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16807, 16807, 0, 0, 0, 0, 8334, 12507, 0, 0, 0, 0, 0, 0, 0, 12026, 0, 0], 8322], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 173, 124, 124, 10, 10, 10, 11, 122], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 53, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [12496, 0, 17936, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 12668, 12668, 11867, 0, 0], 17375], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11642], [[18, 11, 38, 38, 150, 150, 173, 173, 150, 11, 120, 54, 33, 10, 10, 11, 11, 10, 122, 153], [9, 10, 17, 18, 19, 25, 26, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0, 12663, 0, 0], 25754], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 11705, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11135], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 11, 11, 11, 33, 33, 10, 27, 82, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11869, 11868, 12349, 13617, 0, 0], 19565], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 150, 11, 11, 150, 120, 10, 33, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 11282], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 10, 54, 33, 122, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [16011, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12829, 0, 15087], 19798], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 10, 121, 33, 120, 18, 11, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 12346, 12186, 0, 12828, 0, 8334, 0, 0, 0, 0], 9545], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 10, 150, 173, 173, 33, 118, 173, 173, 173, 173, 173, 173, 11, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16011, 0, 0, 8334, 11705, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16660], [[38, 11, 18, 150, 173, 120, 150, 10, 96, 18, 121, 11, 11, 33, 150, 54, 11, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 15087, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10430], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 150, 173, 173, 150, 33, 33, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 11867, 0, 0, 0], 10290], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 150, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 12506, 0, 0, 0, 0], 21568], [[38, 11, 11, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17611, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5300], [[38, 11, 18, 173, 173, 150, 173, 3, 173, 150, 120, 18, 33, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 139, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 15537, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0], 12475], [[38, 173, 173, 173, 173, 18, 11, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16500, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6048], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 121, 118], [3, 9, 10, 17, 30, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [12496, 0, 16343, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 17084], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 15698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8977], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17775, 0, 0, 0, 0, 0, 0, 17462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7947], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 120, 10, 118, 33, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12348, 0, 0], 13899], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 150, 10, 54, 33, 11, 11, 122, 18, 153, 153], [9, 10, 17, 18, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12507, 0, 0, 0, 8334, 0, 0], 10561], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10790], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865], 10402], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3623], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0, 0, 0], 11221], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 10, 33, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 16967, 0, 0, 0, 0, 0, 0, 0], 4397], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 10, 124, 173, 33, 122, 11, 11], [0, 3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 15376, 0, 0, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 11866, 0, 0, 12984, 0, 0, 0], 12429], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9511], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328], [[18, 11, 38, 38, 150, 150, 173, 173, 120, 150, 54, 10, 33, 10, 11, 11, 10, 10, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12986, 12346, 0, 0, 11866, 11867, 0, 0], 9570], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 173, 118, 11, 11, 33, 54, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0], 14724], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [16826, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 12024, 0, 0, 0], 9663], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 150, 120, 18, 10, 54, 11, 11, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 12346, 0, 0, 0], 11734], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[11, 38, 18, 173, 150, 120, 33, 173, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 17772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 8334, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6337], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 173, 118, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 6969], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6300], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16980, 16012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4495], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 11, 38, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 15534, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12857], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 10, 124, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 12186, 0, 0, 0, 0, 0, 0, 11212], 9832], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4008], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 34, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 16982, 0, 0, 0, 0, 0, 0, 0, 0], 5553], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11970], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 18, 173, 173, 3, 173, 150, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 15852, 0, 0, 0, 0, 0], 11260], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15533, 0, 0, 0, 0, 0, 12341, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9068], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 11864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10377], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3805], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 0, 0, 14735, 0, 0, 0, 0, 0, 0, 0, 0], 13135], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7676], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9650], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 54, 10, 11, 11, 121, 150, 11, 40, 40, 173, 173], [9, 10, 17, 18, 34, 35, 48, 110, 113, 114, 139, 143, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 11052, 11848, 0, 0], 11413], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 41, 120, 18, 173, 173, 10, 54, 11, 33], [9, 10, 17, 19, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 8334, 0, 0, 12828, 0, 0, 12347], 22952], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5747], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 173, 173, 173, 10, 33, 33, 33, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16806, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11868, 12829, 12829, 12829, 0], 7811], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5406], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 18, 173, 173, 173, 150, 39, 173, 150, 150, 39, 150, 11, 11, 33, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 3004, 0, 0, 0, 3004, 0, 0, 0, 11868, 11867, 12830, 0, 0, 0], 8596], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 17939, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 13984], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6923], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15532, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16026, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 12827, 0, 11705], 14875], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497], [[11, 38, 18, 120, 173, 173, 173, 173, 150, 150, 150, 10, 33, 10, 33, 173, 173, 173, 173, 0], [9, 10, 17, 30, 34, 113, 143, 166], [0, 17776, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 12185, 0, 0, 0, 0, 0], 5408], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 64, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 0, 16967, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20391], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 12681], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0], 5277], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 33, 33, 11, 11, 10, 10, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12986, 12986, 0, 0, 12346, 11866, 0, 0, 0, 0, 0], 12097], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10808], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 10, 10, 124, 11, 54, 122, 11, 96], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 12824, 12824, 0, 0, 0, 0, 0, 0], 12527], [[38, 11, 18, 173, 173, 173, 150, 10, 173, 121, 120, 150, 173, 173, 173, 173, 150, 18, 3, 150], [3, 9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 16341, 0], 7462], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705], 9861], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 10, 33, 10, 121, 118, 120, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [17288, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 12985, 12505, 11866, 0, 0, 0, 0, 0], 15366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 173, 173, 173, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 12185], 11773], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647], [[18, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [12496, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4730], [[38, 11, 11, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 39, 39, 39], [3, 9, 10, 17, 18, 22, 25, 26, 34, 35, 48, 50, 89, 110, 113, 117, 130, 139, 143, 166], [15692, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7012, 6692, 6692, 4611, 4774], 24126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4244], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16661, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 5203], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 150, 118, 173, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12984, 0], 8878], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16697], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 54], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 12665, 0, 0, 0], 16760], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12986, 0, 0], 18377], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 33, 10, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11705, 12345, 0, 0, 0, 12022, 11222, 0, 0], 12518], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 33, 10, 10, 11, 11, 54, 122, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 0, 8334, 0, 12984, 11705, 11705, 0, 0, 0, 0, 12185, 0, 12502, 0], 6415], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 150, 54, 10, 33, 11, 18], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12830, 11869, 0, 15087], 15698], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 114, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 12351], [[38, 18, 11, 150, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 33, 54, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 11867, 0, 12347, 12986], 10116], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[18, 18, 11, 38, 38, 150, 150, 120, 173, 173, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 12496, 0, 16166, 16006, 0, 0, 0, 0, 0, 8334, 0, 0, 16486, 0, 0, 0, 0, 0, 0], 5520], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 3, 150, 18, 54, 11, 40, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 139, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0, 12496, 0, 0, 16647, 0, 0], 16343], [[11, 18, 11, 38, 173, 173, 150, 173, 173, 150, 3, 3, 173, 173, 173, 10, 173, 0, 0, 0], [3, 9, 10, 17, 34, 143, 166], [0, 12496, 0, 16967, 0, 0, 0, 0, 0, 0, 15534, 15852, 0, 0, 0, 16978, 0, 0, 0, 0], 4672], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3803], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3795], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 3, 3, 10, 11, 11, 54, 33, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 11705, 11705, 15534, 0, 0, 0, 15698, 0], 13188], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5254], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 173, 173, 18, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 12496, 0, 0, 0, 0, 0, 0], 7077], [[11, 38, 18, 150, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4872], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 13452, 0, 0, 0, 0], 8060], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 18, 150, 150, 120, 10, 11, 118, 173, 173, 33, 173, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 0, 16981, 12028, 0, 0, 0, 12829, 0, 0, 0, 0, 13292, 0, 0, 0, 0, 0, 0, 0], 6386], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 122, 118, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 11867, 12987, 12507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8661], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 16661, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10138], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 150, 10, 10, 10, 10, 10, 10, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 12348, 11865, 11705, 12827, 0], 5180], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4456], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 173, 173, 173, 173, 122, 33, 150, 173, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 9647], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[18, 11, 38, 150, 150, 120, 173, 173, 150, 18, 150, 173, 173, 173, 173, 173, 173, 3, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0], 5194], [[18, 11, 38, 150, 173, 173, 150, 120, 3, 18, 173, 33, 173, 11, 11, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 12341, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0], 11299], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 33, 54, 122, 10, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 11868, 0, 0, 0, 0, 0, 0, 0], 10634], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[18, 38, 11, 18, 150, 150, 10, 33, 11, 118, 11, 120, 18, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 16981, 0, 12027, 0, 0, 12828, 13292, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0], 8691], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 64, 113, 114, 143, 146, 166], [12496, 0, 16981, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 0, 0], 12363], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 124, 124, 173, 173, 173, 173, 150, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7721], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 155, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15694, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4149], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16342, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11847, 0, 0, 0], 10725], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624], [[18, 11, 38, 150, 150, 120, 173, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 122, 71, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 173, 173, 173, 173, 173, 10, 33, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 16646, 0], 7433], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 150, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12419], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7223], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0], 6270], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 71, 10, 33, 10, 11, 11, 122, 10, 153, 153], [0, 9, 10, 17, 30, 34, 35, 48, 64, 75, 110, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12347, 12987, 0, 0, 0, 12664, 0, 0], 10284], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4303], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 54, 11, 33, 153, 153, 153, 27], [10, 17, 25, 26, 30, 34, 48, 55, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16646, 0, 0, 0, 14891], 7421], [[11, 38, 173, 173, 173, 173, 120, 173, 150, 173, 173, 3, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 16807, 0, 0, 0, 0, 0, 0, 0], 6749], [[11, 38, 18, 54, 173, 173, 11, 3, 150, 27, 150, 173, 173, 173, 124, 124, 124, 124, 173, 28], [3, 10, 17, 25, 26, 34, 48, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 16807, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154], 7560], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 124, 124, 122, 150, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16823, 17142, 0, 0, 0, 0, 8334, 12985, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0], 8792], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 150, 124, 124, 122, 173, 173, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12985, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12930], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 121, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 83, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14018], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6820], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 8334, 13449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15673], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 9120], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11783], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 10, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0], 11089], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 124, 10, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 8282], [[18, 11, 38, 38, 3, 150, 173, 173, 173, 173, 120, 54, 11, 173, 173, 173, 173, 120, 18, 27], [3, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [12496, 0, 16982, 16981, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 15050], 7344], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 18, 124, 150, 124, 124, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 8334, 12824, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0], 11986], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18924], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7951], [[38, 11, 18, 173, 173, 173, 150, 33, 71, 153, 153, 153, 153, 153, 54, 10, 10, 10, 10, 122], [9, 10, 17, 30, 34, 48, 64, 107, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 11705, 12986, 12506, 12183, 0], 7669], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 64, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334], 12350], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9634], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 16501, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0], 15872], [[11, 38, 173, 173, 173, 120, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 25, 26, 34, 35, 48, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11940], [[38, 11, 18, 150, 173, 120, 150, 18, 54, 33, 11, 11, 11, 153, 153, 82, 10, 10, 10, 153], [9, 10, 17, 30, 34, 48, 75, 113, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12024, 12504, 12984, 0], 5901], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 12185, 11705, 12826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6900], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 173, 173, 173, 10, 33, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 17772, 0], 8728], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 0, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9781], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17641], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 10, 121, 3, 124, 124, 0, 0], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 11865, 0, 0, 0, 0], 8302], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 120, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 0, 0], 12274], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 18, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16979, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4935], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 10, 150, 150, 33, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 11705, 0, 0, 12666, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8032], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 11, 11, 10, 33, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 12025, 12986, 0], 15776], [[18, 11, 38, 150, 150, 173, 120, 173, 33, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 15532, 0, 0, 0, 0, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9327], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 11, 54, 11, 33, 122, 11, 82, 10, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 8334, 0, 12341, 12985, 0, 0, 0, 11544, 0, 0, 0, 11055, 0, 0], 28933], [[11, 11, 11, 18, 38, 11, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 150, 18, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 0, 12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0], 4858], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 54, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 16981, 12496, 0, 0, 0, 0, 0, 16181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 173, 173, 173, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8209], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 11, 124], [3, 9, 10, 17, 30, 34, 48, 55, 65, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17876], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 18, 33, 10, 11, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 8334, 16806, 16166, 0, 0, 0, 0, 0], 9176], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 54, 11, 11, 11, 122, 40, 82, 153, 153, 153], [9, 10, 17, 18, 22, 25, 30, 34, 35, 48, 50, 55, 75, 83, 111, 115, 130, 139, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0], 18329], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 12496, 0], 11453], [[38, 18, 173, 173, 173, 173, 150, 11, 150, 150, 33, 33, 10, 54, 11, 11, 10, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 12347, 12986, 0, 0, 0, 11867, 0, 0, 0], 9534], [[11, 38, 18, 11, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 16660, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 120, 3, 173, 173, 18, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 17771, 0, 0, 15087, 0, 0, 0, 0], 6598], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15222, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13622], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 10, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 12985, 0, 0, 0, 0, 0, 0, 0], 7594], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3699], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33, 33, 10, 10, 150, 150, 150], [9, 10, 17, 30, 34, 143, 146, 166], [16823, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12829, 12189, 11866, 0, 0, 0], 5752], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 173, 124, 124, 173, 10, 122, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16824, 0, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9339], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 173, 173, 173, 10, 10, 10, 173, 173, 150, 11], [9, 10, 17, 30, 34, 48, 111, 113, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11705, 12186, 12666, 0, 0, 0, 0], 7539], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 18, 11, 11, 10, 54, 33, 33, 122, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 12829, 0, 11869, 11705, 0, 0], 15327], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9854], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5486], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12024, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0], 9837], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 120, 173, 173, 10, 10, 173, 173, 173, 10, 118, 11], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 11865, 0, 0, 0, 12345, 0, 0], 9435], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 12662], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 3, 10, 33, 11, 11, 122, 54, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 130, 143, 146, 166], [12496, 0, 16660, 0, 0, 0, 0, 0, 0, 14580, 8334, 11705, 11705, 12186, 0, 0, 0, 0, 0, 0], 12493], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [12496, 0, 16662, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12345, 0, 0, 0], 10595], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10058], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4347], [[18, 11, 38, 150, 54, 11, 33, 150, 27, 150, 153, 153, 153, 153, 153, 153, 153, 28, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146], [12496, 0, 16980, 0, 0, 0, 16807, 0, 12180, 0, 0, 0, 0, 0, 0, 0, 0, 11471, 0, 0], 6270], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 173, 3, 173, 124, 173, 173, 173, 150, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 13293, 0], 13762], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 16021, 0, 0, 0, 0], 8924], [[11, 38, 38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 15692, 15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3942], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 18, 150, 150, 10, 33, 54, 122], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 12500, 12020, 0, 0], 10234], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590], [[38, 173, 173, 173, 173, 18, 150, 11, 150, 11, 18, 173, 120, 173, 173, 173, 10, 54, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15694, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 13292, 0, 0, 0], 13676], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 150, 150, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0], 5017], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 33, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 17142, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12343, 0], 6730], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17772, 0, 0, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0], 13873], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 10, 153, 153, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 12986, 0, 0, 12340, 0, 0, 0], 8877], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 11, 33, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [15533, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12346, 0, 0, 0], 11699], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 10, 122, 33, 10, 10, 11, 54, 11, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 17449, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 0, 12986, 11865, 12344, 0, 0, 0, 8334, 0], 10754], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[38, 18, 173, 173, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 54, 122, 11, 82, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16501, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12348, 12348, 11705, 0, 0, 0, 0, 13454, 0], 15227], [[11, 38, 18, 150, 173, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4609], [[18, 11, 38, 150, 150, 120, 54, 150, 11, 11, 33, 10, 10, 27, 27, 27, 122, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 75, 78, 113, 115, 130, 143, 146], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12987, 11861, 11054, 11211, 0, 0, 0, 0], 14157], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5429], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 18, 173, 173, 173, 173, 173, 10, 173, 10, 11], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 8334, 0, 0, 12501, 15087, 0, 0, 0, 0, 0, 11705, 0, 12185, 0], 8736], [[18, 11, 38, 150, 150, 173, 120, 150, 173, 173, 173, 173, 10, 33, 173, 173, 173, 10, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 0, 12987, 0, 0], 12265], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16026, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6142], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 54, 11, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16983, 0, 0, 0, 0, 0], 13227], [[11, 38, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 18, 124, 124, 150, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 17933, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 15693], 8593], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16980, 0, 0, 0, 0, 0, 0, 0, 3968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3528], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 13474], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15052, 0, 0, 0, 0, 0, 0, 0], 5258], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 3, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 13292, 0], 10562], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 14417], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5002], [[38, 11, 150, 173, 173, 173, 173, 3, 173, 120, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4911], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10097], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 10, 173, 173, 173, 173, 122, 33, 150, 11], [3, 9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12984, 12984, 0, 0, 0, 0, 0, 12345, 0, 0], 6332], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 120, 173, 173, 173, 3, 173, 173, 18, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 12347, 0, 0, 8334, 0, 0, 0], 7187], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 33, 173, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4738], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 150, 150, 3, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0], 5789], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9002], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16807, 0, 0, 0, 0, 0, 0, 0, 4934, 0, 4131, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3758], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 11, 11, 122, 153, 82, 18, 153, 153, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 0, 12829, 11868, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 12806], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10594], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 18, 120, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0], 11792], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15695, 0, 12496, 0, 0, 0, 0, 0, 0, 15370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8085], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 173, 18, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0], 8517], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 150, 10, 18, 54, 122, 11, 33, 11, 153, 153, 82], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 12501, 0, 13455, 8334, 0, 0, 0, 11866, 0, 0, 0, 0], 14806], [[18, 11, 38, 150, 173, 150, 150, 173, 173, 120, 150, 18, 173, 173, 10, 150, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 0, 0, 0, 0, 0], 10673], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16985, 0, 0, 0, 0, 0, 8334, 12186, 12186, 0, 0, 11705, 0, 0, 0, 0, 0, 0], 18262], [[38, 11, 11, 173, 173, 173, 150, 54, 11, 150, 20, 27, 10, 150, 10, 157, 157, 122, 157, 157], [9, 10, 17, 19, 25, 26, 30, 34, 48, 115, 143, 150, 166], [14577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14900, 13947, 14425, 0, 14425, 0, 0, 0, 0, 0], 17240], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 10, 54, 173, 11, 150, 122, 33, 120, 82, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 12185, 0, 0, 0], 9942], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 33, 173, 173, 173, 173, 173, 173, 18, 54, 11, 11], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 0, 14733, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 10664], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 18, 11, 11, 3, 3, 173, 173, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 13296, 13296, 0, 0, 0], 6647], [[11, 38, 18, 150, 173, 11, 10, 173, 150, 173, 173, 150, 54, 10, 33, 11, 11, 122, 10, 82], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 16332, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 0, 0, 12348, 0], 8738], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 10, 33, 122, 10, 10, 173, 173, 33, 153, 150, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 0, 11867, 12348, 0, 12987, 12505, 0, 0, 11704, 0, 0, 0], 8645], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 18, 10, 10, 54, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11704, 11705, 0, 0, 0, 12986], 14565], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 11, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15696, 0, 0, 0, 0, 0, 0, 0], 12349], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 15214, 0, 0, 0, 0], 13293], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 173, 150, 10, 33, 122, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 12986, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 150, 33, 153, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 150, 173, 124, 124, 10, 173, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 14921], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0], 16365], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106], [[11, 38, 120, 173, 173, 173, 173, 150, 173, 173, 39, 173, 173, 18, 150, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 7332, 0, 0, 12496, 0, 8334, 0, 11704, 12986, 0], 16651]], "3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4017], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[38, 11, 173, 173, 3, 173, 3, 173, 173, 150, 173, 150, 173, 124, 124, 173, 124, 0, 0, 0], [3, 10, 34, 117, 143, 166], [1899, 0, 0, 0, 2691, 0, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3556], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4046], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3169, 3651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4325], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6512], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6850], [[18, 11, 38, 150, 150, 173, 120, 11, 150, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 7010, 7170, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 6658], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[11, 18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3451], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 10, 33, 11, 10, 27, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 7164, 7164, 6685, 0, 7644, 6059, 0, 0, 0, 0, 0, 0], 8042], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 150, 3, 10, 173, 173, 173, 18, 150, 11, 11], [3, 9, 10, 17, 25, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7967, 7806, 0, 0, 0, 11177, 0, 0, 0], 8383], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 173, 11, 150, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 0, 0], 9474], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 18, 10, 11, 11, 150, 33, 122, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6682, 0, 0, 0, 7642, 0, 0], 8976], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 120, 10, 33, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7646, 7004, 0, 0, 0, 11177], 9612], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[18, 11, 38, 18, 150, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3978, 11177, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8967], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7185, 7982, 0, 0, 0], 9261], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 15386, 0, 0, 0, 14740, 15063, 14738, 0, 0, 0, 0, 0, 0, 0, 0], 5097], [[11, 11, 38, 18, 150, 173, 120, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [0, 0, 2223, 7015, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 150, 120, 10, 121, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0], 6645], [[38, 18, 173, 173, 173, 150, 11, 173, 173, 150, 173, 150, 173, 173, 54, 11, 120, 11, 11, 18], [9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [2384, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177], 10451], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4162], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 18, 11, 150, 173, 10, 150, 118, 173, 120, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 34, 111, 113, 143, 166], [3500, 7015, 0, 0, 0, 2223, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3919], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 173, 11, 33], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6059], 8243], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6847], 15032], [[18, 11, 38, 150, 150, 173, 173, 10, 150, 41, 118, 120, 173, 173, 173, 173, 173, 173, 18, 18], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 1578, 0, 3343, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424], 10686], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011], [[18, 11, 38, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 18, 18, 150, 10, 33, 54, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 6683, 7806, 0, 0], 11593], [[18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 150, 10, 173, 173, 173, 173, 121, 11, 18, 33], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 7005], 9624], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7010, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8403], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 10, 173, 33, 173, 10, 150, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 6525, 0, 7645, 0, 7006, 0, 0, 0], 10945], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 173, 173, 11, 54, 33, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 11958], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 18, 18, 10, 122, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424, 7164, 0, 7967, 0], 11792], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4401], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 33, 122, 10, 11, 11, 33, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [3185, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7003, 6682, 0, 7005, 0, 0, 6525, 0, 0], 6252], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 124, 124, 120, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5137], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 150, 18, 11, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 6740], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 0], 13769], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 10, 33, 118, 121, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6525, 0, 0, 11177, 0, 0, 0, 0], 12790], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 10, 150, 33, 122, 11, 173, 173, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7015, 0, 3344, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 7644, 0, 6684, 0, 0, 0, 0, 0], 9376], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 10, 33, 33, 11, 150, 11, 27, 10, 150, 60, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7806, 7166, 7165, 0, 0, 0, 4457, 6525, 0, 0, 0], 13028], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 6225], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 41, 150, 11, 10, 33, 54, 11, 122, 10, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 7499, 0, 0, 6525, 7644, 0, 0, 0, 7005, 0], 14442], [[38, 38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 150, 150, 173, 11, 150, 10, 120], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [3978, 3979, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0], 8537], [[18, 11, 38, 150, 150, 120, 150, 54, 120, 10, 173, 11, 11, 11, 173, 121, 33, 40, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 114, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 0, 0, 7644, 6386, 0, 0], 14047], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 18, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 122, 143, 146, 166], [1578, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 0, 0, 0], 14486], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7558], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6848, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14614], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 121, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [3004, 0, 7015, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 6120], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0], 8632], [[18, 11, 38, 18, 173, 150, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 0, 0, 0], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 11177, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4139], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 0, 6525, 0, 0], 15926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7416], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[18, 38, 11, 150, 150, 120, 150, 10, 173, 173, 173, 173, 18, 173, 122, 122, 33, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 107, 113, 115, 139, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0], 17856], [[18, 11, 38, 150, 150, 120, 18, 10, 33, 11, 122, 11, 153, 153, 153, 153, 153, 153, 150, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4807], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 54, 11, 59], [3, 10, 17, 34, 35, 48, 53, 110, 113, 117, 139, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9547], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 11, 33, 122, 11, 54, 173, 173, 173, 173, 10, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 7806, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 6846, 0], 8410], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7330, 7487, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11060], [[18, 38, 11, 150, 173, 150, 173, 150, 150, 54, 11, 10, 33, 11, 11, 122, 82, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 115, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683, 7163, 0, 0, 0, 0, 0, 0, 0], 12585], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 173, 173, 173, 173, 173, 122, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16650], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6815], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 10, 10, 10, 33, 40, 11, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 139, 143, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6847, 7487, 3978, 3979, 0, 0, 0], 9126], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 11177, 7806, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 17048], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7486, 0, 0, 0, 0, 0, 0, 7005, 7967, 0, 0], 10592], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 11, 18, 10, 33, 33, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7806, 7326, 6525, 0, 0, 0], 10323], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11, 153, 150, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 6525, 7005, 0, 0, 0, 0, 0, 0, 0], 10102], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 33, 10, 54, 122, 11, 11, 153, 153, 153, 82, 11], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [3818, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9615], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 173, 173, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7017], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 124, 124, 10, 10, 122, 33, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7648, 0, 0, 0, 0, 0, 0, 6527, 6527, 0, 7007, 0, 0], 17341], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10601], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 3, 18, 18, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7490, 7646, 11176, 11177, 0, 0], 11250], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 18], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 4584], 11308], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6922], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 120, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0], 8999], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 11, 11, 18, 10, 33, 11, 122, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2544, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7643, 6682, 0, 0, 0], 10762], [[18, 11, 38, 173, 150, 173, 150, 173, 173, 11, 54, 10, 11, 11, 33, 122, 82, 18, 153, 153], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 65, 75, 89, 111, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 6527, 0, 0, 7167, 0, 0, 4424, 0, 0], 19780], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 10, 41, 173, 173, 173, 173, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7010, 7489, 7652, 0, 0, 0, 0, 0, 0], 10328], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5282], [[38, 18, 11, 173, 150, 173, 173, 150, 120, 173, 173, 150, 11, 11, 33, 173, 10, 173, 173, 10], [9, 10, 17, 30, 34, 113, 114, 143, 166], [3004, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6842, 0, 7643, 0, 0, 7165], 6098], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 40, 153, 153, 82, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 109, 110, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 7005, 6380, 0, 0, 0, 4424, 0], 17066], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[38, 11, 18, 173, 173, 173, 18, 11, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 7015, 0, 0, 0, 0, 6851, 0, 0, 0, 0, 0, 0, 0, 0], 12560], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4936, 0, 0, 0, 0, 0, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9003], [[11, 18, 38, 11, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 10, 150, 150, 3, 124], [3, 9, 10, 17, 34, 117, 143, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532, 0, 0, 2531, 0], 7889], [[38, 11, 150, 173, 173, 173, 173, 18, 173, 150, 39, 150, 150, 10, 10, 10, 11, 11, 11, 11], [9, 10, 17, 18, 34, 48, 78, 83, 113, 130, 143, 166], [1573, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 11858, 0, 0, 7644, 7164, 6683, 0, 0, 0, 0], 10444], [[18, 38, 11, 150, 150, 120, 18, 150, 10, 10, 118, 33, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 7806, 7806, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0], 8931], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 10, 121, 150, 173, 173, 18, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 11177, 0, 0, 6685, 0], 8668], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4086], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8760], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 11, 122, 82, 10, 11, 153, 153, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7015, 0, 3975, 0, 0, 0, 0, 7806, 7806, 7325, 0, 0, 0, 0, 6683, 0, 0, 0, 6219, 0], 9543], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 173, 173, 173, 11, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7325, 7005, 7165, 0, 0, 0, 0, 6683, 0, 0, 0], 12449], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 0, 11177, 0], 14732], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493], [[11, 38, 11, 18, 173, 173, 33, 150, 153, 153, 153, 153, 150, 62, 62, 62, 10, 54, 11, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 11682], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 18], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424], 9693], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4141, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9323], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6948], [[18, 38, 11, 150, 150, 173, 173, 54, 150, 10, 33, 10, 122, 10, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 4934, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 7485, 0, 7645, 0, 0, 0, 0, 0, 0], 9006], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[18, 38, 11, 150, 173, 173, 150, 120, 150, 3, 18, 173, 10, 33, 54, 11, 11, 11, 153, 122], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 2704, 0, 0, 0, 0, 0, 0, 0, 7967, 11177, 0, 7967, 7488, 0, 0, 0, 0, 0, 0], 23126], [[38, 173, 173, 150, 173, 173, 173, 18, 11, 150, 150, 11, 11, 11, 18, 18, 10, 33, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 107, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11176, 11177, 7644, 6683, 0, 0], 11754], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 3], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 6217], 6395], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 18, 18, 150, 173, 54, 11, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 0, 0, 0, 0, 7325, 7806, 0], 13208], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7164, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6339], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 41, 173, 173, 173, 173, 150, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7170, 7500, 0, 0, 0, 0, 0, 0, 0], 6435], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157], [[18, 11, 38, 173, 173, 150, 150, 120, 10, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 7664, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8177], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6326], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 18, 11, 150, 173, 150, 120, 150, 3, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 9881], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 3, 173, 173, 173, 124, 124, 124, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7006, 7006, 0, 0, 0, 0, 0, 0, 0, 0], 9034], [[18, 11, 38, 38, 150, 150, 120, 3, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3331, 3330, 0, 0, 0, 7170, 7170, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7007], [[18, 11, 38, 150, 150, 120, 18, 150, 150, 3, 173, 173, 173, 10, 11, 11, 150, 124, 124, 121], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 83, 89, 111, 113, 114, 115, 117, 130, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 11177, 0, 0, 6525, 0, 0, 0, 7005, 0, 0, 0, 0, 0, 0], 25661], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 9948], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163], 11272], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11989], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14580, 14578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4381], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1899, 0, 0, 0, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7728], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 3843], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 6525, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 13147], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 150, 11], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 9714], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 33, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0], 10106], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0], 12880], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1735, 0, 0, 0, 0, 0, 0, 0, 14574, 14893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4027], [[18, 11, 38, 150, 173, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 150, 54, 10, 33, 11, 11, 122, 18, 82, 60], [0, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 11177, 0, 0], 8613], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7171, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12431], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 33, 11, 11, 10, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 0, 7643, 7163, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 5048], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 18, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 117, 139, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 19651], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5446], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 10, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6527, 7007, 7487, 0, 0], 20327], [[38, 18, 11, 173, 150, 150, 150, 54, 10, 33, 10, 11, 122, 118, 11, 82, 153, 153, 150, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10256], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 10, 173, 173, 54, 11, 11, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 6685, 6685, 0, 0, 0, 0, 0, 0], 12354], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685], 14872], [[18, 11, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 38, 38, 11, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 12723], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 33, 122, 11, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3485, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 0], 12114], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5230], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 10, 150, 124, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7646, 7806, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 11797], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0, 0, 0, 0, 0], 7477], [[18, 11, 38, 150, 150, 120, 18, 3, 10, 33, 122, 11, 150, 153, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7168, 7806, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15957], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926], [[18, 38, 11, 173, 173, 173, 173, 150, 150, 173, 120, 10, 11, 54, 11, 122, 33, 18, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0, 0], 15430], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3503], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 173, 3, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0], 4753], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 38, 11, 150, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 3329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5222], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 122, 54, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4620, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0], 15042], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 33, 18, 153], [10, 17, 18, 30, 34, 48, 55, 75, 113, 130, 143, 146, 166], [0, 0, 7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 11177, 0], 24106], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 54, 11, 11, 33, 150, 122, 153, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 7166, 7164, 0, 0, 0, 6525, 0, 0, 0, 0], 8406], [[18, 38, 150, 11, 11, 150, 10, 33, 54, 10, 11, 27, 27, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146], [7015, 1899, 0, 0, 0, 0, 6525, 7806, 0, 7005, 0, 6057, 6056, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 38, 11, 150, 173, 150, 173, 120, 150, 54, 150, 33, 10, 10, 11, 11, 82, 11, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 4133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7806, 7326, 0, 0, 0, 0, 0, 0], 18355], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 6215, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12494], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 150, 11, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6525, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17260], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 10, 10, 150, 121, 150, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 3819, 1900, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 6474], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 4424, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10148], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 10, 121, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 0, 6376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4547], [[38, 18, 150, 173, 173, 173, 150, 11, 11, 33, 54, 54, 11, 10, 10, 153, 153, 153, 18, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 7806, 7325, 0, 0, 0, 11177, 0], 15701], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 11, 11, 10, 10, 173, 173, 173, 173, 150, 10, 173], [9, 10, 17, 30, 34, 48, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 0, 0, 7324, 6843, 0, 0, 0, 0, 0, 6846, 0], 5488], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4698], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 16028, 0, 0, 0, 0, 14418, 15063, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3794], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3756], [[18, 38, 11, 150, 150, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3768], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 132, 143, 146, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 7488, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11728], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6216, 6214, 0, 0, 0, 0, 0, 0, 0, 0], 4884], [[38, 11, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5213], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 10, 33], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7325, 0, 0, 0, 0, 0, 0, 0, 6845, 0, 6844, 7807], 8092], [[38, 18, 173, 150, 11, 150, 150, 54, 10, 33, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2531, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 6524, 0, 0, 0, 0, 0, 0, 0, 0], 13206], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10146], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 124, 173, 173, 173, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 7485, 0, 0, 0, 0, 0, 0, 0, 7967, 0], 12477], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7646, 0, 0, 0, 0, 0, 0, 0], 5432], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9199], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 122, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 7162], 9701], [[18, 11, 38, 3, 173, 173, 173, 173, 150, 150, 173, 120, 173, 124, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4140, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 38, 11, 150, 10, 150, 173, 173, 121, 150, 120, 33, 10, 10, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 111, 113, 114, 143, 146, 166], [7015, 3819, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 6525, 7005, 7806, 0, 0, 0, 0, 0, 0], 9647], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 18, 11, 71, 150, 10, 11], [9, 10, 17, 30, 34, 48, 64, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 7164, 0], 11689], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10624], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 3, 18, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7504, 4424, 0, 0], 10863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 33, 71, 122, 11, 11, 10, 82, 60, 18, 153], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 7164, 6685, 0, 0, 0, 0, 7644, 0, 0, 11177, 0], 8713], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0], 7719], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 10, 54, 173, 11, 11, 10, 33, 122, 18, 60, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 7485, 7004, 0, 11177, 0, 0], 10808], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 115, 117, 143, 166], [0, 3818, 7015, 0, 0, 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9133], [[18, 11, 38, 150, 150, 173, 120, 3, 173, 18, 54, 10, 150, 11, 11, 33, 122, 60, 153, 153], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 7170, 0, 11177, 0, 7485, 0, 0, 0, 6058, 0, 0, 0, 0], 11511], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 0, 3330, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11661], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653], [[18, 11, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 10, 118, 11, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 0, 4142, 0, 0, 0, 11177, 7170, 7010, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 11684], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4584, 4424, 0, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3185, 0, 0, 0, 11177, 7329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7182], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 10, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [7015, 3977, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6218, 7806, 6525, 0], 7416], [[11, 38, 18, 173, 173, 173, 150, 120, 11, 173, 173, 173, 3, 3, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 3010, 0, 0, 0, 0, 0, 0], 6333], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 173, 173, 173, 173, 173, 10, 122, 54, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 0, 7020, 11177, 0, 0, 0, 0, 0, 7486, 0, 0, 6378], 10261], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 10, 122, 54, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 7490, 7490, 0, 0, 0, 0], 12382], [[18, 11, 38, 150, 150, 54, 10, 33, 10, 122, 11, 11, 122, 40, 11, 122, 82, 60, 10, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [7015, 0, 3025, 0, 0, 0, 6525, 7005, 7485, 0, 0, 0, 0, 6060, 0, 0, 0, 0, 7967, 0], 11098], [[38, 173, 173, 173, 39, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2531, 0, 0, 0, 16028, 0, 0, 14579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4331], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7391], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12952], [[38, 18, 11, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6717], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 150, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7646, 7165, 0, 0, 0], 11851], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783], [[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 33, 10, 150, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 4127, 0, 0, 0, 0, 0, 0, 6525, 7806, 0, 0], 14102], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 3, 173, 173, 173, 173, 173, 10, 33], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 7967, 0, 0, 0, 0, 0, 7487, 7006], 17676], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 10, 60, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [2851, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 0, 0, 0, 7165, 7164, 0, 11177], 8655], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 54, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 6685, 0, 0, 7167, 0, 0], 14305], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17561], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11704], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12403], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 10, 173, 124, 124, 173, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 2544, 0, 0, 0, 11177, 0, 6687, 0, 0, 7967, 0, 0, 0, 0, 0, 0, 0, 0], 9094], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 11, 150, 3, 173, 173, 120, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 11177, 0, 0, 0], 7405], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 150, 150, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 6846, 0, 0, 0, 0, 0, 0], 8311], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33, 118], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7644, 0], 15764], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 10469], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [7015, 0, 3329, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 12344], [[18, 11, 38, 150, 173, 173, 173, 173, 120, 150, 18, 173, 173, 173, 173, 10, 118, 150, 150, 150], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 15515], [[18, 11, 38, 10, 173, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 150, 150, 150, 18, 150], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0], 15960], [[18, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 89, 113, 115, 117, 143, 146, 166], [6855, 7015, 0, 3004, 0, 0, 0, 0, 11177, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0], 11810], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4960], [[18, 11, 38, 3, 173, 173, 150, 150, 173, 173, 120, 124, 124, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18914], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0], 9606], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 150, 18, 3, 124, 124], [3, 10, 17, 34, 35, 48, 89, 109, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 2849, 0, 0], 11928], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 33, 33, 54, 11, 11, 122, 150, 10, 10, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 7164, 6525, 6061, 0, 0, 0, 0, 0, 7644, 6685, 0], 6886], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5066], [[18, 11, 38, 150, 150, 173, 120, 150, 150, 120, 10, 10, 173, 173, 173, 173, 173, 33, 173, 173], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [7015, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 6525, 7644, 0, 0, 0, 0, 0, 6682, 0, 0], 5966], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7006, 0, 0, 0, 0, 0, 0, 6524, 7645, 0, 0, 0], 8137], [[11, 38, 18, 11, 150, 10, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 1899, 7015, 0, 0, 4136, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17600], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 2530, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9769], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 120, 18, 3, 173, 173, 33, 124, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 4611, 0, 11177, 7006, 0, 0, 7486, 0, 0, 0, 0, 0], 5491], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 173, 120, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[18, 11, 38, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 30, 34, 48, 53, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3650, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0], 15354], [[18, 38, 11, 150, 150, 150, 120, 173, 173, 18, 3, 173, 124, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12966], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 8081], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 120, 150, 54, 10, 10, 33, 10, 122, 11, 11, 60], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [2690, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 7644, 7164, 6524, 0, 0, 0, 0], 9291], [[18, 38, 11, 150, 150, 54, 150, 33, 10, 11, 11, 150, 10, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 75, 110, 113, 114, 115, 130, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 7806, 7166, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 28797], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 11177, 0, 0, 6686, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 10, 10, 11, 11, 11, 20, 153, 153, 153, 122], [9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6524, 0, 0, 0, 1900, 0, 0, 0, 0], 9766], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7489, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8166], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 10, 150, 33, 33, 33, 11, 11, 122, 54, 173, 173], [9, 10, 17, 25, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 0, 7163, 0, 7643, 6683, 6683, 0, 0, 0, 0, 0, 0], 10034], [[38, 173, 173, 173, 173, 18, 173, 39, 173, 173, 150, 173, 39, 150, 150, 11, 11, 33, 120, 54], [10, 17, 30, 34, 48, 113, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 16028, 0, 0, 0, 0, 17457, 0, 0, 0, 0, 6524, 0, 0], 9239], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 150, 10, 33, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 11177], 12295], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7487, 0, 0, 0], 12065], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17908], [[18, 11, 38, 173, 173, 173, 150, 150, 3, 150, 54, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 19, 34, 35, 47, 48, 53, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38240], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 10, 33, 11, 11, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7644, 6683, 0, 0, 0, 0, 0, 0, 0], 9604], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 7015], 11501], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7788], [[11, 38, 18, 173, 150, 120, 150, 173, 173, 173, 173, 150, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3026, 0, 0, 0, 0], 7619], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6537], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 11, 33, 10, 11, 11, 122, 124, 54, 10], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 7646, 7165, 0, 0, 0, 0, 0, 6686], 6124], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 0, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 12979, 14418, 0, 0, 0, 0, 0, 0, 0, 0], 3732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 15060, 15383, 15060, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3446], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 18, 18, 173, 10, 118, 173, 173, 33, 11, 11], [9, 10, 17, 19, 30, 34, 48, 89, 111, 113, 114, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 4584, 4424, 0, 7004, 0, 0, 0, 7485, 0, 0], 8774], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 11, 11, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9298], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5756], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6299], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6526, 0, 0, 0, 0, 0, 0, 0, 7345, 0, 0, 0], 9811], [[38, 18, 173, 173, 150, 11, 150, 150, 10, 33, 10, 121, 11, 11, 11, 54, 120, 118, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 78, 110, 111, 113, 114, 115, 130, 139, 143, 166], [3979, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15271], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 10, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0], 12690], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 2533, 0, 0], 6553], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 10, 18, 10, 54, 33, 33, 11, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 11177, 6682, 0, 7161, 7162, 0, 0], 10037], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 10, 18, 33, 122, 150, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 11177, 7005, 0, 0, 0], 9506], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 3, 18, 10, 54, 122, 11, 11, 33, 150, 153], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6215, 11177, 6216, 0, 0, 0, 0, 6059, 0, 0], 23350], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 38, 11, 150, 150, 120, 18, 173, 150, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12012], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5466], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 166], [0, 1899, 0, 0, 0, 0, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8947], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 18, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 11177, 0, 0, 0], 20731], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[18, 38, 11, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9900], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 33, 33, 122, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 7006, 7005, 0, 0], 5613], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17073], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 11177, 0], 10654], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5403], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 173, 120, 150, 173, 150, 3, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0], 13893], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 9242], [[38, 11, 18, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 10, 10, 11, 10, 150], [9, 10, 17, 34, 111, 113, 114, 143, 166], [3979, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 3025, 2544, 0, 2544, 0], 8828], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8204], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 173, 3, 173, 173, 18, 124, 10, 11, 11, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 11177, 0, 2704, 0, 0, 0], 15240], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 54, 122, 150, 11, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6525, 0, 0, 7165, 0, 0, 0, 0, 0, 6525, 0, 0], 14119], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 11177, 7007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18394], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 0, 0, 0, 0, 0, 0, 0, 0], [9, 17, 30, 34, 143, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 11, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [1577, 0, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5245], [[38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 124, 150, 150, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 3818, 0, 0, 0, 0, 7015, 0, 0, 0, 11177, 0], 13219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 3, 173, 120, 18, 150, 10, 150, 122, 33, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1900, 0, 0, 11177, 0, 7806, 0, 0, 8616, 6525, 0], 11688], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582], [[38, 11, 11, 173, 173, 173, 3, 173, 173, 173, 124, 124, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 34, 117, 166], [3819, 0, 0, 0, 0, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3104], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 18, 18, 33, 33, 10, 122, 54, 11, 11, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 4127, 0, 0, 0, 0, 0, 0, 11177, 11177, 7345, 7806, 6683, 0, 0, 0, 0, 0, 0], 12202], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 173, 120, 150, 173, 173, 173, 173, 150, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 0, 7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0], 10533], [[38, 11, 18, 173, 173, 173, 173, 173, 150, 173, 150, 120, 150, 10, 173, 173, 3, 122, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [2531, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 0, 0, 7163, 0, 0, 0], 14862], [[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 173, 173, 173, 173, 18, 33, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6218, 0, 0, 0, 0, 0], 5367], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 150, 11, 11, 150, 120, 11, 18, 33, 10, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [1900, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 7644, 0, 7004], 13468], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 10, 173, 173, 150, 121, 173, 120, 10, 33, 33, 10, 173, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [7015, 0, 3164, 1899, 0, 0, 0, 0, 0, 0, 6525, 7806, 7806, 7326, 0, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6525, 6525, 0, 0, 0], 10056], [[18, 11, 38, 10, 10, 10, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3978, 4772, 4449, 3967, 3967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3562], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[11, 38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 33, 173, 173, 173, 173, 173, 11, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [0, 1900, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7169, 0, 0, 0, 0, 0, 0, 0, 0], 8514], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 150, 150, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9045], [[18, 11, 38, 150, 120, 18, 173, 173, 173, 3, 173, 173, 150, 10, 173, 124, 124, 173, 173, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 11177, 0, 0, 0, 7164, 0, 0, 0, 6685, 0, 0, 0, 0, 0, 6685], 8910], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 10, 124, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 6524, 0, 0, 0, 0, 0, 0, 0], 9999], [[38, 18, 150, 173, 173, 150, 150, 33, 10, 10, 11, 11, 11, 11, 18, 54, 122, 118, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 6524, 7644, 7164, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0], 14742], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 54, 11, 11, 122, 33, 150, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4141, 0, 0, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 6378, 0, 0, 0, 0], 12826], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14380], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 7015, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5821], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 33, 150, 11, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 6526, 0, 0, 0, 0], 10646], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 150, 173, 173, 18, 173, 173, 173, 33, 173, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6378, 0, 0, 0], 8491], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4148], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 173, 173, 173, 173, 173, 33, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6526, 6525, 0, 0, 0, 0, 0, 7005, 7806, 0, 0, 0, 0], 8687], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 173, 173, 3, 173, 173, 173, 33, 54, 153, 153, 153], [3, 10, 17, 30, 34, 35, 48, 55, 75, 139, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 3659, 0, 0, 3659, 0, 0, 0, 3025, 0, 0, 0, 0], 17221], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7204], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 124, 150, 10, 124, 124, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0, 0], 18158], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 11, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6676], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 120, 33, 10, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0, 0, 0, 0], 8695], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 150, 124, 33, 10, 54, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 6524, 7004, 0, 0, 0, 7644, 0], 10605], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 4424], 12303], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 113, 114, 115, 117, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7330, 0, 0, 0, 0], 12364], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 10, 33, 33, 11, 11, 118, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7643, 6841, 6681, 0, 0, 0, 0, 0, 0], 11908], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 150, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 115, 130, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643], 14568], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0], 12101], [[18, 38, 11, 150, 173, 150, 150, 150, 10, 33, 54, 122, 10, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 32003], [[38, 18, 173, 150, 11, 150, 150, 120, 33, 10, 10, 54, 11, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 6524, 7644, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11672], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 124, 124, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 0, 7005, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13317], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 173, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524], 16342], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 33, 173, 122, 150, 11, 11, 54, 153, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18125], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 4299, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23925], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 3, 173, 173, 124, 124, 124, 173, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 0], 16667], [[18, 11, 38, 150, 173, 150, 173, 173, 173, 120, 18, 33, 10, 11, 11, 122, 11, 150, 54, 10], [9, 10, 17, 19, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 143, 146, 155, 166], [7015, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 11177, 6526, 7006, 0, 0, 0, 0, 0, 0, 7486], 20729], [[18, 11, 38, 150, 150, 150, 173, 173, 120, 10, 121, 33, 10, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 113, 114, 115, 130, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7167, 0, 7806, 6527, 0, 0, 0, 0, 0, 0, 0], 20281]], "16176": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218]], "3015": [[[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/1758k.json b/dizoo/distar/envs/z_files/1758k.json deleted file mode 100644 index 3fd56699b4..0000000000 --- a/dizoo/distar/envs/z_files/1758k.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558, 2], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599, 2], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779, 2], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569, 2]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984, 2]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775, 2], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473, 2], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248, 2], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840, 1]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227, 2], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573, 2], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432, 1]], "20264": [[[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620, 2], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940, 2]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/3map.json b/dizoo/distar/envs/z_files/3map.json deleted file mode 100644 index 3fd56699b4..0000000000 --- a/dizoo/distar/envs/z_files/3map.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558, 2], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599, 2], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779, 2], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569, 2]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984, 2]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775, 2], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473, 2], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248, 2], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840, 1]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227, 2], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573, 2], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432, 1]], "20264": [[[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620, 2], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940, 2]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/7map_filter_spine.json b/dizoo/distar/envs/z_files/7map_filter_spine.json deleted file mode 100644 index f0fbdffd22..0000000000 --- a/dizoo/distar/envs/z_files/7map_filter_spine.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 173, 33, 11, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 21062, 16289, 0, 0, 0, 0, 0, 0, 0, 15496, 0, 0], 11957], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14085], [[18, 11, 38, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 173, 54, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 21062, 16604, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0, 0, 15654], 9080], [[38, 11, 173, 150, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [21899, 0, 0, 0, 0, 0, 0, 0, 20296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4496], [[38, 18, 173, 150, 11, 150, 150, 33, 120, 10, 10, 54, 11, 11, 11, 173, 173, 173, 118, 122], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [20296, 16294, 0, 0, 0, 0, 0, 16282, 0, 16762, 17402, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19422], [[11, 38, 18, 11, 150, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 21568, 16294, 0, 0, 0, 0, 0, 0, 16284, 16924, 17403, 0, 0, 0, 0, 0, 0, 0, 0], 8186], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16925, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 150, 11, 173, 173, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 16763, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 11, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13191], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 16124, 0, 0, 0, 0], 8746], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 54, 173, 173, 150, 121, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9733], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 10, 124, 124, 150, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 110, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 22529, 0, 0, 0, 0, 0, 21062, 0, 16283, 0, 16764, 0, 0, 0, 0, 17404, 0, 0], 26838], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8681], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21081, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6241], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 10, 33, 10, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16294, 0, 20296, 22377, 0, 0, 0, 0, 0, 0, 16283, 16764, 17403, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 10, 124, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12881], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 3, 173, 10, 150, 124, 122], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 15823, 0, 15342, 0, 0, 0], 19032], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 21406, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16764], 15081], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 22374, 0, 0, 0, 0, 0, 0, 22377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4233], [[38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 173, 33, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [21899, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 16761, 17402, 0, 0], 9152], [[11, 18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 173, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 113, 114, 115, 117, 139, 143, 146, 166], [0, 16294, 0, 20136, 0, 0, 0, 0, 21062, 0, 16283, 0, 0, 0, 0, 0, 16923, 0, 0, 0], 13327], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16294, 0, 20129, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 21899, 0, 0, 0, 0, 0, 0, 0, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4067], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 173, 173, 173, 173, 150, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16284, 0, 0, 0], 9434], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 11, 11, 54, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 109, 110, 113, 115, 117, 122, 139, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 17403], 18868], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 3, 173, 173, 173, 173, 11, 173, 33, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 16765, 0, 0, 0, 0, 0, 0, 16283, 0, 0], 12913], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16294, 0, 21087, 0, 0, 0, 21062, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6558], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16783, 15663, 0, 0, 15336], 21134], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 150, 173, 173, 124, 150, 11, 173, 124, 173, 173], [3, 9, 10, 17, 19, 34, 35, 43, 45, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 155, 166], [16294, 0, 20135, 0, 0, 0, 0, 0, 16289, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24041], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [20296, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 16449, 21062, 0, 0, 0, 0, 0, 0, 0, 0], 14567], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 16284, 0, 0, 0, 0, 0, 0], 9926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 124, 10, 173, 150, 173, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 65, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21741, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 16440, 0, 0, 0, 0, 16597, 0], 25769], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 11, 150, 54, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 115, 117, 143, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 0], 8242], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 173, 173, 173, 173, 33, 11, 11, 153, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 15331, 0, 0, 0, 0], 8246], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 86, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 0, 21062, 0, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29763], [[38, 173, 173, 173, 173, 173, 39, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21087, 0, 0, 0, 0, 0, 3231, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4437], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146], [16294, 0, 21568, 0, 0, 0, 21062, 0, 16281, 16438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9521], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 21245, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 11599], [[18, 11, 38, 10, 150, 150, 173, 173, 121, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [16294, 0, 21247, 20296, 0, 0, 0, 0, 0, 0, 21062, 16129, 0, 0, 0, 0, 0, 0, 0, 0], 9265], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 18, 3, 173, 173, 173, 173, 11, 150, 173, 0, 0], [3, 10, 17, 34, 113, 143, 166], [21242, 0, 16294, 0, 0, 0, 0, 0, 0, 21062, 16125, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5166], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 173, 150, 122, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29739], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 20296, 0, 0, 0, 0, 0, 21087, 0, 0, 0, 0, 0, 0, 16294, 0, 0, 0, 0, 0], 14449], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 13738], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 173], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16764, 0], 14999], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 150, 10, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0], 16648], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 0, 21062, 0, 16604, 0, 0, 0, 0, 0, 0, 0, 0], 16568], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [22375, 0, 0, 0, 0, 0, 0, 0, 4179, 3862, 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12311], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 173, 173, 122, 124, 33, 173, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 16283, 0, 0, 16764, 0, 0, 0, 0, 17402, 0, 0, 0], 26418], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 124, 18, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21899, 0, 0, 0, 0, 0, 21567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16294, 0, 0], 5946], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20927, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16925, 0, 0, 0], 11599]], "2899": [[[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19011, 0, 19011, 0, 19498, 0, 0, 0, 0, 0, 0, 0, 0], 4161], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7066, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8744], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 10, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0], 9932], [[18, 11, 38, 150, 150, 54, 150, 11, 33, 27, 153, 153, 153, 153, 153, 153, 153, 153, 153, 28], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [7697, 0, 3695, 0, 0, 0, 0, 0, 6571, 8495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20243], 11440], [[11, 38, 38, 18, 150, 173, 120, 150, 10, 118, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [0, 2092, 2092, 7697, 0, 0, 0, 0, 1617, 0, 2929, 0, 6584, 0, 0, 0, 0, 0, 0, 0], 7702], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15331], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7697, 0, 2904, 0, 0, 0, 2929, 8026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5667], [[11, 38, 150, 173, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2424, 0, 0, 0, 0, 0, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3844], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 10, 150, 121, 118, 173, 173, 173, 173], [9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [7697, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 2929, 7223, 7703, 0, 0, 0, 0, 0, 0, 0], 16310], [[18, 11, 38, 150, 150, 173, 10, 150, 118, 33, 120, 173, 173, 173, 173, 173, 173, 18, 173, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 6901, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0, 2929, 0, 0], 9739], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 124, 173, 173, 173, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7697, 0, 3209, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7511], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 10, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0], 21184], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19013, 19175, 19659, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3532], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 10, 150, 118, 18, 11, 33, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 43, 47, 48, 55, 67, 89, 111, 112, 113, 114, 143, 146, 153, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 2929, 7708, 7708, 0, 0, 3545, 0, 1616, 0, 0, 0], 19323], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 10, 54, 122, 33, 11, 11, 150, 60, 82, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 0, 0, 0, 0, 0, 0], 13751], [[11, 38, 173, 150, 120, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3695, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4334], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 173, 173, 173, 173, 173, 3, 10, 150, 121, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 8007, 6571, 0, 0, 0], 11501], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 0, 19973, 19971, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4282], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7708, 7227, 0, 0, 0], 9687], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 173, 124, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 2729, 0, 0, 0, 2929, 7708, 0, 0, 0, 7551, 0, 0, 0, 0, 0, 0, 0, 0], 9593], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3063, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12537], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3855, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0], 13972], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7697, 0, 2589, 0, 0, 0, 0, 2929, 7227, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 13032], [[18, 11, 38, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 11, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7864, 0, 0, 7224, 0], 7549], [[18, 11, 38, 18, 150, 120, 150, 173, 173, 173, 173, 150, 33, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7697, 0, 3695, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 7994], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 19011, 0, 0, 0, 0, 19337, 19332, 19331, 0, 0, 0, 0, 0, 0, 0], 3774], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1616, 0, 0, 0, 0, 0, 3696, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6098], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 18, 124, 124, 173, 173, 150, 10, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 0, 7702, 0, 2929, 0, 0, 0, 0, 0, 7553, 0], 13276], [[18, 11, 38, 150, 150, 173, 173, 173, 54, 150, 120, 10, 11, 11, 121, 11, 33, 10, 173, 40], [9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 139, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 7228, 6589, 0, 2093], 21142], [[11, 38, 18, 11, 150, 150, 120, 150, 173, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 2903, 7697, 0, 0, 0, 0, 0, 0, 8816, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10941], [[18, 11, 38, 120, 150, 150, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10335], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 122, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 2929, 7707, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 12733], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 64, 75, 107, 109, 110, 111, 113, 115, 122, 143, 146, 166], [7697, 0, 3859, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 7551], 19874], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3049, 7697, 0, 0, 0, 0, 0, 0, 3856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 33, 11, 11, 10, 11, 11, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [3695, 0, 0, 0, 0, 7697, 0, 0, 0, 0, 0, 7709, 7069, 0, 0, 6588, 0, 0, 0, 0], 11957], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 173, 173, 122, 150, 173, 54, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 20021], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 33, 173, 173, 11, 153, 153, 153], [3, 10, 17, 30, 34, 113, 143, 146, 166], [7697, 0, 1773, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0], 7269], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 122, 82, 18, 153, 27, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 7709, 7229, 0, 0, 0, 0, 2929, 0, 6570, 0, 0], 13232], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 173, 173, 54, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 2929, 7386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7866], 11365], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 124, 124, 124, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20124], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 11, 173, 150, 173, 173, 54], [3, 10, 17, 34, 35, 48, 109, 113, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11308], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 173, 173, 173, 173, 173, 173, 11, 18, 3], [3, 9, 10, 17, 19, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7697, 0, 2424, 0, 0, 0, 1617, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2929, 3066], 15230], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19329, 19171, 19013, 19329, 0, 0, 0, 0, 0, 0, 0, 0], 5343], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3549, 0, 0, 0, 2929, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0], 10345], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 124, 124, 11, 11, 33, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 6588, 0, 0], 9267], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 10, 33, 173, 173, 173, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 7227, 0, 0, 0, 0, 0], 15065], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3064, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10436], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 54, 11, 11, 150], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7697, 0, 2423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 7386, 0, 0, 0, 0, 0, 0, 0, 0], 10479], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 150, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7697, 0, 1932, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 6571, 0, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 118, 33, 173, 173, 173, 173, 11, 11, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [7697, 0, 2423, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0, 0], 9357], [[18, 11, 38, 150, 150, 173, 173, 120, 11, 18, 3, 173, 173, 173, 173, 173, 173, 11, 11, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10495], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 124, 124, 124, 173, 173, 150], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7697, 0, 3049, 0, 0, 0, 0, 0, 2929, 0, 0, 6571, 0, 0, 0, 0, 0, 0, 0, 0], 19970], [[38, 173, 173, 173, 150, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3049, 0, 0, 0, 0, 0, 0, 0, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 10, 118, 18, 120, 173, 173, 173, 54, 11, 11, 173, 150, 3, 173, 173], [3, 9, 10, 17, 18, 22, 25, 26, 34, 48, 50, 111, 113, 114, 117, 130, 143, 166], [7697, 0, 3695, 0, 0, 2092, 0, 6748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0], 11245], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 11, 150, 124, 11, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 89, 109, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [3230, 0, 7697, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 29570], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 10, 33, 11, 11, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 2929, 7708, 0, 0, 7227, 6588, 0, 0, 0, 0, 0, 0, 0], 9863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [7697, 3695, 0, 0, 0, 0, 0, 0, 0, 2929, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0], 34015], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7066, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 10, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 7227, 0, 0, 0, 0], 11599]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 124, 124, 173, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 6525, 0, 0, 0], 15926], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0], 8632], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 11177, 0, 0], 14732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0, 0], 12880], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10, 122], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0], 11272], [[18, 11, 38, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0, 0, 0], 11423], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3331, 7015, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7325], 12952], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 10, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 12690], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 150, 124, 124, 10, 33, 122, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 55, 56, 64, 75, 78, 83, 85, 86, 89, 107, 109, 110, 111, 112, 113, 114, 115, 117, 122, 130, 132, 143, 146, 155, 166], [7015, 0, 3665, 0, 0, 0, 4424, 0, 7004, 0, 0, 0, 0, 0, 0, 6524, 7644, 0, 0, 0], 44372], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 11599], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 11599], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044]], "16176": [[[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12183], 9284], [[38, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 173, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0, 0], 14663], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 166], [0, 15851, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4840], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 118, 173, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 150, 10, 124, 11, 11, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 12986, 0, 0, 0, 0, 12506], 18377], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 150, 19, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 16006, 0, 0, 0, 0], 15992], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[11, 38, 18, 173, 173, 173, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 15692, 12496, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 33, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153, 62, 62, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 10, 10, 33, 118, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 78, 83, 89, 111, 112, 113, 114, 115, 130, 143, 155, 166], [12496, 0, 15692, 16166, 0, 0, 0, 0, 0, 0, 11705, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 20746], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 18, 122, 10], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 8334, 0, 11864], 10824]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 38, 11, 150, 150, 150, 11, 10, 54, 33, 122, 150, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [5933, 2891, 0, 0, 0, 0, 0, 6901, 0, 6423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7657], [[38, 18, 173, 173, 11, 150, 150, 54, 33, 11, 27, 150, 150, 153, 153, 153, 153, 153, 153, 28], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6738, 0, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 20244], 5973], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3051, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6425, 6900, 0, 0, 0], 9599], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 19774, 0, 0, 0, 18662, 18664, 18986, 18984, 0, 0, 0, 0, 0, 0, 0, 0], 4862], [[18, 38, 150, 150, 173, 150, 11, 11, 173, 150, 54, 10, 10, 11, 11, 118, 121, 40, 120, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [5933, 3051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6264, 7062, 0, 0, 0, 0, 1607, 0, 0], 11639], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911], [[18, 38, 11, 11, 173, 173, 173, 150, 173, 150, 173, 173, 173, 173, 120, 18, 150, 11, 33, 11], [10, 17, 30, 34, 55, 113, 143, 146, 166], [5933, 2891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 6725, 0], 11213], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5412], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 10, 120, 18, 122, 33, 11, 11, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2891, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6425, 0, 10731, 0, 6901, 0, 0, 0], 10608], [[38, 18, 11, 150, 173, 150, 150, 150, 41, 54, 10, 11, 11, 33, 122, 18, 82, 153, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 78, 83, 89, 111, 115, 117, 130, 139, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6411, 0, 6103, 0, 0, 6420, 0, 10731, 0, 0, 0, 0], 20735], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 10, 33, 173, 173, 173, 150, 150, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [1618, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 7062, 6901, 6264, 0, 0, 0, 0, 0, 0], 9806], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5025], [[38, 18, 173, 173, 173, 173, 173, 11, 150, 150, 150, 120, 3, 10, 33, 173, 173, 173, 121, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [1766, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 970, 6901, 6103, 0, 0, 0, 0, 0], 6360], [[38, 18, 11, 173, 173, 173, 150, 173, 173, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [1766, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6583, 6742, 6264, 0, 0, 0, 0, 0], 10358], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 118, 11, 11, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [5933, 0, 2420, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 6419, 0, 0, 0, 0, 0, 0, 0], 9241], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 2891, 0, 0, 0, 0, 0, 2420, 0, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0], 3856], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [1619, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6113], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 11, 120, 173, 173, 150, 173, 173, 11, 11, 10, 54], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [0, 2891, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6900, 0], 8574], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 18, 120, 33, 54, 10], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 110, 111, 113, 115, 139, 143, 146, 166], [2891, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 6900, 0, 6421], 17207], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 54, 150, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 0, 10731, 6900, 0, 0, 0, 6103, 0, 0, 0, 0], 10326], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2891, 5933, 0, 0, 0, 0, 0, 815, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5432], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 18, 122, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 6582, 6899, 0, 0, 0, 10731, 0, 0], 11219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 150, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 10731, 6901, 0, 0, 0, 6421, 0, 0, 0, 0, 0, 0], 9808], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 120, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1619, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3879], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6900, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 150, 150, 11, 11, 10, 11, 54, 33, 122, 18, 11], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [1619, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 6584, 0, 10731, 0], 12062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 3568, 6099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12467], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 54, 122, 33, 11, 11, 118, 18, 82, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 130, 143, 146, 155], [5933, 0, 2891, 2419, 0, 0, 0, 0, 0, 6103, 0, 0, 6900, 0, 0, 0, 10731, 0, 0, 0], 22996], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 3, 121, 3, 11, 150, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 6901, 6423, 0, 6103, 0, 0, 0, 0, 0, 0], 11364], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2266, 0, 0, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9399], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [5933, 0, 2891, 3371, 0, 0, 0, 0, 0, 6900, 5943, 0, 0, 0, 0, 0, 0, 0, 0, 10731], 8573], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 0, 0, 0, 18823, 18985, 18827, 18665, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 11, 122, 54, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [5933, 0, 2891, 0, 0, 0, 0, 10731, 6582, 0, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 5943], 15227], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [5933, 3700, 0, 0, 0, 0, 0, 0, 10731, 0, 0, 0, 0, 0, 0, 0, 4969, 0, 5923, 0], 13515], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [815, 0, 0, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6047], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54], [9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 143, 146, 166], [5933, 1606, 0, 0, 0, 0, 0, 6103, 6899, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10959], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 0, 10731, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15865], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 11, 11, 11, 54, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 111, 113, 115, 130, 143, 146, 155, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17155], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 11599], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [5933, 0, 3051, 0, 0, 0, 0, 0, 0, 2245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166, 155, 56], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166, 47], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166, 47, 48], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11599], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 122, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11599]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/NewRepugnancy.json b/dizoo/distar/envs/z_files/NewRepugnancy.json deleted file mode 100644 index ce0feaaa96..0000000000 --- a/dizoo/distar/envs/z_files/NewRepugnancy.json +++ /dev/null @@ -1 +0,0 @@ -{"NewRepugnancy": {"zerg": {"16176": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 4934, 4934, 0, 4772, 0, 0, 0, 0, 0, 0, 0, 0], 3718], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3585], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124, 0, 0, 0, 0, 0], [3, 10, 34, 117, 143, 166], [15692, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4024], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3952], [[38, 18, 173, 173, 173, 150, 173, 150, 173, 173, 150, 11, 11, 10, 33, 10, 150, 10, 10, 10], [9, 10, 17, 30, 34, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 12347, 0, 12184, 12664, 11704], 5939], [[38, 11, 150, 173, 173, 173, 39, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 0, 3164, 0, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0], 6519], [[38, 18, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 54, 33, 173, 173, 150, 173, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [15851, 12496, 0, 0, 0, 0, 0, 15087, 12341, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0], 6607], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 11, 11, 10, 33, 11, 122, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12827, 0, 0, 0], 7122], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 33, 11, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 7705], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 150, 173, 10, 33, 173, 120, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16981, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 0], 7701], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750], [[11, 11, 38, 18, 173, 173, 173, 150, 120, 11, 3, 150, 150, 173, 124, 124, 18, 11, 173, 173], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 0, 15852, 12496, 0, 0, 0, 0, 0, 0, 16979, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8350], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 10, 118, 33, 11, 11, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 16011, 0, 0, 0, 0, 8334, 12661, 0, 0, 0, 12661, 0, 13452, 0, 0, 0, 0, 0, 0], 8009], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 10, 10, 10, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 11867, 12507, 12507, 12504, 12507, 0], 8924], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15377, 0, 0, 0, 0, 0], 9226], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 9629], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284], [[18, 38, 11, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 118, 150], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0], 9365], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 0, 0], 8957], [[18, 38, 11, 150, 150, 11, 11, 11, 150, 33, 18, 120, 11, 10, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16646, 0, 0, 0, 0, 0, 0, 0, 12830, 8334, 0, 0, 11869, 0, 0, 0, 0, 0, 0], 10057], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16967, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 0, 0, 0], 6653], [[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[11, 38, 11, 18, 150, 173, 173, 150, 11, 150, 33, 33, 11, 120, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 15850, 0, 12496, 0, 0, 0, 0, 0, 0, 12984, 13613, 0, 0, 0, 0, 0, 0, 0, 0], 9988], [[18, 11, 38, 173, 173, 173, 173, 150, 41, 10, 10, 33, 11, 11, 122, 54, 10, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 13296, 11705, 11705, 12346, 0, 0, 0, 0, 12826, 8334, 0, 0], 10450], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 121, 11], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12668, 0, 0], 9425], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 173, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4155], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 15851, 0, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3978], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 17771, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11024], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 10, 124, 124, 173, 11, 11], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 12505, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0], 8190], [[38, 18, 11, 173, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 18, 3, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17773, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0], 10677], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10988], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 12346, 12186, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8423], [[38, 11, 18, 173, 173, 173, 150, 11, 150, 150, 10, 54, 33, 10, 10, 11, 122, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12829, 12506, 12506, 0, 0, 0, 0, 0], 9614], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 16980, 0, 0, 0, 0, 16341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15007], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 18, 33, 10, 3, 33, 10, 10, 10], [3, 9, 10, 17, 25, 30, 34, 48, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 15087, 11867, 12987, 12507, 11867, 12507, 12344, 12824], 11754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 10, 82, 60, 18, 118], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12186, 0, 0, 12984, 0, 0, 15087, 0], 11924], [[38, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 150, 150, 10, 10, 33, 11, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12026, 11705, 12186, 0, 0, 0, 0], 11612], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11369, 0, 0, 0, 0], 6270], [[38, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0], 4354], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5043], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 33, 3, 153, 153, 153], [3, 10, 17, 19, 30, 34, 48, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 12966, 17775, 0, 0, 0], 14062], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 11, 120, 173, 3, 173, 18, 124, 124, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 8334, 0, 0, 12346], 6799], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 150, 10, 150, 122, 54, 33, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 12496, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 16010, 0, 0, 0, 15530, 0], 13768], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 33, 10, 173, 0, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12828, 0, 0, 0, 0], 9349], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 8334, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13034], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 173, 173, 150, 18, 173, 173, 173, 150, 150, 150, 54], [10, 17, 34, 48, 113, 143, 166], [12496, 0, 16010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 7503], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 143, 146, 166], [16012, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 12828, 12828, 12825], 7711], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 150, 10, 173, 173, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 12278], [[38, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 121, 153, 18, 18, 173], [9, 10, 17, 30, 34, 48, 55, 111, 113, 114, 115, 143, 146, 166], [16010, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 0, 0, 0, 15536, 8334, 0], 14420], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 15087, 11865, 0, 0, 0, 0, 0, 0, 12506, 0, 0, 0], 8774], [[18, 11, 38, 150, 150, 120, 150, 54, 173, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 19, 25, 26, 30, 34, 48, 64, 75, 107, 111, 113, 115, 132, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14010], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 54, 122, 11, 11, 33, 33, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 12345, 12829, 12506, 12183], 8528], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 41, 10, 54, 33, 11, 11, 122, 18, 150, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 89, 115, 130, 139, 143, 146, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 0, 0, 11852, 11705, 0, 12185, 0, 0, 0, 15087, 0, 0], 14410], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 173, 10, 33, 10, 18, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12508, 12987, 15087, 0], 10194], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5942], [[18, 11, 38, 150, 150, 3, 173, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 120, 18], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 7535], [[18, 11, 38, 18, 120, 150, 120, 150, 173, 173, 173, 173, 173, 173, 150, 173, 173, 10, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16807, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 12966], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 12026, 0, 0, 0, 0], 6421], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907], [[18, 11, 38, 150, 150, 173, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16979, 0, 0, 0, 0, 0, 12501, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7122], [[38, 11, 173, 173, 173, 173, 173, 120, 150, 173, 173, 18, 150, 150, 18, 3, 10, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 8334, 16661, 11867, 12828, 0, 0], 8596], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 17776, 0, 0, 0, 0, 0, 0, 16981, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0], 4135], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 8334, 12021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15766], [[18, 11, 38, 150, 150, 120, 173, 41, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 0, 13136, 8334, 12025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6160], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7400], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 3324, 0, 0, 0, 4613, 4772, 0, 4774, 5097, 0, 0, 0, 0, 0, 0], 3487], [[18, 11, 38, 150, 150, 10, 173, 118, 18, 120, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 18095, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 17903], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[11, 18, 11, 38, 150, 150, 150, 54, 11, 10, 33, 11, 122, 82, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 11705, 12185, 0, 0, 0, 13452, 0, 0, 0, 0, 0], 10364], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 33, 11, 11, 11, 54, 122, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [16981, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11866, 12346, 0, 0, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 33, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 12346, 0], 9061], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 10, 153, 153, 153, 82, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146], [12496, 0, 16981, 0, 0, 0, 0, 0, 11705, 11705, 12986, 0, 0, 0, 12185, 0, 0, 0, 0, 8334], 16660], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 150, 3, 3, 173, 173, 173, 10, 18, 122, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12500, 11705, 0, 0, 0, 11705, 8334, 0, 0], 9159], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 54, 10, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 12505, 0, 0, 8334], 11142], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 10, 173, 173, 173, 173, 173, 173, 118, 11, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 15693, 0, 0, 0, 0, 0, 12986, 12346, 12506, 12026, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8370], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10558], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 173, 150, 10], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12506], 7798], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 121, 18, 173, 173, 173, 173, 173, 173, 3, 3, 11], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 15696, 15536, 0], 7008], [[18, 11, 38, 150, 150, 120, 41, 41, 173, 173, 11, 173, 173, 41, 41, 41, 3, 71, 10, 18], [3, 9, 10, 17, 30, 34, 55, 64, 111, 113, 143, 146, 166], [12496, 0, 17142, 0, 0, 0, 13133, 12813, 0, 0, 0, 0, 0, 13299, 12980, 12501, 16184, 0, 12984, 8335], 9629], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 60, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 11867, 0, 0, 0, 8335, 0, 0], 13936], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 11, 11, 11, 120, 173, 173, 173], [9, 10, 17, 18, 30, 34, 48, 89, 111, 113, 114, 130, 143, 166], [15696, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 12986, 12506, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 10, 10, 33, 118, 121, 120, 11, 11, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 111, 113, 114, 130, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 0], 11485], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 33, 173, 173, 173, 173, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 8334, 0, 0, 13612, 0, 0, 0, 0, 0, 0, 0, 0], 7361], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 3, 3, 173, 173, 173, 150, 120, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 15062, 16501, 0, 0, 0, 0, 0, 0, 0, 12496], 14485], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16807, 16807, 0, 0, 0, 0, 8334, 12507, 0, 0, 0, 0, 0, 0, 0, 12026, 0, 0], 8322], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 173, 124, 124, 10, 10, 10, 11, 122], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 53, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [12496, 0, 17936, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 12668, 12668, 11867, 0, 0], 17375], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11642], [[18, 11, 38, 38, 150, 150, 173, 173, 150, 11, 120, 54, 33, 10, 10, 11, 11, 10, 122, 153], [9, 10, 17, 18, 19, 25, 26, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 0, 0, 12663, 0, 0], 25754], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10615], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 11705, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11135], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 33, 122, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11865, 0, 0, 0, 12505, 0, 0, 0], 10810], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 11, 11, 11, 33, 33, 10, 27, 82, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11869, 11868, 12349, 13617, 0, 0], 19565], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 150, 11, 11, 150, 120, 10, 33, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 11867, 0], 11282], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 10, 54, 33, 122, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [16011, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12829, 0, 15087], 19798], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 10, 121, 33, 120, 18, 11, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 12346, 12186, 0, 12828, 0, 8334, 0, 0, 0, 0], 9545], [[38, 173, 173, 173, 150, 173, 173, 18, 150, 11, 150, 120, 3, 18, 173, 173, 173, 10, 10, 10], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 17934, 15087, 0, 0, 0, 11866, 12346, 12987], 11282], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 10, 150, 173, 173, 33, 118, 173, 173, 173, 173, 173, 173, 11, 153], [9, 10, 17, 18, 30, 34, 48, 55, 75, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 16011, 0, 0, 8334, 11705, 0, 0, 0, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16660], [[38, 11, 18, 150, 173, 120, 150, 10, 96, 18, 121, 11, 11, 33, 150, 54, 11, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 16967, 0, 15087, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10430], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 150, 173, 173, 150, 33, 33, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 11867, 0, 0, 0], 10290], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 150, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 12506, 0, 0, 0, 0], 21568], [[38, 11, 11, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17611, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5300], [[38, 11, 18, 173, 173, 150, 173, 3, 173, 150, 120, 18, 33, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 139, 143, 146, 166], [15692, 0, 12496, 0, 0, 0, 0, 15537, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0], 12475], [[38, 173, 173, 173, 173, 18, 11, 173, 173, 150, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16500, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6048], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 150, 121, 118], [3, 9, 10, 17, 30, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [12496, 0, 16343, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 17084], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 15698, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8977], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 60, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 8964], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17775, 0, 0, 0, 0, 0, 0, 17462, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7947], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 120, 10, 118, 33, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 0, 12348, 0, 0], 13899], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 150, 10, 54, 33, 11, 11, 122, 18, 153, 153], [9, 10, 17, 18, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12507, 0, 0, 0, 8334, 0, 0], 10561], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10790], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865], 10402], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3623], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0, 0, 0], 11221], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4129], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 150, 54, 10, 33, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 16967, 0, 0, 0, 0, 0, 0, 0], 4397], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 10, 124, 173, 33, 122, 11, 11], [0, 3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 15376, 0, 0, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 11866, 0, 0, 12984, 0, 0, 0], 12429], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 54], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9511], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328], [[18, 11, 38, 38, 150, 150, 173, 173, 120, 150, 54, 10, 33, 10, 11, 11, 10, 10, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16979, 16980, 0, 0, 0, 0, 0, 0, 0, 12986, 12986, 12346, 0, 0, 11866, 11867, 0, 0], 9570], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 173, 118, 11, 11, 33, 54, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0], 14724], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [16826, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 12024, 0, 0, 0], 9663], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 173, 173, 150, 173, 173, 173, 150, 120, 18, 10, 54, 11, 11, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 12346, 0, 0, 0], 11734], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 12987, 12347, 11867, 0, 0, 0, 0], 13219], [[11, 38, 18, 173, 150, 120, 33, 173, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 17772, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 8334, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6337], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 173, 118, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 6969], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6300], [[11, 38, 150, 173, 173, 173, 120, 173, 173, 18, 173, 150, 11, 173, 150, 150, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16486, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6561], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16980, 16012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4495], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6414], [[38, 173, 173, 173, 11, 173, 18, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16501, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 11, 38, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 15534, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12857], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 10, 124, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 12186, 0, 0, 0, 0, 0, 0, 11212], 9832], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10109], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4008], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 34, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 16982, 0, 0, 0, 0, 0, 0, 0, 0], 5553], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147], [[11, 38, 18, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11970], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 18, 173, 173, 3, 173, 150, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 15852, 0, 0, 0, 0, 0], 11260], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15533, 0, 0, 0, 0, 0, 12341, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9068], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 11864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10377], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3805], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 0, 0, 14735, 0, 0, 0, 0, 0, 0, 0, 0], 13135], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7676], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9650], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 54, 10, 11, 11, 121, 150, 11, 40, 40, 173, 173], [9, 10, 17, 18, 34, 35, 48, 110, 113, 114, 139, 143, 166], [12496, 0, 15693, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 11052, 11848, 0, 0], 11413], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 41, 120, 18, 173, 173, 10, 54, 11, 33], [9, 10, 17, 19, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 8334, 0, 0, 12828, 0, 0, 12347], 22952], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5747], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 12346, 0, 0, 0], 9966], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 173, 173, 173, 10, 33, 33, 33, 54], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16806, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11868, 12829, 12829, 12829, 0], 7811], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 120, 124, 124, 173, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 17775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5406], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079], [[38, 18, 173, 173, 173, 150, 39, 173, 150, 150, 39, 150, 11, 11, 33, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 3004, 0, 0, 0, 3004, 0, 0, 0, 11868, 11867, 12830, 0, 0, 0], 8596], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 17939, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 13984], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6923], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15532, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16026, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 12827, 0, 11705], 14875], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497], [[11, 38, 18, 120, 173, 173, 173, 173, 150, 150, 150, 10, 33, 10, 33, 173, 173, 173, 173, 0], [9, 10, 17, 30, 34, 113, 143, 166], [0, 17776, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12986, 12185, 0, 0, 0, 0, 0], 5408], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 64, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 0, 16967, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20391], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 0, 0, 0, 0, 0, 0], 12681], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0], 5277], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 33, 33, 11, 11, 10, 10, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12986, 12986, 0, 0, 12346, 11866, 0, 0, 0, 0, 0], 12097], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10808], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 10, 10, 124, 11, 54, 122, 11, 96], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 12824, 12824, 0, 0, 0, 0, 0, 0], 12527], [[38, 11, 18, 173, 173, 173, 150, 10, 173, 121, 120, 150, 173, 173, 173, 173, 150, 18, 3, 150], [3, 9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 16166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 16341, 0], 7462], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705], 9861], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 10, 33, 10, 121, 118, 120, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [17288, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 12985, 12505, 11866, 0, 0, 0, 0, 0], 15366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 173, 173, 173, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 12185], 11773], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647], [[18, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [12496, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4730], [[38, 11, 11, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 39, 39, 39], [3, 9, 10, 17, 18, 22, 25, 26, 34, 35, 48, 50, 89, 110, 113, 117, 130, 139, 143, 166], [15692, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7012, 6692, 6692, 4611, 4774], 24126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4244], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16661, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496], 5203], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 150, 118, 173, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12984, 0], 8878], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16697], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 54], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 12665, 0, 0, 0], 16760], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12986, 0, 0], 18377], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 33, 10, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11705, 12345, 0, 0, 0, 12022, 11222, 0, 0], 12518], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 33, 10, 10, 11, 11, 54, 122, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 0, 8334, 0, 12984, 11705, 11705, 0, 0, 0, 0, 12185, 0, 12502, 0], 6415], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 150, 54, 10, 33, 11, 18], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12830, 11869, 0, 15087], 15698], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 114, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 12351], [[38, 18, 11, 150, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 33, 54, 10, 10], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15087, 11867, 0, 12347, 12986], 10116], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4587], [[18, 18, 11, 38, 38, 150, 150, 120, 173, 173, 18, 173, 173, 3, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 12496, 0, 16166, 16006, 0, 0, 0, 0, 0, 8334, 0, 0, 16486, 0, 0, 0, 0, 0, 0], 5520], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 3, 150, 18, 54, 11, 40, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 139, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0, 12496, 0, 0, 16647, 0, 0], 16343], [[11, 18, 11, 38, 173, 173, 150, 173, 173, 150, 3, 3, 173, 173, 173, 10, 173, 0, 0, 0], [3, 9, 10, 17, 34, 143, 166], [0, 12496, 0, 16967, 0, 0, 0, 0, 0, 0, 15534, 15852, 0, 0, 0, 16978, 0, 0, 0, 0], 4672], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11056], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3803], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3795], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 3, 3, 10, 11, 11, 54, 33, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 11705, 11705, 15534, 0, 0, 0, 15698, 0], 13188], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5254], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 173, 173, 18, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 16821, 0, 0, 12496, 0, 0, 0, 0, 0, 0], 7077], [[11, 38, 18, 150, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4872], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 13452, 0, 0, 0, 0], 8060], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 18, 150, 150, 120, 10, 11, 118, 173, 173, 33, 173, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [12496, 0, 16981, 12028, 0, 0, 0, 12829, 0, 0, 0, 0, 13292, 0, 0, 0, 0, 0, 0, 0], 6386], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 173, 173, 173, 173, 122, 118, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 11867, 12987, 12507, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8661], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 12496, 0, 16661, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10138], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 150, 10, 10, 10, 10, 10, 10, 0], [9, 10, 17, 34, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 12348, 11865, 11705, 12827, 0], 5180], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4456], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 173, 173, 173, 173, 122, 33, 150, 173, 11], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 9647], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 150, 11, 11, 10, 33, 54, 10, 10, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 12346, 12347, 0], 9747], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9245], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 173, 173, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12828, 0, 0, 11704, 12184], 11686], [[18, 11, 38, 150, 150, 120, 173, 173, 150, 18, 150, 173, 173, 173, 173, 173, 173, 3, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0], 5194], [[18, 11, 38, 150, 173, 173, 150, 120, 3, 18, 173, 33, 173, 11, 11, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 0, 12341, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0], 11299], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 33, 54, 122, 10, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 11868, 0, 0, 0, 0, 0, 0, 0], 10634], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[18, 38, 11, 18, 150, 150, 10, 33, 11, 118, 11, 120, 18, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [12496, 16981, 0, 12027, 0, 0, 12828, 13292, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0], 8691], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824], [[18, 11, 38, 10, 173, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 64, 113, 114, 143, 146, 166], [12496, 0, 16981, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 0, 0], 12363], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 124, 124, 173, 173, 173, 173, 150, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7721], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11686], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 155, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[38, 11, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15694, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4149], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16342, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11847, 0, 0, 0], 10725], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624], [[18, 11, 38, 150, 150, 120, 173, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 122, 71, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 173, 173, 173, 173, 173, 10, 33, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 16646, 0], 7433], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 150, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12419], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7223], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0], 6270], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 71, 10, 33, 10, 11, 11, 122, 10, 153, 153], [0, 9, 10, 17, 30, 34, 35, 48, 64, 75, 110, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12347, 12987, 0, 0, 0, 12664, 0, 0], 10284], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4303], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 54, 11, 33, 153, 153, 153, 27], [10, 17, 25, 26, 30, 34, 48, 55, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16646, 0, 0, 0, 14891], 7421], [[11, 38, 173, 173, 173, 173, 120, 173, 150, 173, 173, 3, 3, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 16807, 0, 0, 0, 0, 0, 0, 0], 6749], [[11, 38, 18, 54, 173, 173, 11, 3, 150, 27, 150, 173, 173, 173, 124, 124, 124, 124, 173, 28], [3, 10, 17, 25, 26, 34, 48, 117, 143, 166], [0, 15692, 12496, 0, 0, 0, 0, 16807, 0, 15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3154], 7560], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 124, 124, 122, 150, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16823, 17142, 0, 0, 0, 0, 8334, 12985, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0], 8792], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 150, 124, 124, 122, 173, 173, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12985, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12930], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 121, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 83, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14018], [[18, 11, 38, 173, 150, 173, 173, 120, 150, 150, 10, 33, 173, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [12496, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 0, 0], 8682], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6820], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 0, 8334, 13449, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15673], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 9120], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 0, 13293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864], 12426], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11783], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 10, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0], 11089], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 124, 10, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0], 8282], [[18, 11, 38, 38, 3, 150, 173, 173, 173, 173, 120, 54, 11, 173, 173, 173, 173, 120, 18, 27], [3, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [12496, 0, 16982, 16981, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 15050], 7344], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 18, 124, 150, 124, 124, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 8334, 12824, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0], 11986], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18924], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7951], [[38, 11, 18, 173, 173, 173, 150, 33, 71, 153, 153, 153, 153, 153, 54, 10, 10, 10, 10, 122], [9, 10, 17, 30, 34, 48, 64, 107, 115, 143, 146, 166], [16981, 0, 12496, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 11705, 12986, 12506, 12183, 0], 7669], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446], [[38, 18, 173, 173, 173, 150, 11, 150, 120, 150, 10, 33, 173, 173, 173, 173, 122, 173, 10, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 0, 0, 0, 12667, 0], 15547], [[18, 11, 38, 150, 173, 120, 173, 150, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11838], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16347, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15533, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 64, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334], 12350], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16982, 0, 0, 0, 8334, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9634], [[38, 11, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 15368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5059], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 16501, 0, 0, 0, 0, 0, 15536, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0], 15872], [[11, 38, 173, 173, 173, 120, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 25, 26, 34, 35, 48, 113, 117, 143, 166], [0, 16980, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11940], [[38, 11, 18, 150, 173, 120, 150, 18, 54, 33, 11, 11, 11, 153, 153, 82, 10, 10, 10, 153], [9, 10, 17, 30, 34, 48, 75, 113, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 0, 0, 0, 12024, 12504, 12984, 0], 5901], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 12185, 11705, 12826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6900], [[18, 11, 38, 150, 150, 120, 173, 150, 150, 173, 173, 173, 10, 33, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0, 0, 0, 17772, 0], 8728], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 0, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9781], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 124, 124, 173, 173, 11, 10, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16807, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 12666, 0, 0, 0], 8173], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17641], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 10, 121, 3, 124, 124, 0, 0], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 11865, 0, 0, 0, 0], 8302], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 120, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15692, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12348, 0, 0], 12274], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 18, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16979, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4935], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 10, 150, 150, 33, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 11705, 0, 0, 12666, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 0, 8334, 0, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8032], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 11, 11, 10, 33, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 12025, 12986, 0], 15776], [[18, 11, 38, 150, 150, 173, 120, 173, 33, 153, 153, 153, 153, 153, 153, 173, 173, 173, 173, 173], [10, 17, 30, 34, 55, 113, 143, 146, 166], [12496, 0, 15532, 0, 0, 0, 0, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9327], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 11, 54, 11, 33, 122, 11, 82, 10, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 111, 113, 115, 130, 132, 143, 146, 166], [12496, 0, 16507, 0, 0, 0, 8334, 0, 12341, 12985, 0, 0, 0, 11544, 0, 0, 0, 11055, 0, 0], 28933], [[11, 11, 11, 18, 38, 11, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 150, 18, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 0, 12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0], 4858], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 54, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 16981, 12496, 0, 0, 0, 0, 0, 16181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6062], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 173, 173, 173, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 8334, 11212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8209], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 15087, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12089], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 11, 124], [3, 9, 10, 17, 30, 34, 48, 55, 65, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17876], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 18, 33, 10, 11, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 8334, 16806, 16166, 0, 0, 0, 0, 0], 9176], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 54, 11, 11, 11, 122, 40, 82, 153, 153, 153], [9, 10, 17, 18, 22, 25, 30, 34, 35, 48, 50, 55, 75, 83, 111, 115, 130, 139, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0], 18329], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 12496, 0], 11453], [[38, 18, 173, 173, 173, 173, 150, 11, 150, 150, 33, 33, 10, 54, 11, 11, 10, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 12347, 12986, 0, 0, 0, 11867, 0, 0, 0], 9534], [[11, 38, 18, 11, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 16660, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3441], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 10, 54, 10, 10, 10, 10, 10, 173], [9, 10, 17, 30, 34, 48, 143, 166], [15696, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11867, 12829, 0, 12348, 12345, 12826, 11704, 11222, 0], 6526], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 120, 3, 173, 173, 18, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16807, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 17771, 0, 0, 15087, 0, 0, 0, 0], 6598], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15222, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13622], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 10, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15852, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 12985, 0, 0, 0, 0, 0, 0, 0], 7594], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [12496, 0, 16006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3699], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33, 33, 10, 10, 150, 150, 150], [9, 10, 17, 30, 34, 143, 146, 166], [16823, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12829, 12189, 11866, 0, 0, 0], 5752], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 173, 173, 124, 124, 173, 10, 122, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16824, 0, 0, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 11865, 0, 0], 9339], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 173, 173, 173, 10, 10, 10, 173, 173, 150, 11], [9, 10, 17, 30, 34, 48, 111, 113, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 11705, 12186, 12666, 0, 0, 0, 0], 7539], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 150, 150, 18, 11, 11, 10, 54, 33, 33, 122, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 12829, 0, 11869, 11705, 0, 0], 15327], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9854], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0], [17, 34, 143, 166], [17612, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5486], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12024, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0], 9837], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 120, 173, 173, 10, 10, 173, 173, 173, 10, 118, 11], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11865, 11865, 0, 0, 0, 12345, 0, 0], 9435], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17936, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 12662], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 3, 10, 33, 11, 11, 122, 54, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 130, 143, 146, 166], [12496, 0, 16660, 0, 0, 0, 0, 0, 0, 14580, 8334, 11705, 11705, 12186, 0, 0, 0, 0, 0, 0], 12493], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 122], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [12496, 0, 16662, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 12345, 0, 0, 0], 10595], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10058], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4347], [[18, 11, 38, 150, 54, 11, 33, 150, 27, 150, 153, 153, 153, 153, 153, 153, 153, 28, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146], [12496, 0, 16980, 0, 0, 0, 16807, 0, 12180, 0, 0, 0, 0, 0, 0, 0, 0, 11471, 0, 0], 6270], [[18, 11, 38, 173, 150, 150, 120, 18, 173, 173, 173, 3, 173, 124, 173, 173, 173, 150, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 0, 0, 0, 12344, 0, 0, 0, 0, 0, 0, 13293, 0], 13762], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15532, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 16021, 0, 0, 0, 0], 8924], [[11, 38, 38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 15692, 15692, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3942], [[18, 11, 38, 173, 173, 173, 173, 150, 120, 173, 173, 173, 173, 18, 150, 150, 10, 33, 54, 122], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [12496, 0, 16486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 12500, 12020, 0, 0], 10234], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590], [[38, 173, 173, 173, 173, 18, 150, 11, 150, 11, 18, 173, 120, 173, 173, 173, 10, 54, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15694, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 13292, 0, 0, 0], 13676], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 150, 150, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0], 5017], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 150, 122, 33, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 17142, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 12343, 0], 6730], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 17772, 0, 0, 0, 0, 0, 0, 0, 18095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [15695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16326, 0, 0, 0, 0, 0, 0, 0, 0], 13873], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 10, 153, 153, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [17612, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 12986, 0, 0, 12340, 0, 0, 0], 8877], [[38, 173, 173, 173, 150, 173, 18, 150, 150, 11, 11, 33, 33, 10, 10, 54, 11, 153, 153, 10], [9, 10, 17, 30, 34, 48, 55, 143, 146, 166], [15852, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 11866, 11867, 12347, 12987, 0, 0, 0, 0, 12664], 9218], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 11, 33, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [15533, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11866, 12346, 0, 0, 0], 11699], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 10, 122, 33, 10, 10, 11, 54, 11, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 17449, 0, 0, 0, 0, 0, 0, 0, 0, 12507, 0, 12986, 11865, 12344, 0, 0, 0, 8334, 0], 10754], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297], [[38, 18, 173, 173, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 54, 122, 11, 82, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [16501, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12828, 12348, 12348, 11705, 0, 0, 0, 0, 13454, 0], 15227], [[11, 38, 18, 150, 173, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4609], [[18, 11, 38, 150, 150, 120, 54, 150, 11, 11, 33, 10, 10, 27, 27, 27, 122, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 75, 78, 113, 115, 130, 143, 146], [12496, 0, 16507, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 12987, 11861, 11054, 11211, 0, 0, 0, 0], 14157], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5429], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 18, 173, 173, 173, 173, 173, 10, 173, 10, 11], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 8334, 0, 0, 12501, 15087, 0, 0, 0, 0, 0, 11705, 0, 12185, 0], 8736], [[18, 11, 38, 150, 150, 173, 120, 150, 173, 173, 173, 173, 10, 33, 173, 173, 173, 10, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 18096, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12347, 0, 0, 0, 12987, 0, 0], 12265], [[18, 11, 38, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16026, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6142], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 54, 11, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16983, 0, 0, 0, 0, 0], 13227], [[11, 38, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 18, 124, 124, 150, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 17933, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 15693], 8593], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16980, 0, 0, 0, 0, 0, 0, 0, 3968, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3528], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 16821, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12505, 0, 0, 0, 0, 0, 0, 0], 13474], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 15062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15052, 0, 0, 0, 0, 0, 0, 0], 5258], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 3, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 8334, 12984, 0, 0, 0, 0, 0, 0, 0, 0, 13292, 0], 10562], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0], 14417], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5002], [[38, 11, 150, 173, 173, 173, 173, 3, 173, 120, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [17612, 0, 0, 0, 0, 0, 0, 17935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4911], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12985, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10097], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 10, 173, 173, 173, 173, 122, 33, 150, 11], [3, 9, 10, 17, 30, 34, 113, 115, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 12984, 12984, 0, 0, 0, 0, 0, 12345, 0, 0], 6332], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 120, 173, 173, 173, 3, 173, 173, 18, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 12347, 0, 0, 8334, 0, 0, 0], 7187], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 150, 33, 173, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4738], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 173, 173, 33, 173, 173, 173, 122, 11, 11], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 0, 0], 8548], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 150, 150, 3, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16182, 0], 5789], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 15537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4236], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9002], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [16807, 0, 0, 0, 0, 0, 0, 0, 4934, 0, 4131, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3758], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 11, 11, 122, 153, 82, 18, 153, 153, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 0, 0, 0, 12829, 11868, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 12806], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0, 0], 10594], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 18, 120, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 15692, 0, 0, 0, 0, 0], 11792], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15695, 0, 12496, 0, 0, 0, 0, 0, 0, 15370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8085], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 173, 18, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 12341, 0, 0, 0], 8517], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 150, 10, 18, 54, 122, 11, 33, 11, 153, 153, 82], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 12501, 0, 13455, 8334, 0, 0, 0, 11866, 0, 0, 0, 0], 14806], [[18, 11, 38, 150, 173, 150, 150, 173, 173, 120, 150, 18, 173, 173, 10, 150, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 0, 0, 0, 0, 0], 10673], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16985, 0, 0, 0, 0, 0, 8334, 12186, 12186, 0, 0, 11705, 0, 0, 0, 0, 0, 0], 18262], [[38, 11, 11, 173, 173, 173, 150, 54, 11, 150, 20, 27, 10, 150, 10, 157, 157, 122, 157, 157], [9, 10, 17, 19, 25, 26, 30, 34, 48, 115, 143, 150, 166], [14577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14900, 13947, 14425, 0, 14425, 0, 0, 0, 0, 0], 17240], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 10, 54, 173, 11, 150, 122, 33, 120, 82, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 12185, 0, 0, 0], 9942], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 33, 173, 173, 173, 173, 173, 173, 18, 54, 11, 11], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 15695, 12496, 0, 0, 0, 0, 0, 0, 14733, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0], 10664], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 120, 173, 173, 18, 11, 11, 3, 3, 173, 173, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 13296, 13296, 0, 0, 0], 6647], [[11, 38, 18, 150, 173, 11, 10, 173, 150, 173, 173, 150, 54, 10, 33, 11, 11, 122, 10, 82], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [0, 15692, 12496, 0, 0, 0, 16332, 0, 0, 0, 0, 0, 0, 11868, 12828, 0, 0, 0, 12348, 0], 8738], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 10, 33, 122, 10, 10, 173, 173, 33, 153, 150, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 0, 11867, 12348, 0, 12987, 12505, 0, 0, 11704, 0, 0, 0], 8645], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 18, 10, 10, 54, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 11704, 11705, 0, 0, 0, 12986], 14565], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 11, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 17144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15696, 0, 0, 0, 0, 0, 0, 0], 12349], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16821, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 15214, 0, 0, 0, 0], 13293], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17939, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0], 12131], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 173, 150, 10, 33, 122, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 11705, 12986, 0, 0, 0], 12333], [[18, 11, 38, 150, 150, 173, 173, 150, 33, 153, 153, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 0, 17933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11678], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 150, 173, 124, 124, 10, 173, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12986, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 14921], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0], 16365], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17612, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23987], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106], [[11, 38, 120, 173, 173, 173, 173, 150, 173, 173, 39, 173, 173, 18, 150, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 7332, 0, 0, 12496, 0, 8334, 0, 11704, 12986, 0], 16651]], "3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3974, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4017], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3168, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741], [[38, 11, 173, 173, 3, 173, 3, 173, 173, 150, 173, 150, 173, 124, 124, 173, 124, 0, 0, 0], [3, 10, 34, 117, 143, 166], [1899, 0, 0, 0, 2691, 0, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3556], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 120, 150, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 3025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4046], [[18, 11, 38, 10, 173, 173, 173, 173, 150, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3169, 3651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4325], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6512], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6850], [[18, 11, 38, 150, 150, 173, 120, 11, 150, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 7010, 7170, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 6658], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 120, 150, 18, 10, 11, 11, 33, 118, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 7345, 0, 0, 0], 7738], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[11, 18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3451], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 8485], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 10, 33, 11, 10, 27, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 7164, 7164, 6685, 0, 7644, 6059, 0, 0, 0, 0, 0, 0], 8042], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 150, 3, 10, 173, 173, 173, 18, 150, 11, 11], [3, 9, 10, 17, 25, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7967, 7806, 0, 0, 0, 11177, 0, 0, 0], 8383], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 173, 11, 150, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 0, 0], 9474], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 18, 10, 11, 11, 150, 33, 122, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6682, 0, 0, 0, 7642, 0, 0], 8976], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 173, 173, 173, 120, 10, 33, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7646, 7004, 0, 0, 0, 11177], 9612], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7486, 0, 0, 0], 8783], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219], [[18, 11, 38, 18, 150, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3978, 11177, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8967], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 150], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7185, 7982, 0, 0, 0], 9261], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 18, 10, 54, 33, 33, 122, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11177, 7644, 0, 6842, 6682, 0, 0, 7647], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 15386, 0, 0, 0, 14740, 15063, 14738, 0, 0, 0, 0, 0, 0, 0, 0], 5097], [[11, 11, 38, 18, 150, 173, 120, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [0, 0, 2223, 7015, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10225], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 150, 120, 10, 121, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0], 6645], [[38, 18, 173, 173, 173, 150, 11, 173, 173, 150, 173, 150, 173, 173, 54, 11, 120, 11, 11, 18], [9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [2384, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177], 10451], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 0], 10493], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4162], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 33, 18, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 7006, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 4424, 0], 9473], [[38, 18, 11, 150, 173, 10, 150, 118, 173, 120, 3, 173, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 34, 111, 113, 143, 166], [3500, 7015, 0, 0, 0, 2223, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3919], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 173, 11, 33], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6059], 8243], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6847], 15032], [[18, 11, 38, 150, 150, 173, 173, 10, 150, 41, 118, 120, 173, 173, 173, 173, 173, 173, 18, 18], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 1578, 0, 3343, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424], 10686], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011], [[18, 11, 38, 150, 173, 173, 173, 120, 173, 173, 173, 150, 173, 18, 18, 150, 10, 33, 54, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 6683, 7806, 0, 0], 11593], [[18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 150, 10, 173, 173, 173, 173, 121, 11, 18, 33], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 7005], 9624], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7010, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8403], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 10, 173, 33, 173, 10, 150, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 6525, 0, 7645, 0, 7006, 0, 0, 0], 10945], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 173, 173, 11, 54, 33, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 11958], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 18, 18, 10, 122, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 4424, 7164, 0, 7967, 0], 11792], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4401], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 33, 122, 10, 11, 11, 33, 153, 153], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [3185, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7003, 6682, 0, 7005, 0, 0, 6525, 0, 0], 6252], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10017], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 124, 124, 124, 120, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5137], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 150, 18, 11, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 6740], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 0], 13769], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 10, 33, 118, 121, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 6525, 0, 0, 11177, 0, 0, 0, 0], 12790], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 18, 10, 150, 33, 122, 11, 173, 173, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [7015, 0, 3344, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 7644, 0, 6684, 0, 0, 0, 0, 0], 9376], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 10, 33, 33, 11, 150, 11, 27, 10, 150, 60, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7806, 7166, 7165, 0, 0, 0, 4457, 6525, 0, 0, 0], 13028], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 6225], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 10, 33, 10, 120, 173, 173, 173, 41, 118], [9, 10, 17, 30, 34, 111, 113, 143, 166], [3502, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 7644, 6842, 7165, 0, 0, 0, 0, 6685, 0], 7532], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3501, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 1735, 0, 0, 0, 0, 0, 0, 0], 7725], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 41, 150, 11, 10, 33, 54, 11, 122, 10, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 0, 7499, 0, 0, 6525, 7644, 0, 0, 0, 7005, 0], 14442], [[38, 38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 150, 150, 173, 11, 150, 10, 120], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [3978, 3979, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0], 8537], [[18, 11, 38, 150, 150, 120, 150, 54, 120, 10, 173, 11, 11, 11, 173, 121, 33, 40, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 114, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 0, 0, 7644, 6386, 0, 0], 14047], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 18, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 122, 143, 146, 166], [1578, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 0, 0, 0], 14486], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7558], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6848, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14614], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 11177, 0, 6374, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7128], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 121, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [3004, 0, 7015, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 6120], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 11, 11, 120, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0], 8632], [[18, 11, 38, 18, 173, 150, 173, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 0, 0, 0], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 11177, 0, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4139], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4449, 0, 0, 0, 0, 0, 4424, 0, 7646, 0, 0, 0, 0, 0, 0, 6525, 0, 0], 15926], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7416], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923], [[18, 38, 11, 150, 150, 120, 150, 10, 173, 173, 173, 173, 18, 173, 122, 122, 33, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 107, 113, 115, 139, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0], 17856], [[18, 11, 38, 150, 150, 120, 18, 10, 33, 11, 122, 11, 153, 153, 153, 153, 153, 153, 150, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[18, 11, 38, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4807], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685, 0, 0], 9075], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 54, 11, 59], [3, 10, 17, 34, 35, 48, 53, 110, 113, 117, 139, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9547], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 11, 33, 122, 11, 54, 173, 173, 173, 173, 10, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 7806, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 6846, 0], 8410], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7330, 7487, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11060], [[18, 38, 11, 150, 173, 150, 173, 150, 150, 54, 11, 10, 33, 11, 11, 122, 82, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 115, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683, 7163, 0, 0, 0, 0, 0, 0, 0], 12585], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 173, 173, 173, 173, 173, 122, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7806, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16650], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 1416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6815], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 33, 10, 10, 10, 33, 40, 11, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 139, 143, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6847, 7487, 3978, 3979, 0, 0, 0], 9126], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 173, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 11177, 7806, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 17048], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7486, 0, 0, 0, 0, 0, 0, 7005, 7967, 0, 0], 10592], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 11, 18, 10, 33, 33, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7806, 7326, 6525, 0, 0, 0], 10323], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11, 153, 150, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 6525, 7005, 0, 0, 0, 0, 0, 0, 0], 10102], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 33, 10, 54, 122, 11, 11, 153, 153, 153, 82, 11], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [3818, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9615], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 11, 33, 124, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 3976, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0], 8344], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 173, 173, 173, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7017], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 150, 150, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [0, 2544, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 14452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 124, 124, 10, 10, 122, 33, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7648, 0, 0, 0, 0, 0, 0, 6527, 6527, 0, 7007, 0, 0], 17341], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10601], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 3, 3, 18, 18, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7490, 7646, 11176, 11177, 0, 0], 11250], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 18], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 4584], 11308], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6922], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 120, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0], 8999], [[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 11, 11, 18, 10, 33, 11, 122, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2544, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 7643, 6682, 0, 0, 0], 10762], [[18, 11, 38, 173, 150, 173, 150, 173, 173, 11, 54, 10, 11, 11, 33, 122, 82, 18, 153, 153], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 65, 75, 89, 111, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 6527, 0, 0, 7167, 0, 0, 4424, 0, 0], 19780], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 7486, 0, 0, 7005, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0], 10428], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 10, 33, 10, 10, 10, 33, 33, 10, 0, 0], [9, 17, 30, 34, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 7485, 6525, 7646, 7005, 8128, 6524, 6525, 7483, 0, 0], 6394], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 54, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 7163], 9530], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 10, 41, 173, 173, 173, 173, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7010, 7489, 7652, 0, 0, 0, 0, 0, 0], 10328], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5282], [[38, 18, 11, 173, 150, 173, 173, 150, 120, 173, 173, 150, 11, 11, 33, 173, 10, 173, 173, 10], [9, 10, 17, 30, 34, 113, 114, 143, 166], [3004, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6842, 0, 7643, 0, 0, 7165], 6098], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 40, 153, 153, 82, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 109, 110, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 7005, 6380, 0, 0, 0, 4424, 0], 17066], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[38, 11, 18, 173, 173, 173, 18, 11, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 7015, 0, 0, 0, 0, 6851, 0, 0, 0, 0, 0, 0, 0, 0], 12560], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4936, 0, 0, 0, 0, 0, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9003], [[11, 18, 38, 11, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 10, 150, 150, 3, 124], [3, 9, 10, 17, 34, 117, 143, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2532, 0, 0, 2531, 0], 7889], [[38, 11, 150, 173, 173, 173, 173, 18, 173, 150, 39, 150, 150, 10, 10, 10, 11, 11, 11, 11], [9, 10, 17, 18, 34, 48, 78, 83, 113, 130, 143, 166], [1573, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 11858, 0, 0, 7644, 7164, 6683, 0, 0, 0, 0], 10444], [[18, 38, 11, 150, 150, 120, 18, 150, 10, 10, 118, 33, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 7806, 7806, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0], 8931], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 10, 121, 150, 173, 173, 18, 173, 173, 33, 11], [9, 10, 17, 30, 34, 48, 75, 113, 114, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0, 11177, 0, 0, 6685, 0], 8668], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4086], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3505, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 11243], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8760], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 11, 122, 82, 10, 11, 153, 153, 27, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7015, 0, 3975, 0, 0, 0, 0, 7806, 7806, 7325, 0, 0, 0, 0, 6683, 0, 0, 0, 6219, 0], 9543], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 173, 173, 173, 11, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7325, 7005, 7165, 0, 0, 0, 0, 6683, 0, 0, 0], 12449], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 7644, 0, 0, 0, 0, 11177, 0], 14732], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493], [[11, 38, 11, 18, 173, 173, 33, 150, 153, 153, 153, 153, 150, 62, 62, 62, 10, 54, 11, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 11682], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 18], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424], 9693], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 11, 38, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4141, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9323], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6948], [[18, 38, 11, 150, 150, 173, 173, 54, 150, 10, 33, 10, 122, 10, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 4934, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 7485, 0, 7645, 0, 0, 0, 0, 0, 0], 9006], [[38, 173, 173, 173, 150, 18, 150, 150, 11, 11, 10, 10, 10, 10, 173, 173, 173, 10, 10, 173], [9, 10, 17, 34, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 6682, 7163, 7643, 7646, 0, 0, 0, 7166, 6685, 0], 5376], [[18, 38, 11, 150, 173, 173, 150, 120, 150, 3, 18, 173, 10, 33, 54, 11, 11, 11, 153, 122], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 2704, 0, 0, 0, 0, 0, 0, 0, 7967, 11177, 0, 7967, 7488, 0, 0, 0, 0, 0, 0], 23126], [[38, 173, 173, 150, 173, 173, 173, 18, 11, 150, 150, 11, 11, 11, 18, 18, 10, 33, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 107, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 11176, 11177, 7644, 6683, 0, 0], 11754], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 3], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 6217], 6395], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 18, 18, 150, 173, 54, 11, 11, 10, 33, 150], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7015, 11177, 0, 0, 0, 0, 0, 7325, 7806, 0], 13208], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7164, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6339], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 41, 173, 173, 173, 173, 150, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 7170, 7500, 0, 0, 0, 0, 0, 0, 0], 6435], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157], [[18, 11, 38, 173, 173, 150, 150, 120, 10, 173, 173, 173, 173, 173, 173, 150, 3, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 7664, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8177], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6326], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[38, 18, 11, 150, 173, 150, 120, 150, 3, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 9881], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 3, 173, 173, 173, 124, 124, 124, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7006, 7006, 0, 0, 0, 0, 0, 0, 0, 0], 9034], [[18, 11, 38, 38, 150, 150, 120, 3, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3331, 3330, 0, 0, 0, 7170, 7170, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7007], [[18, 11, 38, 150, 150, 120, 18, 150, 150, 3, 173, 173, 173, 10, 11, 11, 150, 124, 124, 121], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 65, 75, 83, 89, 111, 113, 114, 115, 117, 130, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 11177, 0, 0, 6525, 0, 0, 0, 7005, 0, 0, 0, 0, 0, 0], 25661], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 173, 173, 120, 173, 10, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [2691, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0], 7787], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 9948], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403], [[11, 38, 18, 150, 120, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 11, 11, 33, 10, 10], [9, 10, 17, 30, 34, 48, 55, 113, 115, 143, 146, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163], 11272], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11989], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 14580, 14578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4381], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 1899, 0, 0, 0, 0, 0, 0, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7728], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 3843], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 6525, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 13147], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 150, 11], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0], 9714], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 33, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0], 10106], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10, 10, 33], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6684, 7164, 7642, 7164, 7164], 22870], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 120, 150, 121, 11, 11], [9, 10, 17, 30, 34, 35, 48, 89, 113, 114, 139, 143, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7645, 6683, 0, 0, 0, 0, 0], 12880], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1735, 0, 0, 0, 0, 0, 0, 0, 14574, 14893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4027], [[18, 11, 38, 150, 173, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 150, 54, 10, 33, 11, 11, 122, 18, 82, 60], [0, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4611, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 11177, 0, 0], 8613], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7171, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12431], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 33, 11, 11, 10, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 48, 113, 143, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 0, 7643, 7163, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 5048], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 18, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 117, 139, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0], 19651], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2544, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5446], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3331, 7015, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5494], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 11, 11, 33, 10, 10, 10, 10, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6527, 7007, 7487, 0, 0], 20327], [[38, 18, 11, 173, 150, 150, 150, 54, 10, 33, 10, 11, 122, 118, 11, 82, 153, 153, 150, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 7643, 6682, 7163, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10256], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 10, 173, 173, 54, 11, 11, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 6685, 6685, 0, 0, 0, 0, 0, 0], 12354], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6685], 14872], [[18, 11, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5380], [[18, 38, 38, 11, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 12723], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 33, 122, 11, 150, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 7015, 0, 3485, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 6525, 7005, 0, 0, 0, 0], 12114], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5230], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 10, 10, 150], [9, 10, 17, 34, 143, 166], [3010, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6851, 6848, 6376, 0], 6899], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 10, 150, 124, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7646, 7806, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0], 12615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 11797], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7167, 0, 0, 0, 0, 0, 0, 0], 7477], [[18, 11, 38, 150, 150, 120, 18, 3, 10, 33, 122, 11, 150, 153, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 11177, 7168, 7806, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15957], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926], [[18, 38, 11, 173, 173, 173, 173, 150, 150, 173, 120, 10, 11, 54, 11, 122, 33, 18, 82, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 7325, 11177, 0, 0], 15430], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3503], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468], [[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 173, 3, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0], 4753], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 38, 11, 150, 150, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 3979, 0, 0, 0, 0, 3329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5222], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 173, 122, 54, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4620, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0], 15042], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 33, 18, 153], [10, 17, 18, 30, 34, 48, 55, 75, 113, 130, 143, 146, 166], [0, 0, 7015, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 11177, 0], 24106], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 54, 11, 11, 33, 150, 122, 153, 153], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7165, 7166, 7164, 0, 0, 0, 6525, 0, 0, 0, 0], 8406], [[18, 38, 150, 11, 11, 150, 10, 33, 54, 10, 11, 27, 27, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146], [7015, 1899, 0, 0, 0, 0, 6525, 7806, 0, 7005, 0, 6057, 6056, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 38, 11, 150, 173, 150, 173, 120, 150, 54, 150, 33, 10, 10, 11, 11, 82, 11, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 4133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 7806, 7326, 0, 0, 0, 0, 0, 0], 18355], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 6215, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12494], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 150, 11, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 6525, 0, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17260], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735], [[18, 11, 38, 10, 10, 150, 121, 150, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33], [9, 10, 17, 30, 34, 113, 114, 143, 166], [7015, 0, 3819, 1900, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682], 6474], [[38, 173, 173, 173, 150, 173, 173, 18, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 64, 75, 107, 109, 115, 139, 143, 146, 166], [3979, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6683, 7644, 7163, 0, 0, 0], 16425], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4424, 4424, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10148], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 124, 124, 173, 150, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 7170, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12369], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 10, 121, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 0, 6376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4547], [[38, 18, 150, 173, 173, 173, 150, 11, 11, 33, 54, 54, 11, 10, 10, 153, 153, 153, 18, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 7806, 7325, 0, 0, 0, 11177, 0], 15701], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 11, 11, 10, 10, 173, 173, 173, 173, 150, 10, 173], [9, 10, 17, 30, 34, 48, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 0, 0, 7324, 6843, 0, 0, 0, 0, 0, 6846, 0], 5488], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4698], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 16028, 0, 0, 0, 0, 14418, 15063, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3794], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3756], [[18, 38, 11, 150, 150, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3768], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 132, 143, 146, 166], [0, 7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 7488, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11728], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 11, 11, 33, 10, 150, 0], [9, 10, 17, 30, 34, 143, 166], [1735, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 7325, 6525, 0, 0], 7011], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6216, 6214, 0, 0, 0, 0, 0, 0, 0, 0], 4884], [[38, 11, 173, 173, 173, 18, 173, 173, 150, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5213], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 10, 33], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7325, 0, 0, 0, 0, 0, 0, 0, 6845, 0, 6844, 7807], 8092], [[38, 18, 173, 150, 11, 150, 150, 54, 10, 33, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2531, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 7004, 6524, 0, 0, 0, 0, 0, 0, 0, 0], 13206], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10146], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 150, 124, 173, 173, 173, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 7485, 0, 0, 0, 0, 0, 0, 0, 7967, 0], 12477], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7646, 0, 0, 0, 0, 0, 0, 0], 5432], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9199], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 122, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643, 0, 0, 0, 0, 7162], 9701], [[18, 11, 38, 3, 173, 173, 173, 173, 150, 150, 173, 120, 173, 124, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4140, 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 10, 54, 33, 173, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 7806, 0, 7165, 0, 0, 0, 0], 11341], [[18, 11, 38, 150, 150, 173, 173, 120, 33, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173, 173], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6418], [[18, 38, 11, 150, 10, 150, 173, 173, 121, 150, 120, 33, 10, 10, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 111, 113, 114, 143, 146, 166], [7015, 3819, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 6525, 7005, 7806, 0, 0, 0, 0, 0, 0], 9647], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 120, 173, 173, 173, 18, 11, 71, 150, 10, 11], [9, 10, 17, 30, 34, 48, 64, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 7164, 0], 11689], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 0, 0], 6733], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21406], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10624], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 3, 18, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7504, 4424, 0, 0], 10863], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0], 7456], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 33, 71, 122, 11, 11, 10, 82, 60, 18, 153], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 7164, 6685, 0, 0, 0, 0, 7644, 0, 0, 11177, 0], 8713], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10775], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385], [[18, 11, 38, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6058, 0, 0, 0, 0, 0], 7719], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 10, 54, 173, 11, 11, 10, 33, 122, 18, 60, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 7485, 7004, 0, 11177, 0, 0], 10808], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 48, 113, 115, 117, 143, 166], [0, 3818, 7015, 0, 0, 0, 0, 0, 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9133], [[18, 11, 38, 150, 150, 173, 120, 3, 173, 18, 54, 10, 150, 11, 11, 33, 122, 60, 153, 153], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 7170, 0, 11177, 0, 7485, 0, 0, 0, 6058, 0, 0, 0, 0], 11511], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 0, 3330, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11661], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653], [[18, 11, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 10, 118, 11, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 0, 4142, 0, 0, 0, 11177, 7170, 7010, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 11684], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4584, 4424, 0, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 10476], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3185, 0, 0, 0, 11177, 7329, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7182], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 10, 11], [9, 10, 17, 30, 34, 113, 143, 146, 166], [7015, 3977, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6218, 7806, 6525, 0], 7416], [[11, 38, 18, 173, 173, 173, 150, 120, 11, 173, 173, 173, 3, 3, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3011, 3010, 0, 0, 0, 0, 0, 0], 6333], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 18, 173, 173, 173, 173, 173, 10, 122, 54, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 0, 7020, 11177, 0, 0, 0, 0, 0, 7486, 0, 0, 6378], 10261], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 10, 122, 54, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 7490, 7490, 0, 0, 0, 0], 12382], [[18, 11, 38, 150, 150, 54, 10, 33, 10, 122, 11, 11, 122, 40, 11, 122, 82, 60, 10, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [7015, 0, 3025, 0, 0, 0, 6525, 7005, 7485, 0, 0, 0, 0, 6060, 0, 0, 0, 0, 7967, 0], 11098], [[38, 173, 173, 173, 39, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2531, 0, 0, 0, 16028, 0, 0, 14579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4331], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 7391], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12952], [[38, 18, 11, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6717], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 150, 153, 153], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7646, 7165, 0, 0, 0], 11851], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783], [[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 33, 10, 150, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 47, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 4127, 0, 0, 0, 0, 0, 0, 6525, 7806, 0, 0], 14102], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 3, 173, 173, 173, 173, 173, 10, 33], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 7967, 0, 0, 0, 0, 0, 7487, 7006], 17676], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 10, 60, 18], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 143, 146, 166], [2851, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524, 0, 0, 0, 7165, 7164, 0, 11177], 8655], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4140, 0, 0, 0, 0, 0, 0, 0, 0], 4940], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 54, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 6685, 0, 0, 7167, 0, 0], 14305], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17561], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11704], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3185, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12403], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 10, 173, 124, 124, 173, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 2544, 0, 0, 0, 11177, 0, 6687, 0, 0, 7967, 0, 0, 0, 0, 0, 0, 0, 0], 9094], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 11, 150, 3, 173, 173, 120, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 11177, 0, 0, 0], 7405], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 10, 150, 150, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 6846, 0, 0, 0, 0, 0, 0], 8311], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1735, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7970], [[18, 11, 38, 10, 150, 150, 173, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 10, 33, 118], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7644, 0], 15764], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 10469], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 146, 166], [7015, 0, 3329, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 12344], [[18, 11, 38, 150, 173, 173, 173, 173, 120, 150, 18, 173, 173, 173, 173, 10, 118, 150, 150, 150], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 7806, 0, 0, 0, 0], 15515], [[18, 11, 38, 10, 173, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 150, 150, 150, 18, 150], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 0], 15960], [[18, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 89, 113, 115, 117, 143, 146, 166], [6855, 7015, 0, 3004, 0, 0, 0, 0, 11177, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0], 11810], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4960], [[18, 11, 38, 3, 173, 173, 150, 150, 173, 173, 120, 124, 124, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18914], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1899, 0, 0, 0], 9606], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 150, 18, 3, 124, 124], [3, 10, 17, 34, 35, 48, 89, 109, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7015, 2849, 0, 0], 11928], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 33, 33, 54, 11, 11, 122, 150, 10, 10, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 7164, 6525, 6061, 0, 0, 0, 0, 0, 7644, 6685, 0], 6886], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5066], [[18, 11, 38, 150, 150, 173, 120, 150, 150, 120, 10, 10, 173, 173, 173, 173, 173, 33, 173, 173], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [7015, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 6525, 7644, 0, 0, 0, 0, 0, 6682, 0, 0], 5966], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7006, 0, 0, 0, 0, 0, 0, 6524, 7645, 0, 0, 0], 8137], [[11, 38, 18, 11, 150, 10, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 1899, 7015, 0, 0, 4136, 0, 0, 3809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17600], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 2530, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9769], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 120, 18, 3, 173, 173, 33, 124, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 4611, 0, 11177, 7006, 0, 0, 7486, 0, 0, 0, 0, 0], 5491], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 173, 173, 173, 120, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 10, 120, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7325, 6525, 7008, 0, 6379], 8348], [[18, 11, 38, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 30, 34, 48, 53, 55, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3650, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0], 15354], [[18, 38, 11, 150, 150, 150, 120, 173, 173, 18, 3, 173, 124, 124, 124, 124, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12966], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0], 8081], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 120, 150, 54, 10, 10, 33, 10, 122, 11, 11, 60], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [2690, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 7644, 7164, 6524, 0, 0, 0, 0], 9291], [[18, 38, 11, 150, 150, 54, 150, 33, 10, 11, 11, 150, 10, 122, 82, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 75, 110, 113, 114, 115, 130, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 7806, 7166, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 28797], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 11177, 0, 0, 6686, 6525, 0, 0, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 10, 10, 11, 11, 11, 20, 153, 153, 153, 122], [9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 7644, 7164, 6524, 6524, 0, 0, 0, 1900, 0, 0, 0, 0], 9766], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 0, 11177, 7489, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8166], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 10, 150, 33, 33, 33, 11, 11, 122, 54, 173, 173], [9, 10, 17, 25, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 2531, 0, 0, 0, 0, 11177, 0, 7163, 0, 7643, 6683, 6683, 0, 0, 0, 0, 0, 0], 10034], [[38, 173, 173, 173, 173, 18, 173, 39, 173, 173, 150, 173, 39, 150, 150, 11, 11, 33, 120, 54], [10, 17, 30, 34, 48, 113, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 16028, 0, 0, 0, 0, 17457, 0, 0, 0, 0, 6524, 0, 0], 9239], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 150, 10, 33, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 11177], 12295], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 7487, 0, 0, 0], 12065], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17908], [[18, 11, 38, 173, 173, 173, 150, 150, 3, 150, 54, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 19, 34, 35, 47, 48, 53, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38240], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 10, 33, 11, 11, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7644, 6683, 0, 0, 0, 0, 0, 0, 0], 9604], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 120, 3, 150, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0, 0, 7015], 11501], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7788], [[11, 38, 18, 173, 150, 120, 150, 173, 173, 173, 173, 150, 173, 173, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 4142, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3026, 0, 0, 0, 0], 7619], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 173, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2531, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6537], [[18, 11, 38, 150, 150, 120, 150, 173, 3, 173, 173, 11, 33, 10, 11, 11, 122, 124, 54, 10], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3978, 0, 0, 0, 0, 0, 1899, 0, 0, 0, 7646, 7165, 0, 0, 0, 0, 0, 6686], 6124], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [1899, 0, 7015, 0, 0, 0, 0, 0, 4142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13615], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 14418, 0, 0, 0, 0, 12979, 14418, 0, 0, 0, 0, 0, 0, 0, 0], 3732], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 15060, 15383, 15060, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3446], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 18, 18, 173, 10, 118, 173, 173, 33, 11, 11], [9, 10, 17, 19, 30, 34, 48, 89, 111, 113, 114, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 4584, 4424, 0, 7004, 0, 0, 0, 7485, 0, 0], 8774], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 11, 11, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9298], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5756], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3975, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6299], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 153], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6526, 0, 0, 0, 0, 0, 0, 0, 7345, 0, 0, 0], 9811], [[38, 18, 173, 173, 150, 11, 150, 150, 10, 33, 10, 121, 11, 11, 11, 54, 120, 118, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 78, 110, 111, 113, 114, 115, 130, 139, 143, 166], [3979, 7015, 0, 0, 0, 0, 0, 0, 7644, 7164, 6524, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15271], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 10, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 4424, 7171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7806, 0], 12690], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 18, 10, 10, 0, 0], [9, 10, 17, 34, 113, 143, 166], [0, 7015, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 2533, 0, 0], 6553], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 10, 18, 10, 54, 33, 33, 11, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 11177, 6682, 0, 7161, 7162, 0, 0], 10037], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 10, 18, 33, 122, 150, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 11177, 7005, 0, 0, 0], 9506], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 3, 18, 10, 54, 122, 11, 11, 33, 150, 153], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 6215, 11177, 6216, 0, 0, 0, 0, 6059, 0, 0], 23350], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 150, 173, 173, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6527, 0, 0, 0, 0, 0, 0, 0], 13841], [[18, 38, 11, 150, 150, 120, 18, 173, 150, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12012], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 120, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 7163, 6682, 0, 0], 10299], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 3819, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5466], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 166], [0, 1899, 0, 0, 0, 0, 0, 3978, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4407], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8947], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0, 0], 10068], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 18, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 11177, 0, 0, 0], 20731], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 11, 54, 122, 10], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6682, 7643, 7163, 7163, 0, 0, 0, 7163], 13634], [[18, 38, 11, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9900], [[18, 11, 38, 150, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 173, 33, 33, 122, 0], [9, 10, 17, 30, 34, 113, 115, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 7006, 7005, 0, 0], 5613], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2223, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17073], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1899, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 11177, 0], 10654], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2704, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5403], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 173, 120, 150, 173, 150, 3, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0, 0], 13893], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6799], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 150, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0], 9242], [[38, 11, 18, 173, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 18, 10, 10, 11, 10, 150], [9, 10, 17, 34, 111, 113, 114, 143, 166], [3979, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4424, 3025, 2544, 0, 2544, 0], 8828], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8204], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 120, 173, 3, 173, 173, 18, 124, 10, 11, 11, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 6378, 0, 0, 11177, 0, 2704, 0, 0, 0], 15240], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 54, 122, 150, 11, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 11177, 6525, 0, 0, 7165, 0, 0, 0, 0, 0, 6525, 0, 0], 14119], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 11177, 7007, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18394], [[38, 18, 173, 173, 173, 150, 173, 150, 150, 150, 10, 33, 0, 0, 0, 0, 0, 0, 0, 0], [9, 17, 30, 34, 143, 166], [4134, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 7164, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 11, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [1577, 0, 7015, 0, 0, 0, 0, 0, 0, 2531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5245], [[38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 124, 150, 150, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 3818, 0, 0, 0, 0, 7015, 0, 0, 0, 11177, 0], 13219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 3, 173, 120, 18, 150, 10, 150, 122, 33, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 0, 1900, 0, 0, 11177, 0, 7806, 0, 0, 8616, 6525, 0], 11688], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582], [[38, 11, 11, 173, 173, 173, 3, 173, 173, 173, 124, 124, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 34, 117, 166], [3819, 0, 0, 0, 0, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3104], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 18, 18, 33, 33, 10, 122, 54, 11, 11, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 4127, 0, 0, 0, 0, 0, 0, 11177, 11177, 7345, 7806, 6683, 0, 0, 0, 0, 0, 0], 12202], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 173, 120, 150, 173, 173, 173, 173, 150, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 0, 7015, 0, 1899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704, 0, 0], 10533], [[38, 11, 18, 173, 173, 173, 173, 173, 150, 173, 150, 120, 150, 10, 173, 173, 3, 122, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [2531, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 0, 0, 7163, 0, 0, 0], 14862], [[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 173, 173, 173, 173, 18, 33, 173, 173, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 6218, 0, 0, 0, 0, 0], 5367], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 150, 11, 11, 150, 120, 11, 18, 33, 10, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [1900, 0, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 6524, 7644, 0, 7004], 13468], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 10, 173, 173, 150, 121, 173, 120, 10, 33, 33, 10, 173, 173, 173, 173, 173, 122], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [7015, 0, 3164, 1899, 0, 0, 0, 0, 0, 0, 6525, 7806, 7806, 7326, 0, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3966, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 6525, 6525, 0, 0, 0], 10056], [[18, 11, 38, 10, 10, 10, 10, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 143, 166], [7015, 0, 3978, 4772, 4449, 3967, 3967, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3562], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[11, 38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 33, 173, 173, 173, 173, 173, 11, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [0, 1900, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7169, 0, 0, 0, 0, 0, 0, 0, 0], 8514], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [2531, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4981], [[18, 11, 38, 150, 150, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9045], [[18, 11, 38, 150, 120, 18, 173, 173, 173, 3, 173, 173, 150, 10, 173, 124, 124, 173, 173, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 11177, 0, 0, 0, 7164, 0, 0, 0, 6685, 0, 0, 0, 0, 0, 6685], 8910], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 10, 124, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7004, 0, 0, 0, 6524, 0, 0, 0, 0, 0, 0, 0], 9999], [[38, 18, 150, 173, 173, 150, 150, 33, 10, 10, 11, 11, 11, 11, 18, 54, 122, 118, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 6524, 7644, 7164, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0], 14742], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 10, 150, 173, 173, 122], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6849, 7331, 0, 0, 0, 0], 11826], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 54, 11, 11, 122, 33, 150, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7015, 0, 4141, 0, 0, 0, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 6378, 0, 0, 0, 0], 12826], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 173, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14380], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491], [[38, 11, 18, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [3819, 0, 7015, 0, 0, 0, 0, 0, 0, 3345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5821], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 33, 150, 11, 11, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 6526, 0, 0, 0, 0], 10646], [[11, 38, 18, 11, 173, 173, 150, 150, 120, 150, 173, 173, 18, 173, 173, 173, 33, 173, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 3977, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 6378, 0, 0, 0], 8491], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4148], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 173, 173, 173, 173, 173, 33, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6526, 6525, 0, 0, 0, 0, 0, 7005, 7806, 0, 0, 0, 0], 8687], [[18, 11, 38, 150, 150, 173, 173, 173, 3, 173, 173, 3, 173, 173, 173, 33, 54, 153, 153, 153], [3, 10, 17, 30, 34, 35, 48, 55, 75, 139, 143, 146, 166], [7015, 0, 3169, 0, 0, 0, 0, 0, 3659, 0, 0, 3659, 0, 0, 0, 3025, 0, 0, 0, 0], 17221], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7204], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 124, 150, 10, 124, 124, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7167, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0, 0], 18158], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 11, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2544, 0, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6676], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 120, 33, 10, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [1899, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6682, 0, 0, 0, 0, 0, 0, 0], 8695], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 150, 124, 33, 10, 54, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 4934, 0, 0, 0, 0, 2530, 0, 0, 0, 0, 0, 6524, 7004, 0, 0, 0, 7644, 0], 10605], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 4424], 12303], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 113, 114, 115, 117, 143, 146, 166], [0, 3819, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7330, 0, 0, 0, 0], 12364], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 10, 33, 33, 11, 11, 118, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7643, 6841, 6681, 0, 0, 0, 0, 0, 0], 11908], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 150, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 18, 30, 34, 48, 55, 75, 89, 115, 130, 143, 146, 166], [2704, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 7643], 14568], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0], 12101], [[18, 38, 11, 150, 173, 150, 150, 150, 10, 33, 54, 122, 10, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [7015, 3978, 0, 0, 0, 0, 0, 0, 7806, 7326, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 32003], [[38, 18, 173, 150, 11, 150, 150, 120, 33, 10, 10, 54, 11, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 146, 166], [3819, 7015, 0, 0, 0, 0, 0, 0, 6524, 7644, 7004, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11672], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 124, 124, 124, 124, 150, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 11177, 0, 7005, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13317], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0], 14924], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 124, 173, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 7644, 6524], 16342], [[18, 11, 38, 173, 150, 150, 120, 18, 10, 33, 173, 122, 150, 11, 11, 54, 153, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 6525, 7165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18125], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 4299, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23925], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 3, 173, 173, 124, 124, 124, 173, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 11177, 0], 16667], [[18, 11, 38, 150, 173, 150, 173, 173, 173, 120, 18, 33, 10, 11, 11, 122, 11, 150, 54, 10], [9, 10, 17, 19, 30, 34, 47, 48, 55, 75, 89, 111, 113, 115, 143, 146, 155, 166], [7015, 0, 3505, 0, 0, 0, 0, 0, 0, 0, 11177, 6526, 7006, 0, 0, 0, 0, 0, 0, 7486], 20729], [[18, 11, 38, 150, 150, 150, 173, 173, 120, 10, 121, 33, 10, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 113, 114, 115, 130, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 7167, 0, 7806, 6527, 0, 0, 0, 0, 0, 0, 0], 20281]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/filter.json b/dizoo/distar/envs/z_files/filter.json deleted file mode 100644 index d4a9a9994a..0000000000 --- a/dizoo/distar/envs/z_files/filter.json +++ /dev/null @@ -1 +0,0 @@ -{"NewRepugnancy": {"zerg": {"16176": [[[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 124, 124, 124, 150, 173, 10, 11, 11, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 0, 8334, 12986, 0, 0, 0, 0, 0, 0, 0, 12505, 0, 0, 0], 13457, 2], [[18, 11, 38, 150, 150, 54, 150, 173, 10, 33, 11, 11, 122, 82, 60, 60, 18, 153, 153, 153], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0], 17424, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 150, 124, 10, 124, 11, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 17303, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 0, 0, 0], 25649, 2], [[18, 11, 38, 120, 150, 150, 173, 18, 3, 173, 173, 173, 124, 124, 173, 150, 124, 124, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18376, 2], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 10, 173, 118, 173, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 18, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 0, 12347, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12826], 11070, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 10, 150, 173, 10, 10, 10, 173, 173, 173, 173], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12185, 0, 12185, 0, 0, 11705, 12984, 12502, 0, 0, 0, 0], 5590, 2], [[18, 38, 150, 150, 11, 150, 150, 11, 54, 10, 33, 10, 11, 122, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [12496, 16981, 0, 0, 0, 0, 0, 0, 0, 11868, 12829, 12506, 0, 0, 0, 0, 0, 0, 0, 0], 10004, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6732, 0], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 8803, 2], [[18, 11, 38, 173, 173, 173, 150, 173, 150, 11, 54, 10, 33, 122, 11, 41, 18, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 11868, 12830, 0, 0, 11859, 8335, 8334, 0, 0], 9487, 1], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 15372, 0, 0, 0, 8334, 0, 0, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6987, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849, 2], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 15694, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5416, 1], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 11544, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8842, 2], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 11, 11, 11, 54, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 16980, 0, 0, 0, 0, 0, 12984, 12504, 0, 0, 0, 0, 0, 12024, 0, 0, 0, 0, 0], 18106, 2], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284, 1], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 8334, 12181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6797, 0], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789, 2], [[18, 11, 38, 150, 120, 173, 18, 3, 150, 173, 11, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 35, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 17462, 0, 0, 0, 8334, 11542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20769, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865, 0], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15695, 0, 0, 0, 0, 0, 8334, 13292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9997, 1], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 17612, 12496, 0, 0, 0, 0, 0, 16820, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4933, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 11, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16180, 0, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8131, 2], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 11, 11, 122, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16979, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11705, 0, 0, 0, 0, 0, 0, 12663], 8681, 1], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 11, 54, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [16807, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12829, 11868], 10513, 1], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16501, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12347, 0, 0, 0], 6915, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12341, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11861], 6170, 2], [[18, 11, 38, 150, 150, 173, 150, 71, 54, 10, 33, 33, 122, 10, 11, 11, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [12496, 0, 16500, 0, 0, 0, 0, 0, 0, 11705, 12186, 12186, 0, 12828, 0, 0, 0, 0, 0, 0], 11872, 0], [[11, 18, 11, 38, 173, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 120, 150, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15852, 0, 0, 0, 0, 0, 0, 0, 0], 4879, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15533, 0, 0, 0, 0, 0, 8334, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21377, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 17938, 0, 0, 0, 8334, 0, 12344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867], 8497, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 150, 173, 173, 173, 122, 173, 33, 33, 54], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12986, 0, 12347, 0, 0, 0, 0, 0, 0, 11866, 11867, 0], 15027, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 173, 54, 11], [3, 9, 10, 17, 34, 35, 48, 64, 113, 114, 117, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 8334, 0, 11704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8747, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 11, 10, 33, 54, 18, 122], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12987, 0, 8334, 0], 10824, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8216, 2], [[18, 11, 38, 10, 150, 150, 120, 121, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 0], [9, 10, 17, 34, 113, 114, 143, 166], [12496, 0, 16980, 17939, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5907, 0], [[18, 11, 38, 173, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 124, 124, 122, 11, 33, 54], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16347, 0, 0, 0, 0, 0, 0, 8334, 11705, 0, 0, 12185, 0, 0, 0, 0, 12007, 0], 14327, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 139, 143, 166], [12496, 15692, 0, 0, 0, 0, 0, 8334, 16807, 0, 0, 0, 0, 16985, 0, 0, 0, 0, 0, 0], 11865, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 18096, 0, 0, 0, 8334, 12825, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0], 8810, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 15535, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7832, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 150, 124, 124, 10, 10, 33, 11, 153], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 12826, 12984, 12503, 0, 0], 9154, 2], [[18, 11, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 107, 113, 115, 117, 143, 146, 166], [12496, 0, 0, 16820, 0, 0, 0, 0, 8334, 11704, 0, 0, 0, 0, 0, 0, 12186, 0, 0, 0], 17624, 2], [[18, 38, 11, 150, 173, 150, 173, 120, 18, 3, 173, 124, 124, 150, 10, 173, 54, 11, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [12496, 15692, 0, 0, 0, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 15328, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [12496, 0, 16821, 0, 0, 0, 0, 8334, 0, 0, 12500, 12501, 0, 0, 0, 0, 0, 0, 0, 0], 7080, 2], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 3, 173, 173, 173, 173, 173, 10, 150, 173, 124, 122], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15532, 0, 12496, 0, 0, 0, 0, 8334, 0, 12342, 0, 0, 0, 0, 0, 12985, 0, 0, 0, 0], 14663, 2], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 0, 16980, 0, 0, 0, 8334, 0, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15374, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 12608, 2], [[38, 11, 18, 150, 173, 120, 150, 173, 10, 173, 121, 18, 173, 173, 173, 173, 173, 150, 150, 0], [9, 10, 17, 34, 113, 114, 143, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 16807, 0, 0, 15087, 0, 0, 0, 0, 0, 0, 0, 0], 6802, 1], [[18, 11, 38, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9342, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 10, 173, 173, 173, 173, 173, 173, 173, 122, 150, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 8334, 11705, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12186], 9789, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16023, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 5497, 2], [[18, 11, 38, 150, 150, 120, 173, 3, 3, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 13614, 13451, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9455, 2], [[18, 38, 11, 150, 173, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 150, 18, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [12496, 16980, 0, 0, 0, 0, 0, 8334, 0, 0, 12667, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 10446, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 12347, 0, 0, 0, 0], 10882, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508, 2], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 11705, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9284, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [16980, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 11867, 0, 12506, 0, 0, 0, 8334], 10084, 1], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 150, 173, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15692, 0, 0, 0, 0], 5079, 1], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 2], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 18, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 17302, 0, 0, 0, 8334, 12661, 0, 0, 0, 0, 0, 0, 15087, 0, 0, 0, 0, 0], 8147, 2], [[11, 18, 38, 11, 150, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 18, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 12496, 15851, 0, 0, 0, 0, 0, 12661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8334, 0], 7750, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436, 2], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 11, 11, 82, 153, 153, 10, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 64, 75, 78, 89, 107, 111, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 12986, 12506, 0, 0, 0, 0, 0, 0, 11867, 11865, 0, 0], 27647, 2], [[18, 38, 11, 150, 173, 173, 150, 173, 0, 54, 150, 11, 11, 10, 33, 40, 10, 11, 60, 120], [0, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 139, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 11866, 16807, 12828, 0, 0, 0], 8748, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 150, 11, 11, 54, 10, 33, 122, 82], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [16341, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 12829, 0, 0], 12806, 1], [[18, 11, 38, 150, 150, 120, 150, 173, 54, 10, 33, 11, 11, 122, 10, 10, 153, 153, 10, 153], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 0, 12667, 12984, 0, 0, 12503, 0], 6237, 2], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937, 1], [[38, 18, 11, 150, 173, 150, 150, 120, 173, 173, 173, 3, 11, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [15377, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0], 8937, 0], [[38, 173, 173, 173, 18, 173, 18, 173, 150, 150, 150, 11, 10, 54, 11, 11, 33, 18, 122, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15852, 0, 0, 0, 12496, 0, 12496, 0, 0, 0, 0, 0, 11867, 0, 0, 0, 12828, 8334, 0, 0], 13948, 1], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 10, 11, 11, 122, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16822, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 11867, 0, 0, 0, 0, 0, 0, 0], 9968, 1], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16981, 0, 0, 0, 0, 15087, 11861, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9945, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 10, 124, 124, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 8334, 12186, 12346, 0, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0], 8819, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 11865, 0, 0, 0, 0, 0], 19470, 2], [[11, 18, 11, 38, 150, 120, 150, 3, 173, 173, 173, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 15692, 0, 0, 0, 16807, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0], 7141, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 18, 10, 118, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [12496, 0, 16661, 0, 0, 0, 0, 0, 0, 12496, 8334, 16166, 0, 0, 0, 0, 0, 0, 0, 0], 12849, 0], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 12024, 12345, 0, 0, 0, 0, 0, 0, 0, 11866, 0], 8524, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 150, 124, 124, 124, 124, 124, 173, 173, 173], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 0, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4835, 1], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 1], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 10, 173, 3, 0, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11864, 0, 15861, 0, 0, 0], 5508, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 0, 16807, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6719, 0], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 11, 10, 122, 150, 82, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [12496, 0, 18097, 0, 0, 0, 0, 0, 11705, 12186, 0, 0, 12828, 0, 0, 0, 0, 0, 8334, 0], 8360, 0], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 153, 150, 19, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 0, 16006, 0, 0, 0], 15992, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [12496, 15692, 0, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7447, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [12496, 0, 16826, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17046, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11993, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 173, 173, 54, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 48, 53, 55, 75, 115, 143, 146, 166], [15692, 0, 0, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 0, 12986, 0, 0], 10090, 1], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11705, 0, 0, 0, 0, 0, 0, 12346, 0], 6961, 1], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 18, 118], [3, 9, 10, 17, 18, 22, 34, 48, 111, 113, 114, 117, 130, 143, 166], [12496, 16980, 0, 17612, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 0, 0, 0, 0, 8334, 0], 9765, 2], [[11, 38, 173, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 150, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16981, 0, 0, 0, 0, 0, 0, 0, 17776, 0, 0, 12496, 0, 0, 0, 0, 0, 0, 0], 4840, 1], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12506, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11036, 2], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 18, 124, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [0, 16807, 0, 0, 0, 0, 0, 16981, 0, 0, 0, 0, 0, 0, 0, 12496, 0, 0, 0, 0], 8933, 1], [[18, 11, 10, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [12496, 0, 16507, 16507, 0, 0, 0, 0, 8334, 12185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11704], 13287, 2], [[18, 11, 38, 150, 150, 54, 10, 33, 122, 11, 11, 10, 10, 41, 41, 41, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [12496, 0, 16011, 0, 0, 0, 12186, 11705, 0, 0, 0, 12828, 12665, 12986, 12984, 12984, 0, 0, 0, 0], 11830, 0], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11469, 2], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 54, 10, 33, 10, 10, 122, 11, 11, 41, 18, 82], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 115, 139, 143, 146, 166], [16980, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 12986, 12346, 11865, 11705, 0, 0, 0, 13136, 8334, 0], 23339, 2]], "3015": [[[38, 11, 18, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4778, 1], [[11, 38, 18, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2704, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4845, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 1739, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5218, 1], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823, 1], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807, 1], [[18, 11, 38, 150, 150, 120, 150, 3, 18, 173, 173, 173, 11, 33, 124, 124, 150, 33, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 11177, 0, 0, 0, 0, 7005, 0, 0, 0, 7006, 0, 0], 16157, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3648, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7331, 2], [[18, 11, 38, 150, 150, 120, 10, 18, 121, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 2704, 11177, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0], 7807, 0], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173, 173], [3, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6801, 2], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 150, 173, 173, 173, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3979, 7015, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422, 1], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 11, 122, 33, 11, 54, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1735, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 0, 6682, 0, 0, 7162, 0, 0, 4422], 10044, 1], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 124, 10, 54, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 1899, 0, 0, 0, 0, 0, 6525, 0, 0, 7806, 0], 9127, 2], [[18, 38, 11, 150, 150, 120, 18, 3, 3, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143], [7015, 3819, 0, 0, 0, 0, 11177, 6845, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4021, 1], [[18, 11, 38, 150, 173, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7647, 0, 0, 0, 0, 0, 0, 6845, 0, 0, 0], 7234, 0], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 173, 10, 10, 124, 124, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 7806, 0, 0, 0, 7165, 7165, 0, 0, 0, 6683], 8783, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 4137, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8128, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7168, 0, 0, 0, 0, 0, 0, 0, 7504, 0, 0, 0], 12385, 2], [[18, 11, 38, 150, 150, 173, 71, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 150, 10], [9, 10, 17, 30, 34, 48, 55, 64, 75, 115, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 0, 7806, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 6683], 10073, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 10, 150, 173, 124, 124, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 4610, 0, 0, 0, 0, 0, 4424, 0, 6525, 7806, 0, 0, 0, 0, 0, 0, 0, 0], 12304, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 54, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7807, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 6847], 9339, 1], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 124, 173, 150, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 0, 0, 0, 7326, 0, 0, 0, 0, 0, 0, 0, 0], 10667, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 10, 54, 122, 11], [9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [7015, 0, 3806, 0, 0, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 0, 0, 7165, 0, 0, 0], 9493, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680, 2], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 2], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3536, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 3345, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11633, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2704, 0, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0], 16735, 1], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10663, 2], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7487, 6218], 11803, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 10, 124, 124, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 0, 0, 7164, 0, 6685, 0, 0, 0, 0, 0, 0], 8819, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 124, 124, 10, 33, 11, 11, 173], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7005, 0, 0, 0, 0, 0, 0, 6524, 7806, 0, 0, 0], 8894, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 11177, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6394, 1], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 2], [[18, 11, 38, 173, 150, 173, 150, 120, 173, 173, 3, 150, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 0, 0, 0, 0, 3979, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095, 2], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 18, 3, 10, 10, 10, 10, 173, 173, 173, 173, 3], [3, 9, 10, 17, 34, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 11177, 8128, 7648, 7168, 6527, 6851, 0, 0, 0, 0, 8128], 6106, 2], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7807], 8502, 2], [[38, 11, 173, 173, 173, 150, 173, 120, 173, 173, 3, 173, 173, 124, 124, 18, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [2704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0], 5403, 1], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3010, 0, 0, 0, 6219, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0], 5397, 0], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 10, 173, 173, 173, 173, 118, 11, 150, 54, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6379, 0, 0, 0, 0, 0, 0, 0, 0, 6055, 0], 11541, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 10, 173, 150, 173, 173, 11, 33, 122, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 6527, 6527, 6525, 0, 0, 0, 0, 0, 7005, 0, 0], 12190, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 124, 150, 173, 122, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 122, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 6524], 12677, 2], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 3, 18, 10, 122, 118, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7015, 0, 4142, 0, 0, 0, 0, 0, 0, 11177, 7170, 11177, 7806, 0, 0, 0, 0, 0, 0, 0], 18448, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 18, 173, 150, 124, 124, 173, 173, 173, 173, 124], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 3345, 4424, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10043, 2], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 33, 10, 54, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 2209, 0, 0, 0, 0, 0, 0, 7643, 6682, 0, 0, 0, 7162, 0, 0, 0, 0, 0], 7823, 0], [[18, 11, 38, 150, 150, 173, 173, 3, 173, 173, 120, 173, 150, 124, 124, 124, 173, 173, 11, 54], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 3976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8582, 1], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4273, 0], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 122, 11, 11, 11, 60, 40, 82, 18, 10, 0], [9, 10, 17, 30, 34, 35, 48, 75, 115, 143], [7015, 0, 3819, 0, 0, 0, 0, 0, 7166, 7646, 0, 0, 0, 0, 0, 6376, 0, 11177, 6686, 0], 5877, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 10, 124, 173, 124, 33, 122, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 6845, 0, 0, 0, 0, 0, 7325, 0, 0, 0, 7967, 0, 0], 9926, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 7010, 0, 0, 0, 0], 10342, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 10, 173, 173, 173, 173, 173, 118, 173, 173, 124], [3, 9, 10, 17, 30, 34, 111, 113, 115, 117, 143, 166], [7015, 0, 4142, 0, 0, 0, 11177, 6527, 6526, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8767, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292, 1], [[18, 11, 38, 150, 150, 10, 150, 33, 122, 11, 54, 10, 173, 10, 11, 173, 173, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 3185, 0, 7164, 0, 0, 0, 6525, 0, 7806, 0, 0, 0, 0, 0, 0], 11491, 1], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 122, 33, 173, 173, 173, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7170, 7806, 0, 0, 7325, 0, 0, 0, 0, 0, 0, 0], 25010, 2], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 18, 10, 41, 41, 3], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 11177, 7185, 7171, 7008, 7185], 7732, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 7646, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5408, 2], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 124, 173, 173, 173, 10, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7485, 0, 0, 0, 0, 0, 0, 0, 0, 6845, 7967, 0], 11007, 2], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947, 2], [[18, 38, 11, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7015, 3819, 0, 0, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9306, 2], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 6684, 0, 0, 0, 0, 0, 0], 6706, 0], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7015, 0, 3500, 0, 0, 0, 0, 0, 0, 11177, 7330, 0, 0, 0, 0, 0, 0, 0, 0, 6057], 7680, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 118, 173, 173, 173, 173, 173, 173, 173, 150, 3, 11], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6058, 0], 8691, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 3, 150, 124, 124, 173, 173, 10, 173, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7166, 7164, 0, 0, 0, 0, 0, 6685, 0, 0, 0], 11109, 2], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 124, 124, 150, 122, 11, 11, 54], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 155, 166], [7015, 0, 2531, 0, 0, 0, 11177, 7325, 0, 0, 0, 0, 7806, 0, 0, 0, 0, 0, 0, 0], 29183, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418, 2], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 3, 173, 173, 173, 10, 124, 124, 54], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 4424, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 8299, 0, 0, 0], 10418, 1], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 150, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 2704, 2704, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 6683, 0, 0, 0, 0], 19485, 2], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 173, 124, 10, 122, 11, 11, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7015, 0, 3818, 0, 0, 0, 0, 11177, 7165, 0, 0, 0, 0, 0, 0, 7806, 0, 0, 0, 6684], 13468, 2], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 173, 11, 11, 122, 10, 153, 10, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 6525, 6525, 7005, 0, 0, 0, 0, 7644, 0, 7643, 0, 0, 7806], 12947, 0], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 150, 10, 33, 11, 122, 11, 54, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6686, 6526, 0, 6525, 7006, 0, 0, 0, 0, 0, 0], 13920, 2], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 3819, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7246, 2], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 124, 124, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3170, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 7967, 0, 0, 0, 0], 8754, 1], [[11, 18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 3, 10, 18, 33, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3007, 6685, 11177, 7808, 0, 0, 0, 0, 0], 10214, 1], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7645, 0, 0, 0], 6743, 2], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7015, 0, 4139, 0, 0, 0, 11177, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11168, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 173, 124, 124, 150, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 11177, 2705, 2704, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16755, 1], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 10, 10, 173, 173, 173, 10, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 114, 117, 143, 146, 166], [1900, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 7644, 7163, 6683, 0, 0, 0, 6526, 7006], 9219, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7015, 0, 2704, 0, 0, 0, 0, 0, 11177, 7010, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7132, 2], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 4424, 7169, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11011, 2], [[18, 11, 38, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 6850, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5779, 1], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 10, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 0, 0, 11177, 7170, 0, 0, 0, 0, 0, 0, 6218, 0, 0, 0], 8659, 2], [[18, 38, 11, 150, 150, 120, 3, 18, 173, 173, 124, 173, 173, 10, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 113, 115, 117, 143, 146, 166], [7015, 3010, 0, 0, 0, 0, 4140, 11177, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0], 13431, 1], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3324, 0, 0, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7004, 0, 0, 0], 6169, 2], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 113, 115, 117, 130, 132, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24653, 1], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 10, 118, 173, 173, 173, 173, 173, 173, 18, 3, 150], [3, 9, 10, 17, 34, 111, 113, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 6526, 0, 0, 0, 0, 0, 0, 0, 11177, 7006, 0], 5921, 2], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 150, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3819, 0, 0, 0, 0, 0, 0, 3975, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0], 4164, 1], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 173, 121, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [7015, 0, 3665, 0, 0, 0, 0, 11177, 7651, 8289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7617, 1], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 10, 54, 122, 33, 11, 11, 18, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 7164, 0, 0, 6683, 0, 0, 11177, 0, 0, 0], 11161, 1], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 173, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 0, 0, 3185, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5292, 0], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [7015, 0, 3979, 0, 0, 0, 4424, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9468, 2], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 122, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3819, 0, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 6524, 7643, 0, 0, 0, 0, 7163, 0], 13923, 1], [[18, 11, 38, 150, 150, 150, 150, 54, 33, 10, 10, 10, 122, 11, 11, 82, 10, 153, 153, 10], [3, 9, 10, 17, 30, 34, 48, 75, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7806, 6525, 7005, 7165, 0, 0, 0, 0, 6848, 0, 0, 7328], 9789, 1]]}, "random": {"3015": [[[18, 11, 38, 150, 150, 120, 173, 173, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 117, 130, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 7170, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25738], [[38, 173, 173, 173, 18, 39, 173, 173, 39, 39, 173, 173, 39, 39, 39, 39, 39, 39, 173, 0], [17, 34, 166], [2532, 0, 0, 0, 12502, 12343, 0, 0, 14742, 14416, 0, 0, 16508, 16986, 16188, 13134, 13136, 12653, 0, 0], 3895], [[18, 11, 38, 10, 150, 150, 122, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [7015, 0, 3979, 1899, 0, 0, 0, 7166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10551]], "16176": [[[18, 38, 11, 150, 150, 173, 173, 11, 150, 173, 173, 173, 173, 173, 173, 120, 150, 54, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [12496, 16501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15210, 0], 11668], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 10, 10, 18, 118, 121], [3, 9, 10, 17, 34, 48, 111, 113, 114, 117, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0, 12026, 12507, 8334, 0, 0], 10248], [[18, 11, 38, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 8334, 0, 0, 0, 0], 5452]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/lurker.json b/dizoo/distar/envs/z_files/lurker.json deleted file mode 100644 index e626946fbf..0000000000 --- a/dizoo/distar/envs/z_files/lurker.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[38, 18, 173, 150, 11, 150, 150, 33, 120, 10, 10, 54, 11, 11, 11, 173, 173, 173, 118, 122], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 130, 143, 146, 166], [20296, 16294, 0, 0, 0, 0, 0, 16282, 0, 16762, 17402, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19422], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 10, 124, 124, 150, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 110, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 22529, 0, 0, 0, 0, 0, 21062, 0, 16283, 0, 16764, 0, 0, 0, 0, 17404, 0, 0], 26838], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 3, 10, 150, 122, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 21062, 0, 0, 0, 0, 0, 0, 16783, 15663, 0, 0, 15336], 21134], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 124, 10, 173, 150, 173, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 65, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21741, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 16440, 0, 0, 0, 0, 16597, 0], 25769], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 64, 75, 78, 83, 86, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 0, 21062, 0, 16605, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29763], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 10, 173, 173, 173, 150, 122, 124, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29739], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 124, 150, 10, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0], 16648], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 173, 173, 122, 124, 33, 173, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [16294, 0, 21567, 0, 0, 0, 21062, 0, 16283, 0, 0, 16764, 0, 0, 0, 0, 17402, 0, 0, 0], 26418], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835]], "2899": [[[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 173, 173, 122, 150, 173, 54, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7697, 0, 3855, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 7227, 0, 0, 0, 0, 0, 0, 0], 20021], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 10, 118, 18, 120, 173, 173, 173, 54, 11, 11, 173, 150, 3, 173, 173], [3, 9, 10, 17, 18, 22, 25, 26, 34, 48, 50, 111, 113, 114, 117, 130, 143, 166], [7697, 0, 3695, 0, 0, 2092, 0, 6748, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0], 11245], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [7697, 3695, 0, 0, 0, 0, 0, 0, 0, 2929, 1616, 0, 0, 0, 0, 0, 0, 0, 0, 0], 34015]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 0, 18, 10, 173, 173, 173, 173, 122, 33, 33, 11, 11, 173, 173], [0, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7015, 0, 3819, 0, 0, 0, 0, 11177, 7164, 0, 0, 0, 0, 0, 7646, 7646, 0, 0, 0, 0], 19622], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 27651], [[18, 11, 38, 120, 18, 3, 150, 173, 173, 173, 10, 33, 11, 124, 124, 11, 118, 173, 54, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 78, 83, 111, 113, 115, 117, 130, 143, 166], [7015, 0, 1572, 0, 11177, 7806, 0, 0, 0, 0, 7325, 6684, 0, 0, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 3, 173, 18, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7015, 0, 3010, 0, 0, 0, 7328, 0, 11177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22003], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 150, 124, 124, 10, 33, 122, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 55, 56, 64, 75, 78, 83, 85, 86, 89, 107, 109, 110, 111, 112, 113, 114, 115, 117, 122, 130, 132, 143, 146, 155, 166], [7015, 0, 3665, 0, 0, 0, 4424, 0, 7004, 0, 0, 0, 0, 0, 0, 6524, 7644, 0, 0, 0], 44372]], "16176": [[[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[11, 38, 18, 150, 11, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 89, 111, 115, 130, 143, 146, 155, 166], [0, 16807, 12496, 0, 0, 0, 0, 0, 0, 11867, 12668, 11867, 0, 0, 0, 0, 0, 0, 0, 0], 23162], [[18, 38, 11, 150, 150, 54, 10, 33, 11, 122, 18, 18, 82, 11, 150, 19, 153, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 50, 75, 78, 115, 130, 143, 146], [12496, 16980, 0, 0, 0, 0, 11867, 12347, 0, 0, 8334, 15087, 0, 0, 0, 16006, 0, 0, 0, 0], 15992], [[38, 11, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 10, 33, 18, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146, 155, 166], [16980, 0, 12496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 11705, 8334, 0, 0, 0], 38226], [[38, 18, 173, 150, 11, 150, 150, 10, 33, 10, 118, 11, 11, 11, 54, 120, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 114, 115, 130, 143, 166], [15692, 12496, 0, 0, 0, 0, 0, 11867, 12347, 12987, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11560], [[18, 38, 11, 150, 150, 150, 150, 10, 33, 122, 54, 11, 11, 11, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146], [12496, 16661, 0, 0, 0, 0, 0, 11705, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 12185, 0, 0], 25022], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 18, 19, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 139, 143, 146, 155, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 0, 11865, 0, 0, 0, 0, 0, 0, 0, 0, 12346], 32024], [[38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 54, 11, 11, 11, 118, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 30, 34, 48, 50, 78, 83, 111, 113, 115, 130, 143, 166], [15532, 12496, 0, 0, 0, 0, 0, 11866, 12346, 12986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12297]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 11, 11, 11, 54, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 111, 113, 115, 130, 143, 146, 155, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 10731, 6741, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17155]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166, 155, 56], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166, 47], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166, 47, 48], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/mutalisk.json b/dizoo/distar/envs/z_files/mutalisk.json deleted file mode 100644 index f099f0ceed..0000000000 --- a/dizoo/distar/envs/z_files/mutalisk.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 173, 173, 173, 54, 124, 124, 173, 173, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 113, 115, 117, 122, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16283, 0, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14085], [[11, 38, 18, 11, 150, 173, 150, 150, 54, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 21568, 16294, 0, 0, 0, 0, 0, 0, 16284, 16924, 17403, 0, 0, 0, 0, 0, 0, 0, 0], 8186], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 11, 11, 54, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13191], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 54, 173, 173, 150, 121, 11, 11], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9733], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 173, 124, 124, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 113, 114, 117, 139, 143, 166], [16294, 0, 22529, 0, 0, 0, 21062, 0, 0, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14734], [[11, 18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 173, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 113, 114, 115, 117, 139, 143, 146, 166], [0, 16294, 0, 20136, 0, 0, 0, 0, 21062, 0, 16283, 0, 0, 0, 0, 0, 16923, 0, 0, 0], 13327], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 20927, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0], 13018], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 124, 11, 11, 54, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 109, 110, 113, 115, 117, 122, 139, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 17403], 18868], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 54, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [16294, 0, 20296, 0, 0, 0, 21062, 16765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13779], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 120, 3, 18, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [20296, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 16449, 21062, 0, 0, 0, 0, 0, 0, 0, 0], 14567], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [16294, 0, 21568, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16923], 13738], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 54, 11, 3, 173, 11, 11, 40, 173, 173, 120, 18], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 48, 55, 65, 75, 89, 107, 109, 110, 111, 113, 115, 122, 139, 143, 146, 166], [16294, 0, 21407, 0, 0, 0, 0, 0, 0, 0, 0, 16283, 0, 0, 0, 21422, 0, 0, 0, 21062], 24906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 65, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [16294, 0, 21087, 0, 0, 0, 0, 21062, 16764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25835]], "2899": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 54, 11, 11, 10, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 3855, 0, 0, 0, 2929, 0, 7708, 0, 0, 0, 0, 0, 0, 7226, 0, 0, 0, 0], 9389], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 11, 54, 11, 11, 173, 11, 11, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8279], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 120, 18, 10, 10, 150, 121, 118, 173, 173, 173, 173], [9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 139, 143, 166], [7697, 0, 2583, 0, 0, 0, 0, 0, 0, 0, 2929, 7223, 7703, 0, 0, 0, 0, 0, 0, 0], 16310], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 173, 173, 173, 173, 173, 3, 10, 150, 121, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 8007, 6571, 0, 0, 0], 11501], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 173, 124, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 115, 117, 139, 143, 166], [7697, 0, 2729, 0, 0, 0, 2929, 7708, 0, 0, 0, 7551, 0, 0, 0, 0, 0, 0, 0, 0], 9593], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7697, 0, 2589, 0, 0, 0, 0, 2929, 7227, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 13032], [[18, 11, 38, 150, 150, 173, 173, 173, 54, 150, 120, 10, 11, 11, 121, 11, 33, 10, 173, 40], [9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 139, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 7228, 6589, 0, 2093], 21142], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 3, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 48, 50, 56, 64, 65, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 0, 7707, 0, 0, 0, 0, 0], 27448], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 11, 173, 150, 173, 173, 54], [3, 10, 17, 34, 35, 48, 109, 113, 139, 143, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11308], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 173, 173, 173, 173, 173, 173, 11, 18, 3], [3, 9, 10, 17, 19, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7697, 0, 2424, 0, 0, 0, 1617, 2929, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2929, 3066], 15230], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 124, 124, 54, 10, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 50, 110, 113, 114, 115, 117, 130, 139, 143, 166], [7697, 0, 3529, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 7228, 0, 0], 13588], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 150, 150, 173, 173, 173, 173, 54, 11, 11, 150], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7697, 0, 2423, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10305], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 11, 150, 124, 11, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 89, 109, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [3230, 0, 7697, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 0, 0, 0, 0, 0, 0, 0], 29570], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 111, 113, 115, 117, 130, 139, 143, 146, 166], [7697, 0, 2424, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 6906, 0, 0], 19054]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 173, 173, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 4583, 0, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14125], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 173, 173, 173, 173, 173, 118, 33, 11, 150], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [7015, 0, 3665, 0, 0, 0, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 7327, 0, 0], 21588], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 10, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [7015, 0, 2531, 0, 0, 0, 0, 7806, 7165, 0, 0, 0, 6525, 0, 0, 0, 0, 0, 0, 0], 16668], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 173, 173, 3, 150, 173, 173, 10, 54, 122, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 111, 113, 115, 117, 122, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 0, 0, 7806, 0, 0, 0, 7325, 0, 0, 0, 0], 15381], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 18, 120, 10, 33, 122, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [3979, 0, 0, 0, 7015, 0, 0, 0, 0, 0, 0, 0, 11177, 0, 7806, 7325, 0, 0, 0, 0], 13900], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 115, 117, 139, 143, 166], [7015, 0, 3819, 0, 0, 0, 0, 0, 11177, 6687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12874], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3979, 0, 0, 0, 0, 0, 11177, 6525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15763], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 4424, 7806, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7325], 12952], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 7325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13381]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 150, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 16011, 0, 0, 0, 0, 0, 17288, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10248], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 54, 11, 11, 124, 124, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8936], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 150, 173, 124, 124, 173, 11, 11, 54, 124, 11], [3, 10, 17, 18, 22, 34, 35, 48, 50, 64, 113, 117, 130, 139, 143, 166], [12496, 0, 15692, 0, 0, 0, 8334, 12501, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 29206], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 173, 173, 173, 118, 173, 173, 173, 33, 11], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 111, 113, 115, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 8334, 12347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11867, 0], 16190], [[18, 11, 38, 150, 173, 150, 173, 120, 3, 150, 18, 173, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 13296, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19749], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54, 124], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 11544, 0, 0, 0, 0], 9402], [[18, 11, 38, 150, 150, 120, 173, 3, 173, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16501, 0, 0, 0, 0, 12663, 0, 8334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12469], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 150, 10, 124, 11, 11, 122, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 0, 11544, 0, 0, 0, 12986, 0, 0, 0, 0, 12506], 18377], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 3, 173, 173, 173, 150, 11, 54, 124], [3, 10, 17, 30, 34, 35, 48, 89, 110, 113, 117, 139, 143, 146, 166], [16507, 0, 12496, 0, 0, 0, 0, 8334, 0, 0, 0, 0, 11704, 0, 0, 0, 0, 0, 0, 0], 24595], [[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 18, 121, 173, 173, 173, 173, 173, 173, 3, 150, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [12496, 0, 16807, 0, 0, 0, 0, 0, 17288, 8334, 0, 0, 0, 0, 0, 0, 0, 12006, 0, 0], 12530], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 173, 173, 10, 11, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 8334, 0, 11867, 0, 0, 12507, 0, 0, 0, 0, 0, 0, 0], 12691], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 54, 11, 33, 10, 10, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 111, 113, 114, 115, 139, 143, 146, 166], [12496, 0, 15542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11705, 12185, 12984, 0], 14901]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[18, 38, 150, 150, 173, 150, 11, 11, 173, 150, 54, 10, 10, 11, 11, 118, 121, 40, 120, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [5933, 3051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6264, 7062, 0, 0, 0, 0, 1607, 0, 0], 11639], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 10, 120, 18, 173, 118, 150], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 6900, 0, 10731, 0, 0, 0], 11354], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 18, 120, 33, 54, 10], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 110, 111, 113, 115, 139, 143, 146, 166], [2891, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10731, 0, 6900, 0, 6421], 17207], [[38, 173, 173, 173, 173, 18, 11, 173, 150, 150, 150, 11, 11, 10, 11, 54, 33, 122, 18, 11], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [1619, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 6584, 0, 10731, 0], 12062], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 10, 3, 121, 3, 11, 150, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [5933, 0, 2891, 0, 0, 0, 0, 0, 0, 10731, 6901, 6423, 0, 6103, 0, 0, 0, 0, 0, 0], 11364]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/nydus.json b/dizoo/distar/envs/z_files/nydus.json deleted file mode 100644 index 54e8db28c8..0000000000 --- a/dizoo/distar/envs/z_files/nydus.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 150, 173, 124, 10, 54, 11, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [16294, 0, 21262, 0, 0, 0, 21062, 0, 16443, 0, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 11, 150, 54, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 115, 117, 143, 166], [16294, 0, 21568, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 16764, 0, 0, 0, 0, 0, 0, 0], 8242], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [16294, 0, 20296, 0, 0, 0, 0, 0, 0, 21062, 0, 16604, 0, 0, 0, 0, 0, 0, 0, 0], 16568], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16294, 0, 21567, 0, 0, 0, 0, 0, 0, 21062, 16283, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12311]], "2899": [[[18, 11, 38, 150, 150, 54, 150, 11, 33, 27, 153, 153, 153, 153, 153, 153, 153, 153, 153, 28], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146], [7697, 0, 3695, 0, 0, 0, 0, 0, 6571, 8495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20243], 11440], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 0, 0, 1617, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11984], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 122, 82, 18, 153, 27, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [7697, 0, 3529, 0, 0, 0, 0, 0, 0, 7709, 7229, 0, 0, 0, 0, 2929, 0, 6570, 0, 0], 13232], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 150, 173, 124, 124, 173, 173, 54, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 2904, 0, 0, 0, 0, 2929, 7386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7866], 11365], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 150, 124, 124, 124, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 0, 2929, 7708, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20124], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 10, 33, 173, 173, 173, 122, 11], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7697, 0, 3695, 0, 0, 0, 0, 0, 2929, 0, 0, 0, 0, 7708, 7227, 0, 0, 0, 0, 0], 15065], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7697, 0, 1617, 0, 0, 0, 2929, 7542, 0, 0, 0, 7386, 0, 0, 0, 0, 0, 0, 0, 0], 10479]]}}, "NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 150, 11, 27, 150, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [7015, 0, 3979, 0, 0, 0, 0, 7806, 6525, 0, 0, 8616, 0, 0, 0, 0, 0, 0, 0, 0], 7133], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3164, 0, 0, 0, 0, 0, 11177, 7326, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000], [[38, 18, 11, 173, 173, 150, 150, 150, 10, 54, 33, 11, 11, 122, 10, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [2532, 7015, 0, 0, 0, 0, 0, 0, 7644, 0, 7164, 0, 0, 0, 6524, 6377, 0, 0, 0, 0], 12572]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 173, 18, 3, 173, 150, 10, 124, 124, 173, 124, 173, 173, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 139, 143, 146, 166], [12496, 0, 16980, 0, 0, 0, 0, 0, 8334, 12186, 0, 0, 12666, 0, 0, 0, 0, 0, 0, 0], 11760], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 16980, 0, 0, 0, 0, 8334, 12186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17571], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 16341, 0, 0, 0, 8334, 12346, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13480]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[38, 18, 173, 173, 11, 150, 150, 54, 33, 11, 27, 150, 150, 153, 153, 153, 153, 153, 153, 28], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [2891, 5933, 0, 0, 0, 0, 0, 0, 6738, 0, 6260, 0, 0, 0, 0, 0, 0, 0, 0, 20244], 5973], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 173, 150, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 1619, 0, 0, 0, 10731, 6422, 0, 0, 0, 5943, 0, 0, 0, 0, 0, 0, 0, 6898], 10911], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 150, 120, 10, 33, 173, 173, 173, 18, 122, 54], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [1766, 0, 0, 0, 0, 5933, 0, 0, 0, 0, 0, 0, 6582, 6899, 0, 0, 0, 10731, 0, 0], 11219], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [5933, 0, 2266, 0, 0, 0, 0, 0, 10731, 6899, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9399]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/perfect_z.json b/dizoo/distar/envs/z_files/perfect_z.json deleted file mode 100644 index 1a3afc09f5..0000000000 --- a/dizoo/distar/envs/z_files/perfect_z.json +++ /dev/null @@ -1 +0,0 @@ -{"NewRepugnancy": {"zerg": {"3015": [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588]], "16176": [[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14588]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/stairs.json b/dizoo/distar/envs/z_files/stairs.json deleted file mode 100644 index 460d201a8b..0000000000 --- a/dizoo/distar/envs/z_files/stairs.json +++ /dev/null @@ -1 +0,0 @@ -{"NewRepugnancy": {"zerg": {"3015": [[[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 10, 150, 122, 54, 11, 11, 33, 11, 82], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7015, 0, 3819, 0, 0, 0, 11177, 0, 0, 7325, 0, 7806, 0, 0, 0, 0, 0, 7185, 0, 0], 14588], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 124, 124, 173, 173, 173, 124], [3, 10, 17, 34, 113, 143, 117, 166], [7015, 3010, 0, 0, 0, 0, 11177, 6527, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8000], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 33, 124], [3, 10, 17, 34, 113, 143, 117, 166, 30, 146, 55], [7015, 0, 3975, 0, 0, 0, 11177, 7327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6219, 0], 12000]], "16176": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 10, 150, 11, 122, 54, 11, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [12496, 0, 15692, 0, 0, 0, 0, 0, 0, 8334, 12346, 12346, 0, 0, 0, 0, 0, 13454, 0, 0], 14588], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124], [3, 10, 17, 34, 113, 143, 117, 166], [12496, 0, 15372, 0, 0, 0, 8334, 11705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8000], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 143, 117, 166, 30, 146, 55], [12496, 0, 16981, 0, 0, 0, 0, 0, 15087, 11702, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12000]]}}} \ No newline at end of file diff --git a/dizoo/distar/envs/z_files/worker_rush.json b/dizoo/distar/envs/z_files/worker_rush.json deleted file mode 100644 index 34d55a30a6..0000000000 --- a/dizoo/distar/envs/z_files/worker_rush.json +++ /dev/null @@ -1 +0,0 @@ -{"KingsCove": {"zerg": {"20772": [[[38, 173, 173, 173, 173, 173, 39, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21087, 0, 0, 0, 0, 0, 3231, 0, 16294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4437], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [22375, 0, 0, 0, 0, 0, 0, 0, 4179, 3862, 3705, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3741]], "2899": [[[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 19011, 0, 19011, 0, 19498, 0, 0, 0, 0, 0, 0, 0, 0], 4161], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 19013, 19175, 19659, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3532], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 0, 0, 0, 0, 19973, 19971, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4282], [[38, 173, 173, 173, 173, 39, 173, 173, 173, 173, 39, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2092, 0, 0, 0, 0, 19011, 0, 0, 0, 0, 19337, 19332, 19331, 0, 0, 0, 0, 0, 0, 0], 3774]]}}, "NewRepugnancy": {"zerg": {"3015": [[[38, 173, 173, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3819, 0, 0, 0, 0, 16028, 0, 0, 0, 14580, 0, 15544, 15058, 0, 0, 0, 0, 0, 0, 0], 3977], [[38, 173, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1899, 0, 0, 0, 0, 0, 0, 14418, 0, 14742, 15542, 15062, 0, 0, 0, 0, 0, 0, 0, 0], 5384]], "16176": [[[38, 173, 173, 173, 173, 173, 39, 173, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 0, 0, 0, 2844, 0, 2844, 4451, 4773, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4037], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3324, 0, 0, 0, 4134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[38, 173, 173, 39, 173, 173, 173, 39, 173, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [15692, 0, 0, 3645, 0, 0, 0, 4935, 0, 4937, 4615, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4354]]}}, "CyberForest": {"zerg": {"2577": [[[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1452, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3909], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1298, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3864], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 18, 173, 10, 150, 118, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7066, 7224, 11215, 0, 7225, 0, 0, 7542, 0, 0, 0, 0], 9727], [[18, 11, 38, 150, 120, 173, 173, 150, 10, 33, 122, 54, 11, 11, 150, 153, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3374, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8885], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 11215, 0], 9199], [[18, 11, 38, 150, 150, 150, 173, 54, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7225, 7860, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0], 8724], [[38, 11, 18, 150, 173, 150, 150, 150, 150, 54, 10, 10, 11, 11, 33, 33, 11, 122, 82, 60], [9, 10, 17, 30, 34, 35, 48, 75, 89, 115, 139, 143, 146, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7065, 7225, 0, 0, 7382, 7542, 0, 0, 0, 0], 10608], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 124, 124, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9968], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 173, 18, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 3691, 0, 0, 0, 6901, 0, 0, 11215, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10526], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11584], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3410], [[38, 173, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 54, 10, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 8829], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 150, 10, 33, 18, 11, 10, 33, 150], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 11215, 0, 7860, 7225, 0], 13189], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 173, 18, 150, 150, 10, 122, 11, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 2425, 0, 0, 0, 0], 11273], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 11, 11, 11, 33, 10, 54, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [2102, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0], 10048], [[38, 18, 11, 173, 150, 173, 173, 150, 150, 11, 11, 173, 173, 54, 10, 33, 122, 11, 82, 60], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [3211, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0], 10965], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 150, 10, 54, 33, 11, 11, 10, 10, 122, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 7381, 7381, 0, 6902], 7499], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 173, 173, 118, 33, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7382, 0, 0, 0, 0, 0], 9710], [[38, 11, 18, 173, 173, 150, 120, 150, 173, 173, 18, 3, 150, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [3061, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 0, 0, 0, 0], 11456], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 10, 33, 10, 173], [9, 10, 17, 30, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7065, 7066, 7383, 7859, 0], 5619], [[38, 150, 173, 173, 173, 11, 173, 173, 18, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5996], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 10, 33, 10, 11, 11, 11], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2247, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 7382, 0, 0, 0], 9847], [[18, 11, 38, 173, 150, 150, 173, 120, 150, 150, 54, 33, 10, 11, 11, 11, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 7699, 7062, 7542, 5770], 8910], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 3373, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6192], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1292, 0, 0, 0, 0, 0, 0], 6502], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1622, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3294], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 150, 10, 18, 33, 120, 122, 54, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 0, 7860, 11215, 7382, 0, 0, 0, 0, 0, 0, 0], 11699], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 9434], [[11, 38, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 173, 150, 11, 11, 10, 122, 33, 18], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [0, 2102, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 6247, 0, 6900, 11215], 15407], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 75, 78, 83, 86, 111, 113, 115, 117, 130, 132, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 11215, 0, 7225, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20610], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 173, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4422], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 10, 122, 11, 11, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 3052, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15474], [[11, 38, 18, 173, 173, 150, 120, 150, 150, 3, 173, 173, 173, 173, 173, 173, 124, 124, 54, 11], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [0, 3052, 6896, 0, 0, 0, 0, 0, 0, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12212], [[18, 11, 38, 150, 173, 150, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 173, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [6896, 0, 3052, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7087], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 9629], [[18, 11, 38, 150, 173, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 27, 82, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7542, 5771, 0, 0, 0, 0], 7706], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 10, 33, 11, 11, 10, 150, 10], [9, 10, 17, 30, 34, 143, 146, 166], [2100, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7382, 0, 6902], 6240], [[38, 38, 11, 173, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1297, 1297, 0, 0, 0, 0, 0, 0, 0, 0, 3062, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9601], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 60, 122, 153, 82, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146], [6896, 0, 3207, 0, 0, 0, 0, 7225, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 10926], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 124, 173, 173, 33, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3050, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 7225, 0, 0, 0, 7222, 0, 0], 11489], [[11, 38, 18, 150, 11, 173, 150, 150, 120, 18, 11, 173, 173, 173, 10, 173, 173, 33, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 75, 78, 83, 111, 113, 115, 130, 132, 143, 146, 166], [0, 2101, 6896, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0, 7860, 0, 0, 7225, 0, 0], 18044], [[18, 38, 150, 150, 173, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [6896, 2907, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14822], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 124, 124, 124, 173, 150, 173, 122, 11], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 8782], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 150, 11, 173, 173, 173, 173, 173, 173, 173, 173, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7383], 9389], [[18, 38, 11, 150, 173, 150, 173, 173, 120, 18, 18, 150, 150, 10, 11, 41, 118, 11, 41, 11], [9, 10, 17, 30, 34, 35, 48, 55, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 6896, 11215, 0, 0, 2248, 0, 11372, 0, 0, 11210, 0], 11912], [[38, 173, 173, 150, 173, 18, 173, 150, 173, 150, 11, 10, 33, 150, 11, 10, 120, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 7381, 0, 0, 0, 0], 9013], [[18, 38, 11, 173, 173, 150, 173, 150, 173, 173, 120, 18, 11, 11, 10, 10, 173, 173, 173, 18], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7699, 7860, 0, 0, 0, 6283], 10031], [[18, 38, 11, 150, 150, 10, 33, 33, 54, 122, 11, 11, 150, 82, 18, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 7860, 7382, 7382, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0], 8959], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 173, 150, 173, 120, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [1769, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 2103, 0, 0, 0, 0], 7136], [[18, 38, 11, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10197], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 10, 33, 10, 10, 10, 173, 173, 10, 0], [9, 17, 30, 34, 143, 166], [1769, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7860, 7382, 7066, 6903, 6903, 0, 0, 6900, 0], 5857], [[18, 38, 11, 10, 150, 150, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0], [9, 10, 17, 34, 113, 114, 143, 166], [6896, 2248, 0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 173, 3, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4652], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 124, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 0, 0], 10015], [[11, 38, 18, 173, 173, 173, 120, 173, 173, 150, 173, 3, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 2101, 0, 0, 0, 0, 0, 0, 0, 0], 6167], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 150, 173, 120, 18, 173, 3, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 7700, 0, 0, 0, 0], 7372], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 120, 33, 33, 18, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7701, 7860, 11215, 0, 0], 10447], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 10, 120, 54, 122, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7222, 0, 0, 0, 0], 8772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 150, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3853, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 8586], [[38, 150, 173, 18, 11, 150, 150, 150, 54, 10, 33, 11, 11, 122, 60, 18, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 6896, 0, 0, 0, 0, 0, 7065, 7860, 0, 0, 0, 0, 11215, 0, 0, 0, 0], 8934], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 122, 11, 33, 11, 173, 173, 173, 150, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 2908, 0, 0, 0, 11215, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 11334], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3692, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 14331], [[38, 173, 173, 173, 173, 173, 173, 18, 11, 173, 150, 173, 150, 120, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2101, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5924], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 10, 33, 10, 150, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 0, 0, 7860, 7860, 7381, 0, 0, 0], 13464], [[18, 11, 38, 120, 173, 18, 10, 122, 33, 11, 11, 150, 173, 173, 173, 173, 173, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [6896, 0, 4017, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19670], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 173, 18, 11, 11, 33, 10, 11, 122, 11, 54], [9, 10, 17, 18, 22, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [1138, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 7382, 0, 0, 0, 0], 17761], [[38, 11, 18, 150, 173, 173, 11, 173, 120, 150, 18, 33, 10, 11, 150, 11, 121, 11, 54, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 114, 117, 139, 143, 146, 166], [3533, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0], 12337], [[38, 18, 173, 173, 173, 150, 11, 150, 150, 33, 10, 11, 11, 122, 153, 153, 153, 82, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [1293, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10644], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 18, 54, 10, 33, 11, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7701, 11215, 0, 7860, 7225, 0, 7381, 0], 16072], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 10, 150, 11, 11, 11, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7382, 7225, 0, 0, 0, 0, 7222, 0], 14129], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 28, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6896, 0, 3534, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 5770, 0, 0, 0, 21206, 0, 0], 7452], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7383, 0, 0, 0, 0, 0, 0, 0, 0, 6726, 0, 0, 0], 8660], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 33, 122, 11, 11, 82, 60, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 2248, 0, 0, 0, 0, 0, 7225, 7860, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0], 8990], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4305], [[18, 11, 38, 120, 18, 10, 150, 33, 173, 122, 11, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7643], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 5770, 0, 0, 0, 0], 21503], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 33, 122, 54, 11, 11, 153, 11, 150, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 11215, 7225, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14534], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 18, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 9307], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 124, 3, 18], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 4173, 0, 0, 0, 0, 0, 0, 0, 0, 6736, 6897], 15881], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 124, 124, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 4021], [[18, 11, 38, 150, 150, 150, 54, 10, 10, 33, 11, 122, 11, 82, 60, 18, 18, 60, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 7225, 7860, 0, 0, 0, 0, 0, 6443, 6283, 0, 0, 0], 9485], [[18, 38, 11, 150, 150, 120, 18, 10, 33, 150, 122, 11, 54, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 11215, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9956], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14607], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 33, 173, 173, 173, 173, 173, 173, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 1295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16546], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7195], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 118, 33, 10, 11, 120, 121], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 139, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 2094, 0, 7225, 7381, 0, 0, 0], 20856], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 173, 173, 10, 120, 18, 122, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 6283, 0, 7225], 10280], [[18, 11, 38, 150, 150, 120, 150, 120, 10, 173, 33, 173, 173, 173, 122, 173, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 9779], [[38, 18, 11, 173, 173, 150, 150, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 10, 33, 10], [9, 10, 17, 30, 34, 115, 143, 146, 166], [3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7381], 9615], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 2248, 0, 0, 0, 0, 0, 0, 0, 2582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4954], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 10, 173, 173, 173, 173, 173, 122, 150, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15754], [[18, 11, 38, 150, 150, 120, 3, 3, 3, 173, 18, 173, 54, 11, 11, 11, 40, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 75, 78, 83, 110, 113, 115, 130, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 6741, 6741, 6741, 0, 11215, 0, 0, 0, 0, 0, 1454, 0, 0, 0], 14547], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 11, 33, 10, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [3690, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0], 11152], [[38, 11, 18, 150, 173, 120, 150, 41, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 11, 54], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2748, 0, 6896, 0, 0, 0, 0, 6412, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 0, 0], 15422], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 173, 150, 11, 54, 10, 11, 33, 122, 153], [9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0], 16267], [[38, 173, 18, 173, 150, 173, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7803], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 120, 33, 173, 173, 173, 18], [9, 10, 17, 30, 34, 48, 55, 111, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 7225, 0, 0, 0, 11215], 10417], [[18, 11, 38, 150, 173, 173, 120, 173, 173, 10, 173, 173, 18, 18, 121, 173, 173, 150, 118, 18], [9, 10, 17, 30, 34, 35, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 0, 1453, 0, 0, 0, 0, 0, 0, 1296, 0, 0, 6896, 6896, 0, 0, 0, 0, 0, 6283], 12245], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 10, 122, 173, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3213, 0, 0, 0, 0, 7860, 7225, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13581], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 18, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7225, 7542, 0, 0, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 7839], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9727], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 150, 10, 10, 33, 122, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 113, 114, 115, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7860, 7860, 7225, 0, 0, 0, 0], 14074], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 10, 11, 11, 122, 33, 33, 10], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 7225, 0, 0, 0, 7700, 7860, 7381], 14213], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 18, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 6896, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0], 16773], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 150, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 3047, 0, 0, 0, 0, 0, 0, 0, 6896], 11259], [[18, 38, 11, 150, 173, 173, 173, 173, 150, 150, 11, 11, 10, 33, 120, 18, 122, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 11215, 0, 0, 0, 0], 10214], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 11, 11, 54, 120, 10, 18, 118], [9, 10, 17, 34, 35, 48, 109, 110, 111, 113, 139, 143, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 6283, 0], 13755], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 33, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0], 12662], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 11, 10, 33, 10], [9, 10, 17, 30, 34, 143, 166], [3533, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7380], 5595], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 60, 60, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [6896, 0, 2422, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 14629], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 11, 173, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0], 10086], [[18, 11, 38, 150, 150, 150, 10, 120, 118, 33, 173, 173, 11, 11, 173, 173, 18, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 12950], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3620], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 33, 54, 122, 11, 11, 150, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2748, 0, 0, 0, 0, 0, 6283, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 12272], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 150, 11, 11, 11, 11, 10, 33, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0], 9526], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 10, 33, 33, 10, 11, 11, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1296, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 7381, 0, 0, 0, 0], 9969], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4229], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 120, 33, 173, 173, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8347], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 2582, 0, 0, 0, 11215, 7542, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7111], [[18, 11, 38, 173, 173, 173, 150, 173, 173, 173, 150, 18, 10, 11, 33, 122, 11, 150, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 7225, 0, 0, 0, 0, 0], 10395], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 117, 139, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 6901, 0, 0, 0, 0, 0, 0, 0, 0, 0], 23248], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 10, 10, 33, 122, 54, 11, 11, 153, 153, 153], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 139, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 6283, 0, 0, 0, 7860, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 18927], [[18, 11, 38, 150, 150, 120, 150, 173, 10, 54, 33, 11, 11, 10, 122, 10, 71, 10, 41, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 113, 115, 139, 143, 146, 166], [6896, 0, 2902, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 7225, 0, 6747, 0, 6744, 6902, 0], 11908], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 122, 11, 11, 82, 153, 153, 60, 18, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0], 13621], [[18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 11, 122, 11, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15443], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 6283, 0, 0], 9059], [[18, 11, 38, 150, 150, 150, 33, 10, 11, 11, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0], [9, 10, 17, 30, 34, 143], [6896, 0, 1293, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4538], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 33, 54, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7381, 7382, 0, 0], 9845], [[18, 38, 11, 150, 150, 54, 10, 150, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7860, 0, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6283], 11934], [[18, 38, 11, 150, 150, 120, 18, 173, 10, 122, 33, 11, 11, 150, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 11215, 0, 7061, 0, 7701, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15823], [[18, 38, 11, 150, 173, 150, 173, 173, 173, 173, 173, 173, 173, 150, 10, 33, 10, 153, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [6896, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7382, 7860, 0, 0, 0], 5839], [[18, 38, 11, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11197], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 124, 124, 124, 173, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7040], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 173, 150, 120, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6087], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1453, 0, 0, 0, 0, 0, 0, 2742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 3, 173, 173, 173, 173, 11, 173, 173, 150, 54, 124], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [2908, 0, 6896, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10972], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 150, 11, 11, 10, 33, 11, 122, 10], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7382, 0, 0, 7225], 8363], [[18, 38, 11, 173, 150, 173, 173, 150, 173, 173, 11, 11, 150, 11, 18, 173, 173, 10, 54, 33], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 7860, 0, 7382], 16319], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 10, 54, 122, 11, 11, 11, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [6896, 0, 2101, 0, 0, 0, 0, 11215, 7225, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21987], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 173, 173, 0], [9, 10, 17, 30, 34, 143, 166], [1453, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0, 0, 0], 5534], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 18072], [[11, 18, 11, 38, 173, 173, 173, 150, 150, 173, 10, 150, 33, 11, 122, 11, 54, 18, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [0, 6896, 0, 3373, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 11215, 0, 0], 12507], [[18, 11, 38, 150, 150, 10, 121, 150, 120, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 1134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1928, 0, 0], 7644], [[11, 38, 173, 173, 120, 3, 150, 173, 173, 173, 173, 124, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 3373, 0, 0, 0, 3536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8095], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 173, 173, 150, 33, 10, 120, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0], 14498], [[11, 38, 18, 173, 173, 173, 120, 150, 11, 173, 120, 173, 173, 150, 173, 173, 3, 150, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 2248, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1453, 0, 0, 0], 10159], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 10, 33, 11, 11, 54, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7225, 7382, 0, 0, 0, 0, 0], 11747], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 150, 54, 11, 11, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 109, 113, 117, 139, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 11215, 7860, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14623], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 3, 173, 173, 173, 173, 10, 122, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 2588, 0, 0, 0, 0, 0, 0, 0, 11215, 7859, 0, 0, 0, 0, 7859, 0, 5611, 0], 17981], [[18, 11, 38, 150, 173, 120, 150, 173, 173, 173, 18, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7225, 0, 0, 0, 0], 7610], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[38, 173, 173, 173, 150, 18, 150, 150, 173, 173, 150, 11, 11, 10, 33, 122, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [1293, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0], 15852], [[18, 11, 38, 150, 120, 150, 173, 173, 18, 173, 3, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 11215, 0, 7383, 7542, 0, 0, 0, 0, 0, 0, 0, 0], 8508], [[18, 11, 38, 150, 150, 0, 150, 10, 11, 33, 122, 153, 153, 82, 153, 153, 11, 153, 153, 153], [0, 9, 10, 17, 30, 34, 75, 115, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 7860, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7941], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 18, 10, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 6283, 7222, 0], 17328], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3533, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3752], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 120, 18, 10, 173, 173, 118, 122, 11], [9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [2248, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0], 9553], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3222], [[18, 38, 11, 150, 150, 120, 10, 54, 150, 122, 122, 33, 10, 11, 11, 150, 82, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7542, 0, 0, 0, 0, 7859, 7066, 0, 0, 0, 0, 0, 0, 0], 13356], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 4017, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 150, 150, 122, 33, 173, 11, 11, 10, 153, 82, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 7225, 0, 0, 0, 0, 7860, 0, 0, 0, 7381, 0, 0, 0], 12023], [[11, 38, 18, 173, 173, 173, 120, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3373, 6896, 0, 0, 0, 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4777], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19566], [[18, 38, 11, 150, 150, 150, 54, 10, 173, 122, 33, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 122, 139, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 7542, 0, 0, 7859, 0, 0, 0, 0, 6283, 0, 0, 0, 0], 17654], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0], 7277], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 120, 150, 10, 10, 33, 10, 173, 173, 173, 173, 33], [9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7859, 7860, 7382, 7225, 0, 0, 0, 0, 7382], 10028], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6896, 0, 2102, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6422], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 2262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11215], 12364], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 10, 173, 150, 124, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 7225, 0, 0, 0, 0, 0, 0, 0, 0], 13073], [[38, 11, 18, 173, 173, 173, 173, 173, 120, 150, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [2101, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5544], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 173, 173, 173, 173, 33, 10, 3, 153, 153], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [6896, 3533, 0, 0, 0, 0, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 7860, 7382, 7382, 0, 0], 9267], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4237], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 33, 11, 122, 54, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2088, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7225, 7860, 0, 0, 0, 0, 0, 0, 0], 9799], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 10, 10, 10, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [3373, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 7381, 6901, 6744, 0], 12541], [[18, 38, 11, 10, 150, 150, 121, 173, 150, 10, 120, 18, 173, 173, 173, 173, 173, 173, 173, 118], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 1135, 0, 0, 0, 0, 0, 7225, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0], 13574], [[18, 38, 11, 150, 150, 150, 150, 54, 10, 10, 33, 122, 11, 11, 82, 153, 153, 10, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 0, 0, 0, 7381, 0, 0], 10333], [[18, 11, 38, 173, 173, 150, 150, 18, 11, 10, 54, 33, 11, 150, 122, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 55, 75, 78, 89, 111, 115, 139, 143, 146, 166], [6896, 0, 2582, 0, 0, 0, 0, 6283, 0, 7860, 0, 7382, 0, 0, 0, 0, 0, 0, 0, 0], 21960], [[18, 11, 38, 10, 10, 10, 10, 10, 10, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0], [9, 10, 17, 34, 143, 166], [6896, 0, 4017, 4334, 4011, 3047, 3533, 3207, 3047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5212], [[11, 11, 18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 150, 3, 173, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 0, 6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 0, 0, 0, 0, 0], 10302], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 6283, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7185], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7225, 0, 0, 0, 0, 0, 0, 0], 9981], [[11, 38, 18, 173, 173, 173, 150, 11, 173, 11, 173, 150, 173, 150, 54, 33, 10, 10, 10, 11], [9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 115, 143, 146, 166], [0, 3373, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 7225, 0], 10689], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [2248, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7382, 0, 0, 6283, 0], 18200], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 173, 173, 173, 150, 173, 10, 10, 124, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 7225, 7382, 0, 0], 8939], [[18, 11, 38, 173, 173, 150, 173, 173, 150, 150, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 47, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2261, 0, 0, 0, 0, 0, 0, 0], 17921], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 10, 33, 10, 150], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 115, 139, 143, 146, 166], [0, 6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7382, 0], 21260], [[18, 38, 11, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 60, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [6896, 3373, 0, 0, 0, 0, 7859, 7542, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0], 10084], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 124, 124, 10, 150, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 0, 7225, 0, 7381, 0], 10882], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 0, 11215, 0, 7860, 0, 0, 0, 0, 0, 0, 7382, 0, 0, 0], 16455], [[18, 11, 38, 150, 173, 150, 173, 173, 120, 173, 18, 3, 10, 11, 11, 124, 122, 33, 153, 153], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 143, 146, 155, 166], [6896, 0, 1769, 0, 0, 0, 0, 0, 0, 0, 11215, 7542, 7225, 0, 0, 0, 0, 7858, 0, 0], 25150], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 33, 150, 150], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [6896, 3373, 0, 0, 0, 0, 0, 11215, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 7382, 0, 0], 13666], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 18, 124, 124, 150, 124, 124, 150, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 3373, 0, 0, 0, 0, 0, 0, 3537, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0], 10286], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 10, 33, 11, 10, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6896, 0, 3533, 0, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 7860, 7225, 0, 7222, 0, 0, 0], 9346], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 33, 122, 54, 11, 18], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 115, 130, 143, 146, 166], [2101, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 7860, 7225, 7225, 0, 0, 0, 11215], 19485], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 33, 173, 173, 173, 122, 173, 173, 173, 173, 173, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6896, 2248, 0, 0, 0, 0, 0, 7860, 7383, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9592], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 120, 33, 18, 118, 10], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [2421, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 0, 7225, 11215, 0, 7381], 9313], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 10, 10, 33, 10, 11, 11, 173, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [3373, 0, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 7860, 7860, 7225, 7222, 0, 0, 0, 7222], 10454], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [2101, 0, 0, 0, 6896, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7225, 7860, 7381, 0, 0, 0], 8249], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 11, 10], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6896, 0, 3373, 0, 0, 0, 11215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7542, 0, 0, 7225], 11596], [[18, 38, 11, 150, 150, 120, 173, 33, 10, 10, 10, 153, 153, 153, 153, 153, 153, 153, 11, 11], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6896, 3373, 0, 0, 0, 0, 0, 7860, 7383, 7382, 7225, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17071], [[18, 11, 38, 150, 54, 11, 11, 150, 10, 33, 10, 40, 11, 146, 146, 146, 146, 146, 146, 117], [9, 10, 17, 30, 34, 35, 48, 75, 110, 111, 114, 115, 139, 143, 146], [6896, 0, 3373, 0, 0, 0, 0, 0, 7860, 7382, 7066, 1454, 0, 0, 0, 0, 0, 0, 0, 0], 17283]], "21070": [[[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0], 5389], [[18, 11, 38, 150, 150, 173, 173, 173, 10, 10, 150, 122, 54, 33, 11, 11, 10, 41, 173, 173], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16108, 16107, 0, 0, 0, 16742, 0, 0, 16745, 16428, 0, 0], 9359], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 10, 33, 10, 54, 11, 122, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 10754], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 10, 33, 122, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0], 10886], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 150, 120, 173, 173, 173, 10, 54, 33, 122, 11], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21074, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0], 10784], [[38, 173, 173, 173, 150, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33], [9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 139, 143, 146, 166], [21224, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107], 10246], [[18, 11, 38, 150, 120, 150, 18, 3, 173, 173, 173, 173, 173, 10, 173, 173, 33, 150, 122, 122], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 0, 16742, 0, 0, 16425, 0, 0, 0], 9858], [[18, 11, 38, 150, 150, 173, 10, 150, 150, 54, 122, 33, 11, 11, 153, 153, 153, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 20755, 0, 0, 0, 16107, 0, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 12752], 10225], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 54, 11, 11, 120, 18, 173, 173], [10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [22670, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0], 12793], [[38, 11, 18, 173, 173, 150, 120, 150, 33, 173, 173, 173, 10, 173, 173, 173, 54, 11, 11, 122], [9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 113, 115, 143, 146, 166], [20754, 0, 17071, 0, 0, 0, 0, 0, 16108, 0, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5749], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 122, 33, 33, 11, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 16107, 0, 16743, 16742, 0, 0, 0, 0, 0, 0], 14008], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 11, 10, 54, 33, 122, 11, 18, 153, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 0, 16584, 0, 0, 12752, 0, 0, 0], 13389], [[18, 38, 11, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 33, 10, 173, 10, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 16742, 16585, 0, 16585, 0], 7013], [[18, 11, 38, 150, 150, 120, 18, 10, 118, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 9804], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 120, 18, 10, 33, 11, 11, 122, 54, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 17071, 0, 21867, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 14976], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 150, 120, 173, 173, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16110, 0, 0, 16113], 8504], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 18, 173, 173, 173, 173, 173, 173, 71, 33, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 20915, 0, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 19121], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 54, 33, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [22345, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 16742, 0], 9624], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 3, 173, 173, 121, 173, 173, 173, 173, 150], [3, 9, 10, 17, 30, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 12752, 16271, 16271, 16274, 0, 0, 0, 0, 0, 0, 0, 0], 11466], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 150, 18, 173, 10, 33, 33, 122, 11, 11, 150, 173], [9, 10, 17, 25, 30, 34, 48, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16742, 0, 0, 0, 0, 0], 9647], [[11, 38, 18, 173, 173, 150, 150, 11, 150, 33, 10, 54, 150, 11, 11, 11, 10, 122, 40, 82], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 166], [0, 20915, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 16586, 0, 22674, 0], 20018], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20754, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 8417], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 11, 10, 33, 33, 11, 122, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 11378], [[10, 38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 10, 10, 33, 150, 11, 122, 82, 11, 27], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [21879, 21879, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16108, 16107, 16742, 0, 0, 0, 0, 0, 17708], 9589], [[38, 11, 173, 173, 173, 150, 18, 120, 150, 33, 173, 173, 173, 173, 173, 150, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 16432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15697], [[38, 18, 11, 173, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [22514, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3780], [[18, 38, 11, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 19952, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 12752, 0, 0, 0, 0, 0, 0, 0, 0], 15993], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 41, 120, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5485], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 41, 11, 11, 54, 11, 11, 10, 33, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 19633, 0, 0, 0, 0, 0, 16107, 16742, 0], 17171], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 10, 153, 153, 11, 11, 153, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 0, 22345, 0, 0, 0, 0, 0, 0, 16107, 16586, 16743, 0, 0, 0, 0, 0, 0, 0, 0], 9401], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 150, 54, 10, 33, 11, 10, 122, 122, 82, 60, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 75, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0], 13373], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 18, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 114, 115, 117, 122, 143, 146, 166], [0, 21719, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0], 23647], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 54, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16109, 0, 0], 7237], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6109], [[18, 38, 38, 11, 173, 173, 150, 173, 150, 173, 173, 173, 173, 173, 120, 10, 33, 150, 3, 150], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 20915, 20916, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0], 17270], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 10, 173, 173, 173, 118, 0, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0], 5423], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 11, 11, 18, 10, 33, 54, 11, 122, 150, 153, 82], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20760, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16585, 0, 0, 0, 0, 0, 0], 16953], [[38, 18, 11, 173, 150, 150, 150, 10, 54, 33, 122, 11, 11, 10, 82, 60, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [21866, 17071, 0, 0, 0, 0, 0, 16586, 0, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 22013], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 96, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 155, 166], [17071, 0, 20915, 0, 0, 0, 12752, 0, 16107, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 24739], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 153, 153, 153, 153, 153], [10, 17, 30, 34, 48, 143, 146, 166], [22356, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16268, 0, 0, 0, 0, 0], 7511], [[18, 38, 11, 150, 150, 120, 18, 173, 3, 3, 173, 173, 173, 150, 173, 10, 124, 124, 11, 122], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 12552], [[18, 38, 38, 11, 150, 150, 120, 18, 173, 10, 10, 173, 122, 173, 33, 11, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 21719, 21719, 0, 0, 0, 0, 12752, 0, 16267, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0], 7260], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 120, 33, 33, 10], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 16108, 16107, 16745], 8638], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 11158], [[38, 11, 173, 173, 173, 173, 173, 18, 173, 120, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21866, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6060], [[18, 38, 11, 173, 173, 150, 173, 150, 11, 11, 150, 11, 33, 10, 18, 153, 153, 153, 153, 122], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 115, 117, 139, 143, 146, 166], [17071, 20433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 12752, 0, 0, 0, 0, 0], 15642], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 10, 11, 11, 82, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20591, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9664], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 120, 173, 173, 18, 18, 150, 150, 11, 10, 33, 173], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 0, 21879, 21383, 0], 9213], [[18, 11, 38, 150, 150, 11, 10, 33, 150, 10, 122, 10, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 16742, 16107, 0, 16586, 0, 17065, 0, 0, 0, 0, 0, 0, 0, 0], 9078], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 3, 3, 3, 3, 173, 173, 173, 173, 173, 33, 11], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 0, 16585, 16584, 16585, 16585, 0, 0, 0, 0, 0, 16107, 0], 9059], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 18, 150, 10, 10, 10, 10, 54, 10, 33, 122], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 107, 111, 115, 143, 146, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21224, 21224, 16907, 17386, 0, 20904, 21384, 0], 12664], [[18, 11, 38, 150, 150, 120, 18, 10, 173, 173, 118, 173, 3, 173, 173, 150, 173, 173, 173, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 5916], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173, 10, 150, 10, 150, 0, 0], [9, 10, 17, 34, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 16585, 0, 0, 0], 5927], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 18, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20760, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 17684, 0, 0, 0], 14195], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3487], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4115], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 173, 124, 173, 173, 173, 33, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0], 11597], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 10, 11, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 115, 139, 143, 146, 166], [20754, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0, 0], 19097], [[38, 173, 173, 173, 173, 18, 150, 150, 150, 150, 11, 11, 120, 10, 33, 18, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 12752, 0, 0, 0, 0], 9602], [[38, 11, 173, 173, 173, 3, 173, 173, 150, 173, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [21719, 0, 0, 0, 0, 20920, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5393], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 124, 124, 18, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [0, 20754, 0, 0, 0, 0, 0, 0, 20430, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 11347], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 18, 18, 120, 150, 10, 150, 173, 173, 173, 118, 173], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 17071, 12752, 0, 0, 19633, 0, 0, 0, 0, 0, 0], 14240], [[18, 11, 38, 150, 173, 173, 150, 173, 120, 18, 10, 54, 11, 11, 33, 122, 82, 60, 150, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 16108, 0, 0, 0, 17065, 0, 0, 0, 0, 0], 10531], [[18, 38, 11, 150, 150, 120, 150, 10, 54, 11, 33, 122, 11, 82, 153, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 16107, 0, 0, 16585, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15089], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 3, 173, 173, 173, 173, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 12752, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8331], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 173, 150, 150, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5894], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20277, 0, 0, 0, 0, 0, 0, 22827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4198], [[38, 173, 173, 18, 173, 150, 150, 150, 11, 18, 120, 33, 10, 121, 11, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [20594, 0, 0, 17071, 0, 0, 0, 0, 0, 12752, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 38, 11, 150, 150, 120, 173, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 18, 54, 11], [9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 89, 111, 113, 115, 130, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 16425, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 17100], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 10, 3, 150, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16107, 0, 0, 0], 10001], [[18, 38, 11, 173, 173, 173, 150, 150, 11, 11, 10, 122, 11, 54, 33, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 16742, 12752, 0, 0, 0, 0], 13432], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 173, 173, 10, 33, 122, 54, 11, 153], [9, 10, 17, 19, 30, 34, 47, 48, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [21867, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0], 22287], [[38, 173, 173, 173, 150, 173, 18, 173, 173, 11, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [20594, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3598], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [21379, 0, 17071, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0], 16185], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 173, 18, 120, 150, 3, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 20430, 0, 0, 0, 0, 0], 6622], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12793], [[38, 11, 18, 150, 173, 173, 173, 173, 120, 150, 150, 54, 10, 10, 10, 33, 122, 11, 11, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20432, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16585, 16425, 16108, 0, 0, 0, 0], 10044], [[38, 11, 173, 173, 173, 173, 18, 173, 173, 150, 173, 120, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4902], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 10, 11, 33, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 17066, 0, 0, 16107, 0, 16742, 0, 0, 0, 0, 0, 0], 13882], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 153, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20591, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0], 9640], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 11, 11, 10, 33, 33, 54, 11, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16743, 16742, 0, 0, 0, 0, 0], 8645], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 33, 10, 10, 11, 11, 54, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 12752, 0, 16107, 16585, 16745, 0, 0, 0, 0, 0, 0], 13270], [[11, 18, 11, 38, 173, 173, 150, 150, 173, 150, 10, 33, 122, 11, 11, 82, 18, 11, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [0, 17071, 0, 21861, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 12752, 0, 0, 0], 12156], [[18, 38, 11, 150, 150, 173, 120, 18, 173, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 10024], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 3, 10, 10, 173, 10, 41, 173, 173, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 16742, 16107, 16585, 0, 17065, 16428, 0, 0, 16110, 0, 0], 10905], [[18, 11, 38, 150, 150, 11, 54, 10, 33, 122, 150, 10, 10, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16107, 16742, 0, 0, 16586, 17065, 0, 0, 0, 0, 0, 0, 0], 7798], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 11, 82, 60], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16585, 0, 0, 0, 0, 0], 11583], [[18, 11, 38, 150, 173, 150, 54, 54, 10, 33, 150, 122, 11, 11, 82, 153, 153, 153, 60, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 16585, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8047], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [3, 9, 10, 17, 30, 34, 35, 55, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21880, 0, 0, 0, 0, 0, 0], 19637], [[18, 38, 11, 150, 150, 173, 120, 173, 173, 18, 10, 150, 33, 122, 54, 11, 11, 153, 153, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 16052], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 10, 18, 120, 33, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [22039, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16585, 16425, 12752, 0, 16108, 0, 0, 0], 9686], [[18, 38, 11, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 0, 16107, 16742, 0, 0, 0, 0, 16586, 0, 0, 0, 0], 6404], [[18, 11, 38, 173, 173, 173, 150, 173, 120, 173, 173, 18, 11, 40, 150, 11, 11, 146, 146, 146], [10, 17, 34, 35, 110, 113, 139, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 21720, 0, 0, 0, 0, 0, 0], 13251], [[18, 38, 11, 150, 173, 150, 150, 173, 173, 173, 173, 173, 173, 173, 150, 150, 0, 0, 0, 0], [10, 17, 34, 143, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3843], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 10, 10, 33, 11, 11, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [21385, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0], 14532], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 150, 173, 173, 124, 124, 124, 173, 124, 18, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 22514, 0, 0, 0, 0, 0, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 15540], [[18, 38, 11, 173, 150, 150, 173, 173, 54, 150, 10, 33, 11, 122, 82, 153, 153, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 16586], 8243], [[38, 18, 11, 173, 173, 150, 11, 173, 11, 173, 150, 150, 173, 173, 173, 11, 11, 10, 10, 10], [9, 10, 17, 34, 143, 166], [20920, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742], 5184], [[18, 38, 11, 150, 150, 173, 120, 10, 150, 33, 122, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 111, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 16425, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0], 13890], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [17071, 0, 22827, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 9084], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 150], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12751, 12752, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14038], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 122, 33, 54, 11, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 12752, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16353], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6335], [[38, 173, 11, 173, 18, 173, 150, 173, 120, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21705, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5334], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 3, 150, 173, 173, 124, 124, 124, 173, 173, 173], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9681], [[18, 38, 11, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 0, 0, 0, 0], [9, 10, 17, 34, 113, 143, 166], [17071, 19950, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 5333], [[38, 173, 173, 173, 18, 173, 173, 150, 11, 150, 10, 173, 118, 120, 18, 173, 173, 33, 150, 122], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 22357, 0, 0, 0, 12752, 0, 0, 16742, 0, 0], 12195], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 150, 150, 150, 120, 33, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22671, 0, 0, 0, 0, 0, 0], 12287], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 10970], [[18, 11, 38, 120, 173, 173, 173, 173, 18, 173, 173, 18, 33, 173, 173, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 146, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 12752, 0, 0, 12752, 21719, 0, 0, 0, 0, 0, 0, 0], 7139], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 22670, 17071, 0, 0, 0, 0, 0, 0, 0, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5795], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 150, 150, 18, 11, 11, 11, 33, 54, 11, 10, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [17071, 21865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 16107, 0, 0, 16742, 0], 9654], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 150, 120, 10, 10, 10, 173, 173, 173, 33, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 16584, 16425, 0, 0, 0, 16108, 12752], 11151], [[38, 18, 11, 173, 173, 173, 173, 150, 150, 150, 120, 173, 173, 173, 173, 150, 3, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21879, 0, 0, 0], 5979], [[18, 11, 38, 150, 173, 150, 173, 120, 41, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 22514, 0, 0, 0, 0, 0, 17077, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7601], [[18, 11, 38, 150, 150, 120, 150, 33, 54, 10, 122, 11, 11, 82, 60, 18, 153, 153, 11, 153], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 139, 143, 146], [17071, 0, 21385, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0], 20867], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 54], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 0], 9762], [[38, 18, 11, 173, 173, 150, 150, 150, 54, 33, 11, 10, 10, 150, 82, 122, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [19950, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 16742, 0, 0, 0, 0, 0, 0, 0], 8741], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 120, 173, 173, 11, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 22024, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5705], [[38, 173, 173, 173, 18, 173, 173, 11, 173, 150, 173, 173, 120, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5956], [[18, 38, 11, 150, 150, 120, 150, 54, 33, 33, 10, 11, 11, 82, 153, 153, 153, 60, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 16742, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 17684], 13650], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16425, 0, 0, 0, 0, 16108, 0, 0, 0, 0, 0], 23900], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 120, 173, 173, 173, 3, 18, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22514, 17071, 0, 0, 0, 0, 0], 5163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 150, 124, 10, 10, 173, 173, 122, 173], [3, 9, 10, 17, 18, 22, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 16585, 16742, 0, 0, 0, 0], 17159], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 173, 173, 10, 10, 10, 33, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16425, 16108, 16114, 16905, 15952], 12435], [[11, 38, 120, 173, 173, 173, 173, 173, 3, 173, 173, 173, 18, 124, 124, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 21706, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0], 3643], [[38, 173, 173, 11, 173, 173, 18, 173, 173, 150, 173, 173, 120, 150, 11, 10, 54, 11, 33, 33], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [22514, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16273, 16112], 10918], [[18, 38, 11, 173, 173, 173, 150, 173, 150, 173, 120, 3, 173, 173, 18, 10, 33, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21541, 0, 0, 12752, 16107, 16742, 0, 0, 0], 9536], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0], 7711], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 30, 34, 111, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5586], [[38, 11, 173, 173, 173, 150, 173, 18, 173, 120, 150, 173, 173, 3, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [20593, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 20429, 0, 0, 0, 0, 0, 0], 7321], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 10, 10, 10, 153, 153], [9, 10, 17, 30, 34, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 17065, 17222, 0, 0], 6448], [[18, 38, 11, 150, 150, 120, 150, 3, 173, 173, 173, 173, 10, 10, 173, 173, 173, 173, 18, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 17226, 0, 0, 0, 0, 16747, 16747, 0, 0, 0, 0, 17684, 0], 7882], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 33, 11, 124, 124, 124, 173], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16743, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 6160], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 120, 173, 173, 10, 122, 121, 33, 0, 0], [9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0], 8436], [[11, 18, 11, 38, 11, 173, 173, 173, 120, 173, 150, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 17071, 0, 22514, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4590], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 10, 33, 11, 11, 10, 150, 11], [9, 10, 17, 30, 34, 143, 146, 166], [21720, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 16745, 0, 0], 6556], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 33, 11, 11, 122, 82, 18, 18, 153, 153, 153, 153], [9, 10, 17, 18, 25, 26, 30, 34, 48, 53, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 143, 146], [17071, 0, 20432, 0, 0, 0, 0, 0, 16107, 16585, 0, 0, 0, 0, 12751, 12752, 0, 0, 0, 0], 18324], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 173, 173, 150, 11, 11, 10, 33, 173, 0, 0], [9, 10, 17, 30, 34, 143, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0], 5864], [[18, 38, 11, 173, 173, 150, 150, 173, 173, 173, 11, 150, 10, 54, 11, 33, 122, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 16107, 0, 0, 0, 0], 10418], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 10, 150, 124, 124, 122, 11, 11], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0], 13888], [[38, 173, 173, 173, 173, 173, 173, 18, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4457], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 10, 33, 11, 11, 11, 54, 18, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 115, 143, 146, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 17684, 0, 0], 20588], [[11, 11, 38, 18, 173, 173, 120, 173, 150, 11, 173, 173, 173, 150, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 0, 21719, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20433, 0, 0, 0], 6749], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 33, 10, 11, 11, 33, 10, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16586, 0, 0, 16742, 16586, 0], 13788], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21866, 0, 0, 0, 0, 16742, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7845], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 150, 10, 118, 18, 173, 173, 173, 173, 173, 33, 33], [9, 10, 17, 30, 34, 35, 48, 75, 111, 113, 115, 139, 143, 146, 166], [17071, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 12752, 0, 0, 0, 0, 0, 16425, 16107], 13778], [[38, 173, 173, 173, 173, 39, 150, 173, 18, 11, 150, 39, 150, 120, 120, 173, 173, 173, 0, 0], [10, 17, 34, 113, 143, 166], [22514, 0, 0, 0, 0, 2909, 0, 0, 17071, 0, 0, 6257, 0, 0, 0, 0, 0, 0, 0, 0], 7148], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 11, 41, 10, 33, 54, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 17400, 16107, 16742, 0, 0, 12752], 10153], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4810], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21225, 0, 0, 0, 12752, 0, 0, 0, 0, 16600, 0, 0, 0, 0, 0, 0, 0, 0], 6860], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 173, 173, 150, 173, 11, 11, 11, 18, 33, 18], [9, 10, 17, 30, 34, 48, 55, 64, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 12752], 13477], [[18, 11, 38, 150, 150, 150, 150, 54, 10, 33, 11, 11, 122, 10, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [17071, 0, 20594, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 16586, 0, 0, 0, 17224, 0, 0], 13189], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 173, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0, 0], 10001], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 11, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [21719, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4515], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 173, 173, 18, 11, 11, 10, 33, 54, 122, 150], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17684, 0, 0, 16742, 16107, 0, 0, 0], 14764], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7103], [[11, 38, 173, 173, 120, 173, 3, 173, 173, 150, 173, 124, 124, 173, 173, 124, 124, 18, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21866, 0, 0, 0, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0], 6929], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 11], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [17071, 0, 21379, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 16585, 0, 0, 0], 9077], [[38, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 54, 10, 33, 10, 122, 11, 11, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 0, 0, 0, 0], 10127], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 150, 120, 10, 33, 122, 11, 11, 54, 18], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21719, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16425, 16108, 0, 0, 0, 0, 12752], 14459], [[18, 11, 38, 150, 150, 18, 10, 173, 173, 118, 33, 33, 173, 173, 173, 173, 173, 173, 10, 150], [9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 143, 146, 166], [17071, 0, 20594, 0, 0, 17684, 16107, 0, 0, 0, 16584, 16742, 0, 0, 0, 0, 0, 0, 16745, 0], 10725], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 20594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7365], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 10, 11, 33, 54, 122, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 16742, 0, 0, 12752, 0], 9434], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 18, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0], 5903], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 173, 173, 173, 173, 173, 173, 173, 18, 3, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [17071, 0, 21225, 22833, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 17560, 0], 10145], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 10, 33, 10, 11, 11, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [21719, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16585, 16742, 0, 0, 0, 0], 13569], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 150, 173, 173, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 22830, 0, 0, 0, 0, 12752, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0], 13254], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 11, 11, 11, 10, 122, 54, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [17071, 0, 21700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0], 13867], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 150, 120, 18, 33, 10, 173, 173, 173, 173, 54, 11], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16107, 16742, 0, 0, 0, 0, 0, 0], 10341], [[18, 11, 38, 173, 173, 120, 150, 150, 173, 173, 18, 3, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21867, 0, 0, 0, 0, 0, 0, 0, 12752, 18197, 0, 0, 0, 0, 0, 0, 0, 0], 16853], [[18, 38, 11, 150, 173, 150, 120, 150, 10, 173, 173, 173, 173, 173, 173, 173, 54, 121, 18, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 114, 115, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12752, 16112], 11673], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 54, 122, 33, 10, 10, 120, 121, 11, 11, 11, 173], [9, 10, 17, 30, 34, 35, 48, 64, 113, 114, 115, 139, 143, 166], [17071, 0, 22827, 0, 0, 0, 12752, 0, 16107, 0, 0, 16585, 16742, 17065, 0, 0, 0, 0, 0, 0], 13836], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 54, 11, 10, 33, 33, 11, 11, 40, 122, 18, 60], [9, 10, 17, 30, 34, 35, 48, 75, 109, 113, 115, 139, 143, 146, 166], [21866, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16584, 16585, 0, 0, 21719, 0, 12752, 0], 11411], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 173, 150, 173, 173, 150, 173, 150, 150, 150, 0, 0], [10, 17, 34, 143, 166], [17071, 21866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5681], [[18, 11, 38, 10, 150, 150, 121, 150, 173, 173, 173, 173, 10, 173, 173, 33, 120, 173, 173, 0], [9, 10, 17, 30, 34, 113, 114, 143, 166], [17071, 0, 21866, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 16742, 0, 0, 0, 0], 6621], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21385, 0, 0, 0, 12752, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9369], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 150, 54, 10, 33, 11, 11, 122, 82, 153, 153], [9, 10, 17, 30, 34, 48, 75, 107, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 0, 0], 8105], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [17071, 0, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 0, 0, 0, 0, 0], 4979], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 173, 173, 173, 173, 173, 173, 122, 173, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 0, 0], 10831], [[11, 38, 173, 173, 173, 120, 173, 3, 3, 173, 173, 173, 173, 124, 124, 18, 124, 124, 150, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20594, 0, 0, 0, 0, 0, 20429, 20589, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0], 5448], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [17071, 0, 21866, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8541], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 122, 10, 54, 11, 11], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146, 166], [22514, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 16586, 0, 0, 0], 14744], [[11, 38, 18, 11, 173, 173, 173, 173, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20593, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6735], [[18, 38, 11, 150, 150, 120, 173, 18, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [17071, 20594, 0, 0, 0, 0, 0, 12751, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9077], [[11, 18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [0, 17071, 20594, 0, 0, 0, 0, 0, 12752, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22518], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 18, 124, 124, 124, 124, 124, 173, 0, 0], [3, 10, 17, 34, 113, 117, 166], [0, 21719, 0, 0, 0, 0, 0, 0, 20431, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0], 4375], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 10, 11, 11, 0], [9, 10, 17, 30, 34, 113, 143, 166], [17071, 0, 21867, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 16107, 16586, 0, 0, 0], 6137], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 54, 10, 33, 18, 122, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20594, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 17684, 0, 0, 0], 11525], [[18, 11, 38, 150, 150, 120, 33, 150, 10, 153, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173], [9, 10, 17, 30, 34, 113, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 16585, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 10, 124, 124, 173, 173, 122, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0], 11101], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [17071, 0, 21719, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 22674, 0, 0, 0, 0], 8140], [[18, 38, 11, 150, 150, 173, 120, 18, 10, 122, 173, 173, 33, 150, 54, 11, 11, 11, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0], 19756], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21866, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 16742, 16107, 0, 0, 16585, 0], 9765], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 10, 33, 11, 11, 54, 122, 10, 82, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 17071, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 0, 16585, 0, 0, 0, 0], 8612], [[38, 18, 11, 173, 173, 173, 150, 173, 150, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20591, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5680], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 10, 33, 11, 11, 173, 11, 54], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 16107, 16107, 16742, 16586, 0, 0, 0, 0, 0], 10643], [[38, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 33, 10, 54, 11, 11, 18, 122, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146, 166], [22357, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 16107, 16742, 0, 0, 0, 12752, 0, 0, 0], 17562], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [17071, 0, 21385, 0, 0, 0, 0, 0, 0, 0, 12752, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5472], [[11, 38, 173, 173, 173, 120, 173, 150, 173, 173, 18, 173, 173, 150, 54, 11, 11, 40, 11, 18], [10, 17, 34, 35, 48, 113, 139, 143, 166], [0, 21385, 0, 0, 0, 0, 0, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 21559, 0, 12752], 10995], [[18, 38, 0, 11, 0, 173, 173, 173, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [0, 10, 17, 34, 143, 166], [17071, 21719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6028], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 11, 33, 11, 122, 150, 54, 11, 153, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [17071, 0, 21866, 0, 0, 0, 12752, 16107, 0, 16742, 0, 16112, 0, 0, 0, 0, 0, 0, 0, 0], 11532], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 11, 173, 173, 173, 11, 11, 33, 10, 10, 120, 10], [9, 10, 17, 30, 34, 55, 111, 113, 114, 115, 143, 146, 166], [20594, 0, 0, 0, 17071, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16107, 16742, 16585, 0, 16586], 12259], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [17071, 21866, 0, 0, 0, 0, 0, 17684, 16107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16742], 15536]]}, "random": {"21070": [[[18, 11, 38, 150, 150, 10, 150, 54, 11, 33, 122, 82, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [17071, 0, 21544, 0, 0, 16426, 0, 0, 0, 16742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8564]]}}, "KairosJunction": {"zerg": {"2095": [[[38, 173, 173, 173, 39, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 19774, 0, 0, 0, 18662, 18664, 18986, 18984, 0, 0, 0, 0, 0, 0, 0, 0], 4862], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2891, 0, 0, 0, 0, 0, 0, 18823, 18985, 18827, 18665, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4135]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[18, 38, 11, 150, 150, 173, 120, 173, 18, 173, 173, 173, 173, 10, 33, 11, 173, 173, 122, 150], [9, 10, 17, 30, 34, 48, 113, 115, 143, 166], [16746, 20899, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 6264], [[18, 11, 38, 150, 150, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 54, 82], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7289], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 11, 122, 54, 18, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0, 11948, 0], 9340], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 173, 173, 18, 121, 18, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 113, 114, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16258, 16258, 0, 0, 11948, 0, 11948, 0, 0, 0, 0, 0, 0], 9386], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 11, 150, 173, 18, 120, 10, 33, 150, 118, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 16415, 15779, 0, 0, 0, 0], 9015], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620], [[18, 38, 11, 150, 150, 173, 173, 173, 120, 3, 10, 18, 54, 33, 122, 11, 11, 153, 153, 153], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 19297, 0, 0, 0, 0, 0, 0, 0, 16581, 15779, 11948, 0, 16258, 0, 0, 0, 0, 0, 0], 11612], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 33, 122, 11, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [0, 16746, 0, 21061, 0, 0, 0, 0, 11948, 16581, 0, 0, 15779, 15464, 0, 0, 0, 0, 0, 0], 11990], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 11, 33, 122, 10, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16258, 0, 0], 13055], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 150, 173, 124, 124, 173, 120, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [20913, 0, 0, 0, 0, 20434, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6323], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 150, 10, 11, 11, 33, 11, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 16415, 0, 0, 0, 0], 13945], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 18, 173, 124, 124, 150, 124, 124, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20913, 0, 0, 0, 0, 0, 20419, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0], 7153], [[18, 38, 11, 150, 150, 120, 18, 10, 173, 118, 33, 150, 173, 173, 173, 173, 173, 173, 11, 173], [9, 10, 17, 30, 34, 111, 113, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16581, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6356], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 173, 173, 124, 124, 150, 124, 18, 18, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 16745, 16746, 0, 0], 9304], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 173, 173, 124, 124, 11, 11, 122, 33], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19298, 0, 0, 0, 11948, 15779, 0, 0, 0, 16258, 0, 0, 0, 0, 0, 0, 0, 16896], 12916], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 3, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [16746, 0, 20419, 0, 0, 0, 11948, 0, 0, 0, 0, 16581, 15779, 0, 0, 0, 0, 0, 0, 0], 7912], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 11948, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12940], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4895], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 11, 11, 33, 10, 10, 11, 54, 122, 18, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 16415, 0, 0, 0, 11948, 0], 14853], [[38, 173, 173, 173, 173, 150, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0, 0, 0], 15204], [[18, 11, 38, 173, 150, 173, 173, 150, 173, 173, 120, 54, 10, 33, 11, 11, 122, 82, 18, 60], [9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 78, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0], 15507], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 10, 10, 10], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 16736, 15779], 9234], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 11, 11, 10, 11, 33, 122, 54], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 16736, 0, 0], 24057], [[18, 38, 11, 173, 173, 173, 150, 150, 173, 173, 33, 10, 54, 11, 11, 122, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 111, 115, 117, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 11948, 0, 0, 0], 17623], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 150, 54, 33, 33, 33, 11, 11, 11, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 75, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 15779, 15779, 0, 0, 0, 16257, 16258, 16257], 8553], [[18, 11, 38, 150, 150, 150, 173, 120, 18, 150, 33, 11, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 64, 75, 107, 111, 113, 115, 122, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15778, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14302], [[18, 38, 11, 150, 173, 150, 150, 10, 54, 33, 122, 11, 11, 18, 82, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 19464, 0, 0, 0, 0, 0, 15779, 0, 16257, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0], 9929], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 10, 33, 11, 11, 11, 54, 122], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0], 10221], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 150, 173, 11, 10, 54, 11, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 11948, 16741, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 0, 0], 8620], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 33, 173, 173, 120, 3, 121], [3, 9, 10, 17, 30, 34, 55, 113, 114, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 16756, 0], 10617], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 120, 18, 54, 10, 33, 173, 173, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 19111, 0, 15778, 16415, 0, 0, 0], 10238], [[11, 38, 18, 120, 173, 173, 150, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4306], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 10, 11, 122, 54, 11, 33, 11, 18, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0, 0, 16415, 0, 11948, 0], 13101], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 10, 33, 54, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 75, 115, 139, 143, 146, 166], [21865, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 16254, 0, 0, 0, 16257], 9871], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 11, 11, 10, 33, 54, 11, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20579, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0, 0, 11948], 12396], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 75, 78, 115, 139, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 0], 14194], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 11, 10, 33, 122, 82, 10, 153, 153], [9, 10, 17, 30, 34, 75, 111, 115, 143, 146, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16257, 0, 0, 16896, 0, 0], 11691], [[38, 150, 173, 173, 173, 173, 173, 173, 18, 173, 150, 150, 11, 173, 10, 11, 33, 11, 10, 122], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [20434, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 0, 16415, 0, 16259, 0], 9890], [[38, 11, 18, 150, 120, 150, 173, 18, 150, 173, 173, 173, 173, 10, 33, 11, 122, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 18266], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 173, 54, 11, 10, 33, 33], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [0, 16746, 0, 19624, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16736, 16576], 11050], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 18, 173, 173, 150, 124, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 0, 0, 0, 0, 0, 0, 22021, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4312], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 10], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 7437], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 10, 153, 153, 153, 153, 82, 153, 153, 10], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146], [16746, 0, 19628, 0, 0, 0, 0, 0, 15778, 16257, 0, 16736, 0, 0, 0, 0, 0, 0, 0, 16736], 7619], [[38, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 11, 122, 153, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0, 0, 0], 12890], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11789], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 173, 173, 120, 33, 10, 0, 0], [9, 10, 17, 30, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0], 6474], [[18, 38, 11, 150, 150, 120, 10, 150, 173, 121, 18, 173, 173, 173, 173, 173, 173, 173, 18, 11], [9, 10, 17, 30, 34, 55, 113, 114, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 15779, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 19624, 0], 8989], [[18, 11, 38, 150, 150, 150, 173, 173, 173, 173, 120, 33, 10, 11, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0, 0, 0, 0, 0], 11345], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 10, 11, 11, 54, 10, 153, 153], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 16259, 0, 0], 6047], [[18, 11, 38, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21865, 0, 0, 0, 0, 0, 0], 7965], [[11, 38, 18, 173, 173, 173, 150, 120, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4721], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12101], [[11, 38, 18, 150, 173, 173, 10, 173, 118, 120, 10, 173, 173, 173, 173, 173, 3, 121, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [0, 20900, 16746, 0, 0, 0, 22027, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 16422, 0, 0, 0], 7359], [[18, 38, 11, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13598], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 173, 120, 150, 18, 10, 150, 118, 33, 11, 11, 11], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [16746, 0, 21378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16419, 0, 0, 0], 9202], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 33, 122, 11, 11, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21059, 0, 0, 0, 0, 0, 11948, 15780, 15779, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 13657], [[18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0], 10736], [[18, 11, 38, 150, 150, 3, 3, 173, 173, 173, 173, 120, 124, 124, 124, 124, 173, 173, 173, 150], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21057, 0, 0, 20579, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5541], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 54, 10, 33, 33, 11], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 16254, 0], 9627], [[18, 38, 11, 150, 150, 173, 150, 54, 10, 33, 122, 10, 10, 10, 10, 11, 11, 82, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 15779, 16736, 0, 16419, 16419, 16419, 16102, 0, 0, 0, 0, 0], 11481], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14786], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 173, 150, 150, 150, 11, 11, 10, 33, 10, 122, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16254, 15776, 0, 0], 9182], [[11, 38, 11, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19786, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4348], [[38, 173, 173, 173, 173, 150, 18, 173, 150, 150, 150, 11, 11, 10, 33, 150, 173, 173, 173, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 0], 14892], [[38, 173, 173, 173, 173, 173, 173, 39, 39, 173, 18, 173, 150, 150, 150, 11, 11, 11, 11, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 2107, 2107, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778], 12753], [[11, 18, 11, 38, 150, 150, 173, 150, 120, 54, 10, 33, 11, 11, 122, 82, 153, 60, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19625, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12102], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21058, 0, 0, 0, 11948, 0, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7286], [[18, 38, 11, 150, 150, 150, 54, 10, 33, 122, 10, 11, 11, 153, 153, 10, 33, 10, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 107, 111, 115, 143, 146], [16746, 21060, 0, 0, 0, 0, 0, 15780, 16576, 0, 16260, 0, 0, 0, 0, 17056, 17056, 17059, 0, 0], 14082], [[38, 39, 18, 173, 173, 173, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 11, 33, 10, 54], [9, 10, 17, 30, 34, 48, 143, 146, 166], [21060, 2267, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0], 6785], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 10, 173, 33, 122, 11, 11, 82, 153], [9, 10, 17, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16257, 0, 0, 0, 0, 0], 9595], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 173, 39, 150, 150, 150, 11, 10, 10, 10, 10, 150], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 1947, 0, 0, 0, 0, 15778, 16576, 16736, 16257, 0], 11423], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 15944, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6042], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 10, 10, 33, 10, 10, 150, 11, 11, 33, 173, 173], [9, 10, 17, 30, 34, 55, 64, 75, 107, 111, 115, 143, 146, 166], [19788, 0, 16746, 0, 0, 0, 0, 0, 0, 15779, 15779, 16576, 15778, 16259, 0, 0, 0, 17056, 0, 0], 10990], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 33, 11, 11, 122, 54, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 120, 18, 10, 3, 173, 173, 118, 124, 11, 11, 150, 33, 33, 11, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21218, 0, 0, 0, 11948, 15780, 16420, 0, 0, 0, 0, 0, 0, 0, 15624, 15783, 0, 0], 12362], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 33, 10, 11, 122, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16092, 15617, 16254, 0, 0, 11948, 0, 0], 8864], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 10, 10, 11, 11, 11, 33, 54, 122, 11, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 0, 0, 0, 0], 11262], [[18, 11, 38, 150, 150, 173, 173, 173, 18, 120, 3, 173, 173, 173, 173, 124, 124, 173, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 16756, 0], 16045], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19785, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5079], [[38, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 173, 173, 150, 150, 10, 11, 11, 18, 11], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 11948, 0], 13922], [[11, 18, 11, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 16746, 0, 0, 19788, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7239], [[11, 18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 33, 173, 173, 173, 173, 173, 173, 122, 173], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 16746, 0, 19628, 0, 0, 0, 0, 15779, 15779, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0], 12772], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0], 7440], [[38, 173, 173, 173, 173, 18, 18, 173, 173, 150, 150, 173, 173, 11, 11, 33, 10, 10, 0, 0], [9, 10, 17, 30, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 16259, 0, 0], 5929], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 16258, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0], 14971], [[38, 173, 173, 18, 173, 173, 150, 11, 150, 150, 120, 173, 173, 173, 173, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15938, 20434, 0, 0, 0], 13880], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 18822, 0, 0, 0, 0, 0, 0, 0, 22183, 11948, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 38, 11, 173, 150, 173, 173, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5979], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 120, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 143, 166], [16746, 0, 20899, 20913, 0, 0, 0, 0, 15778, 0, 16254, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6163], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 173, 173, 173, 54, 10, 33, 122, 11, 11, 150], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 15779, 16258, 0, 0, 0, 0], 9785], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 150, 10, 11, 33, 122, 18, 11, 41, 153], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 16096, 0, 15779, 0, 11948, 0, 15946, 0], 14465], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 11948, 17710, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5323], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 18], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 21550, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19111], 5271], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 33, 173, 173, 173, 173, 173, 173, 173, 3], [3, 9, 10, 17, 30, 34, 113, 114, 143, 166], [16746, 0, 21060, 21073, 0, 0, 0, 0, 0, 15778, 16416, 16576, 0, 0, 0, 0, 0, 0, 0, 16576], 6745], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 10, 10, 173, 173, 10, 173, 173, 173, 10], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [16746, 0, 22021, 0, 0, 0, 0, 0, 0, 11948, 15778, 16576, 16576, 0, 0, 16259, 0, 0, 0, 16259], 7380], [[11, 18, 38, 11, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 150, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 16746, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16259], 9422], [[18, 38, 11, 150, 150, 150, 10, 33, 33, 33, 54, 122, 11, 11, 82, 153, 153, 153, 153, 18], [3, 9, 10, 17, 30, 34, 48, 55, 75, 115, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 15779, 16576, 16576, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948], 8602], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 150, 10, 122, 173, 18, 33, 11, 11, 11, 173], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 17221, 0, 15778, 0, 0, 11948, 16256, 0, 0, 0, 0], 9059], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15780, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11709], [[18, 11, 38, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 150, 173, 3, 18, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [16746, 0, 20579, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20913, 16746, 0, 0, 0], 5718], [[38, 18, 11, 150, 173, 173, 173, 173, 150, 173, 173, 173, 120, 150, 173, 3, 18, 54, 10, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20914, 19111, 0, 17710, 0], 13661], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 41, 41, 18, 3, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 48, 113, 117, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 18983, 18666, 11948, 15779, 0, 0, 0, 0, 0, 0, 0], 8307], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 3, 150, 10, 33, 124, 10, 10, 122, 124, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 19788, 0, 15779, 16258, 0, 15779, 16896, 0, 0, 0, 0], 19818], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 11, 11, 10, 54, 33, 11, 122, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20914, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 0, 16415, 0, 0, 19111, 0, 0], 18794], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 150, 150, 11, 11, 10, 33, 10, 10, 54, 122, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15780, 16258, 16255, 16092, 0, 0, 0], 10778], [[38, 18, 11, 150, 173, 173, 173, 173, 173, 150, 173, 120, 173, 173, 150, 18, 10, 11, 11, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 16258], 10045], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [16746, 20419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3568], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4594], [[18, 38, 11, 150, 150, 173, 173, 120, 150, 54, 10, 11, 33, 122, 82, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 16257, 0, 15779, 0, 0, 0, 0, 0, 0, 0], 13637], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 11, 54, 33, 122, 18], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [21378, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 16415, 0, 11948], 10146], [[38, 18, 11, 173, 173, 173, 150, 150, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 18, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15941, 0, 0, 0, 0, 0, 0, 0, 11948, 15463], 14442], [[38, 11, 18, 173, 173, 173, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [19787, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 16415, 15778, 0, 0, 0, 0, 19111, 0, 0, 0], 11407], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 11, 150, 11, 33, 54], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20594, 0, 16746, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0], 12223], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 11, 11, 10, 41, 11, 33, 54, 173, 122, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 15778, 16110, 0, 16254, 0, 0, 0, 11948], 12521], [[38, 11, 173, 173, 173, 173, 18, 173, 150, 120, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5642], [[18, 38, 150, 173, 173, 173, 150, 173, 150, 150, 11, 11, 150, 33, 10, 10, 11, 11, 54, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 16415, 0, 0, 0, 0], 10962], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 10, 150, 122, 11, 33, 11, 54, 173, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 0, 15778, 0, 0, 0, 16256, 0, 0, 0, 0, 0], 11885], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124, 124], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 75, 110, 113, 114, 117, 139, 143, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 16581, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 17166], [[11, 38, 18, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7436], [[11, 38, 38, 11, 18, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 33, 124, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 20413, 20413, 0, 16746, 0, 0, 0, 11948, 16422, 0, 0, 0, 0, 0, 0, 0, 15780, 0, 0], 8216], [[11, 18, 11, 38, 173, 173, 173, 150, 173, 173, 120, 173, 173, 150, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5049], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 150, 150, 11, 11, 10, 33, 54, 11, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16415, 0, 0, 0], 9877], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 173, 124, 124, 124, 18, 18, 150], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [0, 19788, 0, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 11948, 0], 17037], [[38, 173, 173, 173, 18, 173, 173, 150, 173, 11, 173, 173, 150, 11, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3569], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [21864, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4065], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 18, 18, 10, 33, 122, 150, 11], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 113, 115, 130, 143, 146, 166], [16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11947, 11948, 15778, 16415, 0, 0, 0], 17533], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3450], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 150, 33, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 0, 15779, 0, 0, 0, 0, 0, 0, 0, 15471, 0, 0], 18944], [[11, 11, 18, 11, 38, 11, 11, 120, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6216], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 0, 0, 16257, 16257, 0, 0, 0, 0, 0, 0, 0], 12010], [[38, 173, 173, 173, 173, 173, 18, 150, 173, 150, 173, 150, 173, 150, 10, 33, 11, 11, 120, 18], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [20913, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15779, 16257, 0, 0, 0, 11948], 10493], [[38, 18, 11, 173, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [20913, 16746, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17080], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 150, 150, 11, 150, 10, 10, 33, 11, 11, 11], [9, 10, 17, 30, 34, 48, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 16257, 0, 0, 0], 7129], [[18, 11, 38, 173, 173, 120, 18, 173, 173, 173, 3, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [16746, 0, 21061, 0, 0, 0, 11948, 0, 0, 0, 15780, 15779, 0, 0, 0, 0, 0, 0, 0, 0], 7636], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 11, 3, 10, 54], [3, 9, 10, 17, 30, 34, 48, 53, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15778, 0, 0, 0, 0, 0, 0, 0, 15310, 15470, 0], 9362], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 11, 11, 10, 10, 173, 173, 173, 10, 10], [9, 10, 17, 34, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 15778, 0, 0, 0, 16415, 16258], 7158], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 150, 54, 122, 11, 11, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15778, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11194], [[38, 150, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 11, 120, 3, 150, 11, 10, 18, 122], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [19788, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 15779, 0, 0, 16576, 11948, 0], 10289], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 54, 10, 33, 11, 11, 122, 82, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 15779, 16417, 0, 0, 0, 0, 0, 0, 0, 0], 11848], [[18, 38, 150, 150, 173, 173, 150, 150, 11, 11, 10, 33, 54, 54, 122, 11, 18, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 115, 139, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 0, 0, 0, 0, 11948, 0, 0, 0], 18392], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 150], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 16098, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15781, 0], 10921], [[38, 18, 173, 173, 173, 150, 11, 173, 150, 173, 173, 120, 18, 10, 11, 11, 54, 33, 122, 173], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [19788, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 16257, 0, 0], 11040], [[11, 38, 11, 18, 173, 173, 173, 150, 173, 120, 11, 173, 150, 173, 173, 173, 150, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12294], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 150, 150, 3, 18, 0, 0], [3, 10, 17, 34, 113, 143, 166], [0, 19788, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21060, 16746, 0, 0], 7437], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19778, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4871], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 150, 150, 150, 11, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [21061, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15617, 16254, 0, 0, 0], 12386], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 18, 10, 33, 54, 11, 10, 10], [9, 10, 17, 30, 34, 48, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 11948, 15779, 16576, 0, 0, 16419, 16102], 7606], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 20573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5736], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 150, 124, 124, 173, 124, 124, 124, 124, 18], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 45, 46, 47, 48, 50, 56, 75, 78, 83, 85, 86, 89, 109, 110, 111, 113, 115, 117, 122, 130, 132, 143, 146, 155, 166], [0, 21060, 0, 0, 0, 0, 0, 22021, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746], 32449], [[38, 173, 173, 173, 150, 11, 18, 3, 173, 173, 150, 173, 124, 124, 124, 120, 18, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [20913, 0, 0, 0, 0, 0, 16746, 19786, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0], 12089], [[18, 11, 38, 38, 150, 150, 120, 150, 54, 33, 10, 11, 11, 153, 153, 27, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 64, 75, 107, 113, 115, 143, 146], [16746, 0, 20899, 21059, 0, 0, 0, 0, 0, 15778, 16256, 0, 0, 0, 0, 17871, 0, 0, 0, 0], 12596], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 18, 173, 173, 173, 10, 11, 11, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 15779, 0, 0, 0, 15470], 12183], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 11, 11, 10, 33, 11, 54, 122], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16254, 0, 0, 0], 15413], [[18, 11, 38, 150, 173, 173, 150, 173, 173, 173, 120, 10, 173, 173, 173, 122, 33, 10, 11, 18], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [16746, 0, 19788, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 0, 0, 0, 0, 16736, 16096, 0, 11948], 15656], [[18, 11, 38, 173, 173, 150, 150, 120, 18, 3, 11, 11, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [16746, 0, 21864, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9844], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 33, 10, 120, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [19788, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 15778, 16576, 0, 0, 0, 0, 0], 7857], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 18, 173, 124, 124, 124, 150, 173, 124, 124, 150, 124], [3, 10, 17, 18, 25, 30, 34, 48, 117, 143, 146, 166], [21864, 0, 0, 0, 0, 21060, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9730], [[11, 11, 18, 11, 38, 11, 173, 173, 173, 120, 150, 173, 173, 173, 173, 173, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 0, 16746, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4967], [[38, 173, 173, 173, 173, 18, 18, 173, 150, 173, 173, 150, 150, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [19788, 0, 0, 0, 0, 16746, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4181], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 120, 173, 150, 173, 173, 150, 3, 54, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 0, 0], 9199], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 173, 173, 11, 11, 10, 33, 11, 122], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 16415, 0, 0], 11483], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 150, 122, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 11948, 15779, 15779, 0, 0, 16896, 0, 0, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 3, 18, 124, 124, 33, 11, 150, 10, 54, 173, 11], [3, 9, 10, 17, 30, 34, 48, 55, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 0, 0, 15779, 11948, 0, 0, 15943, 0, 0, 15305, 0, 0, 0], 8838], [[38, 173, 173, 173, 18, 173, 150, 173, 173, 11, 150, 120, 173, 173, 150, 3, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [19788, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16102, 0, 0, 0, 0], 6219], [[18, 38, 11, 150, 173, 150, 173, 3, 150, 173, 10, 124, 124, 173, 173, 173, 173, 124, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 75, 115, 117, 130, 143, 146, 166], [16746, 19467, 0, 0, 0, 0, 0, 19623, 0, 0, 16902, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10974], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 75, 83, 89, 111, 113, 115, 117, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 0, 0, 0, 16258, 0, 0], 15466], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 11, 10, 33, 18, 122, 153], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15779, 16576, 19111, 0, 0], 12442], [[18, 38, 11, 150, 173, 173, 150, 173, 173, 120, 18, 18, 10, 54, 11, 33, 11, 122, 150, 173], [9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 139, 143, 146, 166], [16746, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 19111, 15304, 0, 0, 19148, 0, 0, 0, 0], 17644], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 33, 173, 173, 173, 173, 173, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [16746, 0, 19466, 0, 0, 0, 0, 0, 0, 11948, 16916, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7816], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 27, 153, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146], [16746, 0, 21218, 0, 0, 0, 0, 15778, 16257, 0, 0, 17871, 0, 0, 0, 0, 16736, 0, 0, 0], 8073], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 33, 122, 54, 11, 11, 150, 82, 153, 153, 11, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 11948, 15780, 16576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14708], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 11, 11, 10, 54, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 155, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15778, 0, 16254, 0], 20971], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [16746, 0, 19628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5726], [[18, 38, 11, 150, 150, 120, 150, 10, 33, 122, 173, 173, 173, 173, 173, 173, 173, 173, 18, 54], [9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 16259, 15781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 0], 22350], [[11, 38, 120, 173, 18, 150, 173, 173, 150, 33, 18, 153, 153, 150, 153, 153, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [0, 20913, 0, 0, 16746, 0, 0, 0, 0, 20434, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8076], [[38, 11, 18, 173, 173, 173, 150, 120, 3, 150, 173, 173, 173, 173, 173, 54, 124, 124, 33, 11], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [21060, 0, 16746, 0, 0, 0, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15470, 0], 8633], [[11, 38, 18, 173, 173, 150, 120, 173, 173, 150, 173, 173, 173, 173, 18, 33, 153, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 21060, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11948, 17076, 0, 0, 0, 0], 8633], [[38, 173, 173, 173, 18, 173, 173, 150, 150, 150, 11, 33, 173, 173, 173, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 146, 166], [20740, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 17550, 0, 0, 0, 0, 0, 0, 0, 0], 12472], [[38, 11, 18, 11, 173, 150, 18, 150, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [19788, 0, 11948, 0, 0, 0, 16746, 0, 0, 20913, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7138], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 173, 150, 150, 150, 150, 150, 150, 150], [9, 10, 17, 30, 34, 55, 64, 75, 107, 115, 143, 146, 166], [20913, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15728], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 41, 120, 10, 18, 11, 11, 150, 122, 33], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [16746, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15947, 0, 15779, 11948, 0, 0, 0, 0, 16736], 20182], [[18, 38, 11, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 113, 117, 143, 146, 166], [16746, 20579, 0, 0, 0, 0, 0, 0, 21378, 11948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13497], [[18, 38, 11, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 173, 122, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [16746, 21060, 0, 0, 0, 0, 0, 11948, 15779, 0, 0, 0, 0, 0, 16417, 0, 0, 0, 0, 0], 22838], [[18, 11, 38, 150, 150, 173, 173, 3, 120, 10, 150, 33, 54, 122, 11, 11, 11, 18, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [16746, 0, 21060, 0, 0, 0, 0, 16422, 0, 15779, 0, 16259, 0, 0, 0, 0, 0, 11948, 0, 0], 27674]], "20264": [[[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20419, 0, 0, 0, 0, 0, 0, 0, 3695, 3697, 3539, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4316], [[38, 173, 173, 173, 39, 173, 173, 18, 173, 150, 150, 11, 150, 120, 18, 173, 173, 11, 33, 10], [3, 9, 10, 17, 30, 34, 55, 111, 113, 117, 143, 146, 166], [21864, 0, 0, 0, 4016, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 11948, 0, 0, 0, 17871, 15778], 11620]]}, "random": {"20264": [[[38, 11, 173, 173, 173, 150, 173, 173, 173, 120, 18, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [21864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16746, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4532], [[11, 18, 11, 38, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 11948, 0, 21060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5511]]}}, "PortAleksander": {"zerg": {"3220": [[[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [2413, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4308], [[18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 10, 33, 122, 153, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 0, 0], 7041], [[18, 11, 38, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6345], [[18, 11, 38, 150, 173, 173, 150, 173, 150, 54, 33, 10, 11, 10, 10, 10, 27, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 8826, 8186, 0, 7706, 7385, 7706, 6900, 0, 0, 0], 7849], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 124, 11, 33], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8349, 0, 0, 7689], 10342], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 124, 10], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8027, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8826], 10040], [[18, 11, 38, 10, 10, 150, 121, 120, 150, 10, 33, 173, 173, 3, 3, 173, 173, 173, 122, 173], [3, 9, 10, 17, 30, 34, 113, 114, 115, 117, 143, 166], [7859, 0, 1938, 2413, 1941, 0, 0, 0, 0, 8028, 8826, 0, 0, 2413, 2413, 0, 0, 0, 0, 0], 6342], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 150, 173, 173, 173, 173, 124, 10, 173, 173], [3, 9, 10, 17, 25, 26, 34, 48, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8030, 0, 0], 9105], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 7866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15599], [[18, 11, 38, 173, 173, 150, 173, 150, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [7859, 0, 3385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5753], [[18, 11, 38, 150, 150, 173, 150, 54, 11, 33, 10, 10, 11, 27, 122, 60, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146, 166], [7859, 0, 4341, 0, 0, 0, 0, 0, 0, 8030, 8827, 8827, 0, 6900, 0, 0, 0, 0, 0, 0], 7335], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 10, 150, 118, 33, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 111, 113, 143, 146, 166], [7859, 0, 3050, 0, 0, 0, 0, 11855, 0, 8028, 8029, 0, 0, 8827, 0, 0, 0, 0, 0, 0], 9441], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 3226, 0, 0, 0], 7656], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 124, 10, 11, 122, 33, 54, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 8347, 0, 0, 7706, 0, 0, 0], 9121], [[38, 18, 173, 173, 173, 173, 173, 150, 11, 150, 150, 10, 11, 33, 11, 122, 10, 60, 82, 153], [9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 115, 143, 146, 166], [4016, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028, 0, 8824, 0, 0, 8667, 0, 0, 0], 14305], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 65, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 1939, 0, 0, 0, 11855, 0, 0, 0, 7706, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14738], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 124, 124, 122, 122, 150], [3, 9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4334, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 8347, 0, 0, 0, 0, 0], 10538], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 173, 173, 150, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [1937, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4292], [[18, 38, 150, 150, 150, 11, 11, 150, 10, 10, 11, 11, 118, 121, 40, 173, 173, 173, 120, 173], [9, 10, 17, 34, 35, 110, 111, 113, 114, 122, 139, 143, 166], [7859, 4176, 0, 0, 0, 0, 0, 0, 8028, 8507, 0, 0, 0, 0, 2413, 0, 0, 0, 0, 0], 15063], [[18, 38, 150, 173, 173, 150, 173, 150, 11, 11, 150, 54, 33, 10, 11, 122, 153, 153, 153, 153], [9, 10, 17, 19, 30, 34, 48, 64, 75, 107, 115, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6574, 8028, 0, 0, 0, 0, 0, 0], 10628], [[11, 38, 18, 150, 173, 11, 150, 3, 173, 173, 173, 10, 10, 173, 173, 120, 10, 124, 173, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [0, 2744, 7859, 0, 0, 0, 0, 1939, 0, 0, 0, 3696, 3856, 0, 0, 0, 3050, 0, 0, 0], 4964], [[18, 11, 38, 150, 150, 120, 150, 150, 54, 54, 10, 33, 122, 11, 11, 27, 153, 150, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 64, 75, 89, 107, 110, 111, 113, 115, 139, 143, 146], [7859, 0, 3850, 0, 0, 0, 0, 0, 0, 0, 8824, 8028, 0, 0, 0, 7210, 0, 0, 0, 0], 21056], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 150, 173, 173, 11, 10, 11, 173, 33, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 0, 8027, 0, 0, 0, 0, 0, 8825, 0, 0, 8821, 8822], 8613], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 150, 173, 173, 124, 124, 173, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9877], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 19, 34, 35, 48, 64, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 3225, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17178], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 10, 33, 11, 11, 122, 82, 153, 10, 153, 10, 153], [9, 10, 17, 30, 34, 48, 75, 115, 143, 146, 166], [0, 2413, 7859, 0, 0, 0, 0, 0, 0, 8827, 8028, 0, 0, 0, 0, 0, 8510, 0, 8345, 0], 8199], [[18, 38, 11, 150, 150, 173, 150, 11, 10, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 115, 139, 143, 146, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8825, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 18069], [[18, 11, 38, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4176, 4016, 0, 0, 0, 11855, 7704, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19511], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 173, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 9440], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 173, 11, 71, 71, 11, 122, 33, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 109, 113, 115, 117, 122, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 8027, 0, 0, 0, 8507, 0, 0, 0, 0, 0, 0, 8821, 0], 17105], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4507, 0, 0, 0, 0, 0, 11855, 8027, 8506, 8505, 0, 0, 0, 0, 0, 0, 0, 0], 12693], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 54, 11, 11, 11, 11, 150, 40, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 64, 109, 110, 111, 113, 114, 117, 122, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 1938, 0, 0, 0, 0], 13468], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4179, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6771], [[18, 11, 38, 150, 150, 120, 3, 173, 173, 18, 173, 124, 124, 173, 173, 10, 173, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 8024, 0, 0, 11855, 0, 0, 0, 0, 0, 8027, 0, 0, 0, 0], 16668], [[18, 11, 38, 10, 173, 173, 150, 150, 121, 173, 120, 173, 173, 173, 173, 173, 150, 150, 150, 150], [9, 10, 17, 34, 113, 114, 143, 166], [7859, 0, 2745, 1938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8332], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 10, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8826, 0, 0, 0, 0, 8347, 0, 0, 0], 11586], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 120, 173, 173, 173, 18, 11, 11, 150, 33, 10], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 8028, 8826], 14430], [[38, 150, 173, 173, 173, 173, 173, 18, 173, 11, 150, 120, 10, 18, 173, 173, 11, 118, 33, 153], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [2094, 0, 0, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 8826, 11855, 0, 0, 0, 0, 8029, 0], 10083], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 10, 54, 33, 173, 173, 150, 11, 11, 122, 82], [9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 55, 64, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 8825, 0, 0, 0, 0, 0, 0, 0], 24623], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 150, 82, 11, 60, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8826, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8996], [[18, 11, 38, 120, 18, 150, 173, 3, 173, 124, 124, 173, 173, 150, 33, 173, 173, 71, 54, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8030, 0, 0, 0, 0, 0, 0, 8508, 0, 0, 0, 0, 8823], 24908], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 10, 118, 150, 173, 173, 173, 173, 11, 11, 54], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10543], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [7859, 0, 3370, 3370, 0, 0, 0, 0, 11855, 8027, 8187, 0, 0, 0, 0, 0, 0, 8826, 0, 0], 8433], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 18, 118, 11, 11, 33, 33, 10], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 146, 166], [7859, 0, 4493, 0, 0, 0, 11855, 8028, 0, 0, 8028, 0, 0, 11855, 0, 0, 0, 8508, 8507, 8824], 8963], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [4016, 0, 0, 0, 0, 0, 0, 0, 0, 18051, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3984], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 10, 60, 82, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 64, 75, 111, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8347, 0, 0, 0, 7865, 0, 0, 0, 0, 0, 0, 0, 0], 13651], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 117, 139, 143, 146, 166], [7859, 0, 4494, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 13120], [[18, 11, 38, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 10, 173, 150, 124, 124, 124], [3, 9, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0, 0, 8825, 0, 0, 0, 0, 0], 6879], [[18, 11, 38, 150, 150, 173, 120, 18, 10, 150, 122, 33, 11, 11, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 113, 114, 115, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 0, 0, 8506, 0, 0, 0, 0, 0, 0, 0, 0], 10387], [[38, 11, 18, 150, 173, 120, 150, 10, 173, 173, 121, 18, 173, 173, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [4176, 0, 7859, 0, 0, 0, 0, 3050, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 2253, 0, 0], 9926], [[18, 11, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 120, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 0, 4654, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3050, 0, 0, 0, 0, 0], 8435], [[18, 11, 38, 150, 150, 120, 18, 150, 10, 173, 173, 173, 33, 33, 122, 11, 54, 11, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 53, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [7859, 0, 2745, 0, 0, 0, 11855, 0, 8027, 0, 0, 0, 8825, 8826, 0, 0, 0, 0, 0, 0], 13991], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 10, 173, 124, 124, 150, 173, 122], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 8827, 0, 0, 0, 8029, 0, 0, 0, 0, 0, 0], 18525], [[11, 18, 11, 38, 11, 150, 150, 173, 173, 120, 18, 3, 173, 10, 173, 173, 173, 122, 33, 11], [3, 9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [0, 7859, 0, 3710, 0, 0, 0, 0, 0, 0, 11855, 8825, 0, 8825, 0, 0, 0, 0, 8028, 0], 12949], [[38, 11, 18, 150, 173, 173, 173, 120, 150, 10, 121, 18, 173, 173, 173, 173, 173, 150, 11, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 114, 115, 143, 146, 166], [4176, 0, 7859, 0, 0, 0, 0, 0, 0, 3210, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 7849], 14010], [[18, 11, 38, 150, 150, 150, 10, 33, 122, 11, 11, 82, 11, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0], 9631], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 39, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [3050, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 17414, 0, 0, 0, 0, 0, 0, 0, 0], 3664], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 173, 150, 173, 150, 150, 150, 150, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 111, 115, 117, 143, 146, 166], [2746, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 15907], [[18, 11, 38, 120, 18, 173, 173, 3, 150, 173, 173, 10, 124, 173, 173, 11, 11, 33, 122, 54], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 11855, 0, 0, 8028, 0, 0, 0, 8825, 0, 0, 0, 0, 0, 8185, 0, 0], 10751], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 33, 10, 173, 173, 173, 173, 173, 173, 173, 10, 121], [9, 10, 17, 30, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8027, 8823, 8344, 0, 0, 0, 0, 0, 0, 0, 7864, 0], 5910], [[38, 173, 173, 173, 39, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [2413, 0, 0, 0, 17414, 0, 0, 0, 0, 0, 14853, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3348], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6804], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 8345, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 10, 150, 150, 173, 118, 120, 173, 10, 33, 173, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [0, 7859, 0, 2890, 2413, 0, 0, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 0], 8727], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 124, 124, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 35, 48, 53, 75, 89, 109, 110, 113, 114, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8028], 16034], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 54, 11, 11, 11, 150, 173, 173, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7859, 0, 3548, 0, 0, 0, 11855, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9445], [[18, 11, 38, 150, 120, 150, 18, 10, 173, 173, 173, 173, 18, 118, 3, 173, 173, 173, 173, 54], [3, 9, 10, 17, 34, 35, 48, 111, 113, 117, 139, 143, 166], [7859, 0, 2571, 0, 0, 0, 11855, 3050, 0, 0, 0, 0, 11855, 0, 8024, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 150, 10, 11, 11, 124, 124, 54, 33, 122], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4176, 0, 0, 0, 0, 0, 11855, 8666, 0, 0, 8028, 0, 0, 0, 0, 0, 8813, 0], 20327], [[18, 11, 38, 150, 150, 120, 10, 173, 173, 173, 18, 121, 173, 173, 173, 3, 173, 173, 54, 124], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [7859, 0, 4016, 0, 0, 0, 3210, 0, 0, 0, 11855, 0, 0, 0, 0, 8826, 0, 0, 0, 0], 13905], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 8029, 0, 0, 0, 0], 7724], [[11, 18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 150, 10, 122, 33, 11, 11, 54, 173, 173], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 143, 146, 166], [0, 7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 0, 8827, 0, 8029, 0, 0, 0, 0, 0], 12580], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 7859, 0, 4177, 0, 0, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6611], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 173, 18, 33, 10, 173, 173, 11, 11, 122], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [7859, 0, 1940, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6134, 8820, 8823, 0, 0, 0, 0, 0], 9231], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 18, 82, 11, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [7859, 0, 4176, 0, 0, 0, 0, 8826, 8028, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0], 11799], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6029], [[18, 11, 38, 120, 173, 18, 10, 33, 122, 11, 11, 54, 150, 153, 153, 11, 11, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [7859, 0, 3551, 0, 0, 11855, 8028, 8826, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12765], [[18, 11, 38, 150, 150, 150, 11, 10, 33, 150, 122, 10, 153, 153, 153, 153, 82, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146], [7859, 0, 3870, 0, 0, 0, 0, 8030, 8827, 0, 0, 8187, 0, 0, 0, 0, 0, 0, 0, 0], 12241], [[18, 11, 38, 173, 120, 18, 3, 173, 173, 173, 173, 150, 10, 124, 124, 124, 11, 11, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 11855, 8826, 0, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0, 0], 12657], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 10, 10, 173, 173, 118, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 111, 113, 114, 143, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8024, 0, 8028, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7919], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 33, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 5541], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 150, 10, 54, 11, 173, 173, 173, 173], [3, 9, 10, 17, 18, 22, 30, 34, 35, 48, 75, 83, 113, 115, 117, 130, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 0, 2589, 0, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 13601], [[38, 11, 173, 173, 173, 18, 173, 173, 173, 150, 120, 173, 173, 150, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [2413, 0, 0, 0, 0, 7859, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5435], [[38, 11, 18, 150, 173, 120, 150, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 11, 54, 11], [3, 10, 17, 34, 35, 48, 64, 65, 89, 110, 113, 117, 139, 143, 166], [3231, 0, 7859, 0, 0, 0, 0, 11855, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13014], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 124, 124, 124, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7859, 4178, 0, 0, 0, 0, 0, 0, 8661, 11855, 0, 0, 0, 8028, 0, 0, 0, 0, 0, 0], 21272], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 124, 173, 10, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0], 9982], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7859, 0, 3225, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 25540], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 173, 3, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 4180, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7585], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 11855, 0, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16378], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0], 9644], [[18, 11, 38, 150, 150, 120, 10, 121, 173, 173, 10, 33, 173, 173, 173, 173, 173, 173, 3, 124], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [7859, 0, 4176, 0, 0, 0, 2890, 0, 0, 0, 8826, 8028, 0, 0, 0, 0, 0, 0, 2413, 0], 7460], [[18, 11, 38, 150, 150, 150, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 10, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 115, 143, 146], [7859, 0, 4016, 0, 0, 0, 8028, 8825, 8826, 0, 0, 0, 0, 0, 0, 0, 8345, 0, 0, 0], 9055], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 11], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8826, 0], 13977], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 11, 11, 173, 173, 54, 122, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8826, 0, 0, 0, 0, 0, 0, 8819], 11517], [[18, 11, 38, 10, 150, 150, 173, 118, 150, 150, 150, 150, 120, 173, 173, 173, 173, 173, 173, 173], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [7859, 0, 4016, 1783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12166], [[18, 11, 38, 173, 173, 150, 150, 173, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7859, 0, 4333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5452], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 3388, 0, 0, 0, 0, 0, 11855, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12543], [[18, 38, 11, 150, 150, 173, 54, 150, 10, 10, 173, 173, 173, 173, 173, 173, 173, 120, 121, 3], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [7859, 4016, 0, 0, 0, 0, 0, 0, 8027, 8027, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8024], 9804], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20323], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 122, 11, 11, 33, 54, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4016, 0, 0, 0, 11855, 8027, 0, 0, 0, 0, 8666, 0, 0, 0, 8823, 0, 0, 0], 16249], [[18, 11, 38, 150, 150, 173, 173, 54, 150, 11, 33, 27, 150, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [7859, 0, 2413, 0, 0, 0, 0, 0, 0, 0, 8826, 7864, 0, 0, 0, 0, 0, 0, 0, 0], 6444], [[18, 11, 10, 38, 150, 150, 173, 54, 150, 10, 33, 11, 121, 11, 11, 10, 40, 120, 82, 173], [3, 9, 10, 17, 18, 19, 30, 34, 35, 43, 45, 46, 47, 48, 59, 65, 67, 75, 78, 83, 89, 109, 110, 111, 112, 113, 114, 115, 117, 122, 139, 143, 153, 155, 166], [7859, 0, 4016, 4016, 0, 0, 0, 0, 0, 8824, 8027, 0, 0, 0, 0, 8344, 6414, 0, 0, 0], 28748], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 124, 124, 173, 173, 173, 33, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 53, 75, 89, 113, 115, 117, 143, 146, 166], [0, 7859, 0, 4176, 0, 0, 0, 11855, 8825, 0, 0, 8027, 0, 0, 0, 0, 0, 8169, 0, 0], 10188], [[18, 11, 38, 150, 150, 120, 173, 173, 11, 173, 173, 173, 150, 150, 150, 173, 173, 3, 10, 3], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [7859, 0, 4016, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3384, 3384, 8027], 10461], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7859, 0, 4495, 0, 0, 0, 0, 0, 11855, 8025, 8024, 0, 0, 0, 0, 0, 0, 8664, 0, 0], 10043], [[18, 11, 38, 120, 150, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 18, 122, 11, 11, 153], [9, 10, 17, 30, 34, 55, 113, 115, 143, 146, 166], [7859, 0, 4016, 0, 0, 8027, 8825, 0, 0, 0, 0, 0, 0, 0, 0, 11855, 0, 0, 0, 0], 9560], [[18, 11, 38, 120, 173, 173, 173, 18, 3, 173, 10, 124, 150, 122, 124, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 3391, 0, 0, 0, 0, 11855, 8826, 0, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 8025], 20703], [[18, 11, 38, 150, 150, 120, 173, 18, 10, 10, 173, 118, 173, 173, 173, 173, 173, 173, 33, 150], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [7859, 0, 4016, 0, 0, 0, 0, 11855, 8667, 8827, 0, 0, 0, 0, 0, 0, 0, 0, 8348, 0], 29469], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 124, 124, 173, 173, 173, 173, 173, 150, 124], [3, 10, 17, 30, 34, 35, 110, 113, 117, 139, 143, 166], [7859, 0, 3231, 0, 0, 0, 0, 0, 0, 11855, 8028, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13782], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 10, 173, 124, 124, 11, 11, 33, 118, 173], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 109, 110, 111, 113, 115, 117, 139, 143, 146, 166], [7859, 0, 4333, 0, 0, 0, 11855, 0, 8825, 0, 8027, 8028, 0, 0, 0, 0, 0, 7688, 0, 0], 17246]], "19175": [[[18, 11, 38, 150, 150, 150, 54, 10, 33, 11, 150, 122, 27, 150, 153, 153, 153, 153, 10, 28], [9, 10, 17, 25, 26, 30, 34, 48, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 15975, 0, 0, 0, 0, 0, 14369, 4838], 7603], [[18, 11, 38, 150, 150, 33, 150, 11, 27, 153, 150, 153, 153, 153, 153, 28, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 143, 146], [14856, 0, 19971, 0, 0, 19346, 0, 0, 16299, 0, 0, 0, 0, 0, 0, 4838, 0, 0, 0, 0], 6952], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 166], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7231], [[18, 11, 38, 150, 150, 173, 54, 150, 33, 10, 11, 11, 10, 122, 10, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 13889, 14686, 0, 0, 14369, 0, 13892, 0, 0, 0, 0, 0], 8442], [[18, 11, 38, 150, 173, 150, 150, 54, 11, 11, 11, 33, 10, 10, 10, 153, 153, 153, 153, 27], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 14527, 14366, 15009, 0, 0, 0, 0, 15345], 8363], [[38, 18, 11, 150, 150, 150, 150, 54, 10, 33, 11, 122, 27, 153, 153, 10, 153, 153, 153, 153], [9, 10, 17, 25, 30, 34, 48, 115, 143, 146], [20776, 14856, 0, 0, 0, 0, 0, 0, 13888, 14528, 0, 0, 18061, 0, 0, 15009, 0, 0, 0, 0], 6070], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 173, 173, 150, 150, 173, 173, 173, 18, 3, 120, 11], [3, 10, 17, 34, 35, 110, 113, 117, 139, 143, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 19505, 0, 0], 11475], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 124, 124, 173, 173, 173, 173, 173, 150], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [14856, 0, 19324, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9756], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 173, 173, 18, 124, 124, 124, 124, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19971, 0, 0, 0, 0, 0, 20774, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 10, 173, 150, 122, 33, 33, 11, 11, 54, 11], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 113, 115, 130, 143, 146, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 10860, 0, 14686, 0, 0, 0, 14049, 13889, 0, 0, 0, 0], 13104], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 150, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13565], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 60, 82, 153, 153, 153, 153, 18, 153], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13889, 14368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0], 14056], [[18, 11, 38, 150, 150, 150, 11, 54, 10, 33, 122, 121, 82, 60, 153, 153, 153, 153, 153, 11], [9, 10, 17, 30, 34, 48, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8976], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6104], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 124, 124, 11, 10, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [14856, 0, 19330, 0, 0, 0, 10860, 13891, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 15964], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 33, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 75, 110, 115, 139, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 0, 13888, 0, 14685, 0, 15345, 0, 0, 0, 0, 0, 0, 0], 20185], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 15009, 0, 0, 0, 14529, 0], 11378], [[11, 38, 18, 150, 11, 173, 150, 173, 173, 3, 173, 173, 173, 173, 120, 173, 124, 124, 18, 124], [3, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [0, 20302, 14856, 0, 0, 0, 0, 0, 0, 19505, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 13915], [[11, 18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 3, 173, 173, 10, 33, 18, 11, 122, 11], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [0, 14856, 0, 19971, 0, 0, 0, 0, 0, 0, 0, 18699, 0, 0, 13889, 14686, 10860, 0, 0, 0], 7961], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 173, 150, 11, 173, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 48, 113, 117, 143, 146, 166], [0, 19970, 0, 0, 0, 0, 0, 20775, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14856, 0], 10726], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 120, 18, 10, 11, 33, 122, 11], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 14367, 0, 0], 8232], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 10, 122, 173, 33, 11, 150, 153, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19825, 19825, 0, 0, 0, 0, 10860, 13890, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 17954], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19490, 0, 0, 0, 0, 0, 10860, 17574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8757], [[18, 11, 38, 150, 150, 150, 150, 120, 173, 18, 3, 173, 150, 10, 173, 124, 11, 11, 11, 173], [3, 9, 10, 17, 18, 19, 22, 34, 35, 43, 47, 65, 78, 89, 111, 113, 114, 115, 117, 139, 143, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0], 16035], [[18, 11, 38, 150, 150, 120, 10, 150, 121, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10], [9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 111, 113, 114, 115, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 14370, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14849, 13890], 15448], [[18, 11, 38, 150, 150, 150, 120, 33, 10, 33, 173, 173, 173, 173, 173, 173, 173, 173, 122, 18], [9, 10, 17, 30, 34, 55, 111, 113, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 12920], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 124, 173, 150, 11, 11, 173], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 10860, 13890, 13890, 0, 0, 0, 14530, 0, 0, 0, 0, 0, 0, 0], 13502], [[38, 18, 173, 173, 173, 150, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 143, 166], [18699, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3102], [[11, 38, 18, 150, 173, 11, 150, 173, 173, 3, 173, 173, 173, 173, 173, 120, 150, 3, 10, 10], [3, 9, 10, 17, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 19972, 0, 0, 0, 0, 0, 0, 0, 19506, 14687, 14208], 11341], [[38, 173, 173, 173, 173, 18, 39, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [18865, 0, 0, 0, 0, 2599, 2439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3873], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 115, 139, 143, 146], [14856, 0, 19484, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 13902, 0, 0, 0, 0, 0, 0, 0], 13830], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 121, 122, 11, 11, 153, 153, 153, 153, 82, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 114, 115, 143, 146], [14856, 0, 20932, 0, 0, 0, 14688, 14688, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7834], [[18, 11, 38, 150, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 150, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [14856, 0, 19489, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 8859], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 11, 33, 173, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [14856, 0, 19330, 0, 0, 0, 10860, 14527, 0, 0, 0, 0, 0, 0, 0, 0, 13890, 0, 0, 0], 8049], [[18, 11, 38, 150, 150, 150, 10, 10, 33, 33, 122, 11, 11, 82, 153, 153, 153, 153, 153, 18], [9, 10, 17, 30, 34, 53, 55, 75, 115, 143, 146], [14856, 0, 18697, 0, 0, 0, 14686, 14687, 13888, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10860], 11123], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 10, 124, 124, 150, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [14856, 0, 19825, 0, 0, 0, 10860, 14049, 0, 0, 0, 0, 14688, 14688, 14687, 0, 0, 0, 0, 0], 11963], [[18, 11, 38, 150, 150, 120, 18, 10, 54, 122, 33, 11, 11, 60, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 10860, 13889, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11934], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 10860, 15011, 14531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6057], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 153, 18, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12405], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 11, 173, 173, 173, 173], [3, 10, 17, 18, 34, 35, 48, 65, 78, 110, 113, 117, 122, 130, 139, 143, 166], [14856, 0, 19484, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20787], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 18, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 10860, 14050, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 18964], [[18, 11, 38, 150, 150, 173, 120, 150, 54, 10, 11, 33, 122, 10, 11, 60, 82, 153, 153, 153], [9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 13889, 0, 14687, 0, 14530, 0, 0, 0, 0, 0, 0], 22993], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 150, 150, 150, 173, 11, 173, 150, 150, 11, 11, 10], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 46, 50, 56, 75, 78, 83, 86, 111, 115, 130, 132, 143, 146, 155, 166], [20302, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889], 23159], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [0, 14856, 0, 20302, 0, 0, 0, 0, 0, 10860, 14215, 14055, 0, 0, 0, 0, 0, 0, 0, 0], 8131], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 173, 173, 173, 124, 124, 10, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 20932, 0, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 14687, 0, 0, 0], 18708], [[18, 11, 38, 173, 150, 150, 173, 120, 173, 18, 173, 3, 173, 18, 173, 173, 150, 173, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 83, 89, 109, 111, 113, 115, 117, 130, 139, 143, 146, 155, 166], [14856, 0, 19170, 0, 0, 0, 0, 0, 0, 10860, 0, 13891, 0, 10860, 0, 0, 0, 0, 0, 0], 30132], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 3, 150, 124, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [14856, 0, 19971, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14370, 0, 0, 14370], 9249], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 173, 173, 173, 3, 150, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 14866, 0, 0, 0, 0], 6549], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 117, 143, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 20302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10303], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 173, 3, 173, 173, 173, 150, 10, 124, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14687, 0, 0, 0, 0], 13277], [[18, 11, 38, 150, 150, 150, 54, 10, 71, 33, 122, 11, 11, 60, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [14856, 0, 18699, 0, 0, 0, 0, 13890, 0, 14369, 0, 0, 0, 0, 0, 10860, 0, 0, 0, 0], 12683], [[18, 11, 38, 150, 150, 173, 120, 173, 150, 54, 33, 10, 11, 11, 27, 10, 10, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 0, 0, 14687, 13890, 0, 0, 14866, 14370, 14371, 0, 0, 0], 6454], [[18, 11, 38, 150, 150, 120, 18, 33, 54, 11, 11, 10, 122, 150, 10, 153, 153, 153, 153, 153], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19649, 0, 0, 0, 10860, 13888, 0, 0, 0, 14527, 0, 0, 15009, 0, 0, 0, 0, 0], 15839], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 20935, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6477], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 173, 124, 124, 173, 173, 150, 173], [3, 9, 10, 17, 30, 34, 35, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 14688, 0, 0, 0, 0, 0, 0, 0], 15128], [[38, 173, 173, 173, 173, 173, 39, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [20302, 0, 0, 0, 0, 0, 3552, 0, 0, 0, 5142, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3394], [[18, 11, 38, 150, 173, 150, 173, 11, 150, 10, 33, 33, 27, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 13890, 13889, 14368, 18539, 0, 0, 0, 0, 0, 0, 0], 6644], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 3, 3, 173, 173, 18, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19969, 0, 0, 0, 0, 0, 0, 13890, 13890, 0, 0, 10860, 0, 0, 0, 0, 0, 0], 7813], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 33, 173, 173, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 35, 55, 75, 111, 113, 115, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 10860, 0, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0], 18236], [[18, 11, 38, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 10, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 19971, 0, 0, 0, 10860, 0, 0, 0, 13890, 0, 0, 0, 0, 0, 14687, 0, 0], 11262], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 173, 10, 10, 124], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 0, 0, 10860, 14050, 14048, 0, 0, 0, 0, 0, 0, 14686, 14687, 0], 13696], [[18, 11, 38, 150, 173, 120, 173, 173, 173, 173, 173, 173, 150, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 19665, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4596], [[18, 11, 38, 150, 150, 173, 173, 120, 10, 33, 54, 11, 11, 118, 11, 173, 173, 173, 40, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 139, 143, 166], [14856, 0, 18538, 0, 0, 0, 0, 0, 13890, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 15666, 0], 9173], [[18, 11, 38, 150, 150, 120, 150, 54, 10, 10, 11, 33, 11, 11, 121, 40, 82, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 13890, 13889, 0, 14686, 0, 0, 0, 15345, 0, 0, 0, 0], 16855], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 18377, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10983], [[11, 38, 18, 150, 173, 11, 150, 150, 54, 54, 10, 33, 122, 11, 11, 60, 82, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [0, 18699, 14856, 0, 0, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 16581, 0, 0], 8476], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 3, 150, 18, 10, 173, 173, 173, 173, 173, 173, 118], [3, 9, 10, 17, 30, 34, 111, 113, 117, 143, 166], [14856, 0, 20932, 0, 0, 0, 0, 0, 15169, 15011, 0, 10860, 14688, 0, 0, 0, 0, 0, 0, 0], 6810], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 173, 173, 173, 173, 173, 3, 10, 150, 11, 121], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 89, 109, 110, 113, 114, 117, 139, 143, 146, 166], [19970, 0, 14856, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 13889, 14367, 0, 0, 0], 26910], [[18, 11, 38, 150, 150, 120, 18, 10, 150, 122, 33, 33, 54, 11, 11, 10, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 10860, 13888, 0, 0, 14686, 14686, 0, 0, 0, 14369, 0, 0, 0, 0], 9560], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 19, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 17489], [[11, 38, 11, 173, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [0, 19490, 0, 0, 0, 0, 0, 0, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4377], [[38, 18, 11, 173, 173, 173, 150, 150, 11, 150, 27, 10, 33, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [20302, 14856, 0, 0, 0, 0, 0, 0, 0, 0, 16298, 13888, 14687, 0, 0, 0, 0, 0, 0, 0], 7414], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 173, 173, 173, 173, 173, 18, 18, 11, 150, 10, 150], [9, 10, 17, 18, 19, 30, 34, 47, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [14856, 0, 20777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14855, 10860, 0, 0, 18380, 0], 16855], [[18, 11, 38, 150, 150, 150, 54, 10, 33, 122, 11, 11, 82, 153, 153, 153, 11, 18, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146], [14856, 0, 19970, 0, 0, 0, 0, 14687, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 0], 12726], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [14856, 0, 20777, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6424], [[18, 11, 38, 150, 150, 173, 150, 18, 33, 10, 150, 11, 11, 118, 122, 54, 153, 153, 153, 153], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 14687, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22585], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 124, 124, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19505, 0, 0, 0, 0, 0, 0, 10860, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15461], [[18, 11, 38, 150, 150, 173, 173, 173, 11, 54, 150, 33, 10, 11, 11, 27, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [14856, 0, 19810, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 14528, 0, 0, 15983, 0, 0, 0, 0], 7215], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 18, 173, 3, 173, 173, 124, 124, 3, 150, 10], [3, 9, 10, 17, 30, 34, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 14368, 0, 14368], 15078], [[18, 11, 38, 18, 150, 120, 173, 173, 173, 11, 11, 150, 173, 173, 173, 173, 3, 173, 10, 124], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 53, 65, 67, 75, 89, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 0, 18376, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13888, 0, 14367, 0], 16725], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 10, 150, 173, 173, 10, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 13889, 14687, 0, 0, 0, 14687, 0, 0, 0, 15345, 0, 0], 10591], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 150, 173, 173, 173, 10, 33, 54, 124, 124], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 10860, 0, 0, 13889, 0, 0, 0, 0, 0, 14687, 13893, 0, 0, 0], 15616], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [14856, 0, 18699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3751], [[18, 38, 11, 150, 150, 18, 150, 33, 153, 153, 153, 153, 153, 153, 153, 153, 153, 10, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 50, 55, 56, 64, 75, 78, 83, 89, 111, 115, 130, 132, 143, 146, 155], [14856, 18699, 0, 0, 0, 10860, 0, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0], 31172], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 173, 54, 10, 11, 11, 33, 122, 60, 82, 153, 18], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 0, 0, 0, 13889, 0, 0, 14685, 0, 0, 0, 0, 10860], 11095], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 10, 173, 124, 150, 150, 122, 33, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [14856, 0, 20144, 0, 0, 0, 0, 10860, 14687, 14687, 0, 0, 13888, 0, 0, 0, 0, 0, 15505, 0], 25430], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 18, 10, 150, 173, 173, 173, 121, 173, 173, 33, 150], [9, 10, 17, 30, 34, 48, 64, 75, 113, 114, 115, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13888, 0, 0, 0, 0, 0, 0, 0, 14686, 0], 11188], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 10, 173, 173, 122], [3, 9, 10, 17, 18, 25, 26, 30, 34, 35, 48, 75, 89, 113, 115, 117, 143, 146, 166], [0, 14856, 0, 17898, 0, 0, 0, 10860, 0, 13889, 0, 0, 0, 0, 0, 0, 14688, 0, 0, 0], 12668], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 150, 124, 10, 11, 54, 121, 33, 11], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 146, 166], [14856, 0, 19970, 0, 0, 0, 0, 10860, 0, 20776, 0, 0, 0, 0, 14687, 0, 0, 0, 13889, 0], 10495], [[18, 11, 38, 10, 150, 150, 121, 150, 120, 10, 33, 122, 173, 173, 173, 173, 173, 173, 118, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 21095, 0, 0, 0, 0, 0, 13889, 14687, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8363], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 173, 150, 10, 11, 33, 11, 122, 10, 11], [9, 10, 17, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 166], [14856, 0, 18699, 0, 0, 0, 0, 10860, 0, 0, 0, 0, 0, 14687, 0, 13889, 0, 0, 14371, 0], 14704], [[18, 11, 38, 150, 150, 173, 173, 120, 3, 18, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 34, 113, 117, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 14687, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7404], [[18, 11, 38, 18, 150, 150, 173, 150, 11, 11, 10, 33, 10, 122, 11, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 111, 115, 143, 146, 166], [14856, 0, 19486, 19170, 0, 0, 0, 0, 0, 0, 14685, 13888, 14528, 0, 0, 0, 0, 0, 0, 0], 16716], [[18, 11, 38, 150, 150, 120, 18, 173, 10, 150, 122, 33, 11, 11, 10, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [14856, 0, 20144, 0, 0, 0, 10860, 0, 14687, 0, 0, 13889, 0, 0, 14370, 0, 0, 0, 0, 0], 7981], [[11, 18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [0, 14856, 0, 18538, 0, 0, 0, 10860, 0, 13888, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16006], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 173, 173, 173, 124, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 55, 64, 75, 78, 83, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [14856, 0, 19971, 0, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 14687], 21717], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 150, 124, 124, 124, 150, 11, 10, 10, 173], [3, 9, 10, 17, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [14856, 0, 19490, 0, 0, 0, 10860, 0, 14688, 0, 0, 0, 0, 0, 0, 0, 0, 13891, 13890, 0], 10624], [[18, 11, 38, 10, 150, 150, 121, 150, 10, 33, 120, 122, 173, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 111, 113, 114, 115, 117, 143, 166], [14856, 0, 19970, 20462, 0, 0, 0, 0, 13888, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10579], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [14856, 0, 19484, 0, 0, 0, 0, 0, 10860, 13890, 0, 0, 0, 0, 0, 0, 0, 14688, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 173, 173, 54, 11, 150, 11, 121, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 139, 143, 166], [14856, 0, 19970, 0, 0, 0, 0, 0, 10860, 13889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17115], [[18, 38, 11, 150, 150, 150, 10, 11, 33, 121, 10, 11, 11, 82, 40, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 53, 59, 65, 67, 75, 89, 110, 111, 113, 114, 117, 139, 143, 146, 153, 155, 166], [14856, 18535, 0, 0, 0, 0, 14688, 0, 13891, 0, 14372, 0, 0, 0, 19665, 0, 0, 0, 0, 0], 23180], [[18, 38, 11, 150, 173, 150, 173, 120, 3, 18, 173, 124, 124, 150, 124, 124, 124, 124, 33, 10], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [14856, 19650, 0, 0, 0, 0, 0, 0, 15011, 10860, 0, 0, 0, 0, 0, 0, 0, 0, 14688, 13890], 22521]]}}, "Thunderbird": {"zerg": {"2252": [[[11, 38, 38, 173, 173, 173, 150, 120, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 1287, 1287, 0, 0, 0, 0, 0, 0, 3209, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4552], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 150, 10, 54, 11, 11, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 0, 6744, 0, 0, 0, 6262], 9985], [[11, 38, 18, 150, 173, 120, 173, 120, 11, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 1287, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5963], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 0, 0, 0, 0], [10, 17, 30, 34, 113, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0], 5156], [[18, 11, 38, 173, 150, 150, 120, 11, 54, 150, 18, 33, 10, 10, 27, 153, 153, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [7214, 0, 3210, 0, 0, 0, 0, 0, 0, 0, 3561, 2258, 7384, 6904, 3374, 0, 0, 0, 0, 0], 8330], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 11, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 0, 1776, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6312], [[11, 18, 11, 38, 18, 173, 150, 120, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 3370, 3561, 0, 0, 0, 0, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0], 8485], [[38, 11, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 39, 124, 150, 124], [3, 10, 17, 34, 117, 143, 166], [3048, 0, 0, 0, 0, 1777, 0, 0, 0, 0, 0, 0, 0, 15162, 15322, 0, 18366, 0, 0, 0], 6739], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 10, 11, 11, 122, 33, 173, 173, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 0, 5929, 0, 0, 0, 5772, 0, 0, 0, 0, 0, 0], 9526], [[11, 18, 11, 38, 150, 150, 120, 18, 3, 173, 11, 11, 54, 173, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [0, 7214, 0, 2417, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11898], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 1777, 0, 0, 0, 0, 0, 3561, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7386], 12337], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 3, 173, 150, 150], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 6903, 0, 0, 0, 0, 0, 0, 5773, 0, 0, 0], 8832], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 124, 124, 11, 54, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 86, 110, 111, 112, 113, 114, 117, 132, 139, 143, 150, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16362], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 30, 34, 35, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7385], 12059], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 10, 153, 153], [9, 10, 17, 25, 26, 30, 34, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 6904, 0, 0], 11852], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 10, 173, 173, 173, 173, 173, 122, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 114, 115, 117, 143, 146, 166], [7214, 0, 3365, 0, 0, 0, 3561, 7380, 0, 0, 0, 6740, 0, 0, 0, 0, 0, 0, 0, 0], 11541], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 173, 124, 173, 173, 54, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 1923, 0, 0, 0, 0, 0, 3561, 7062, 7223, 0, 0, 0, 0, 0, 0, 0, 7703, 0], 12785], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 54, 11, 11, 173, 173, 10, 11, 173, 173], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 114, 117, 122, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 6904, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 0, 0, 0], 18738], [[38, 11, 18, 173, 173, 173, 173, 150, 173, 11, 173, 0, 0, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [3048, 0, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3125], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 173, 124, 10, 54, 11, 11, 11, 33, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 115, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 6583, 0, 0, 0, 0, 7543, 0], 9097], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 173, 150, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 2258, 0, 0, 0, 0, 0, 0, 1778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11845], [[18, 11, 38, 150, 150, 120, 150, 10, 10, 33, 118, 18, 11, 11, 173, 173, 173, 173, 173, 153], [9, 10, 17, 30, 34, 35, 48, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 2882, 0, 0, 0, 0, 7385, 7385, 6905, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0], 14309], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 173, 124, 124, 18, 124], [3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 78, 83, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 7219, 3561, 0, 0, 0, 0, 0, 0, 0, 7214, 0], 16405], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 124, 173, 173, 54, 173, 173, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 166], [7214, 3561, 0, 1923, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9920], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 117, 143, 146, 166], [0, 7214, 0, 1777, 0, 0, 0, 0, 3561, 7543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9021], [[18, 11, 38, 120, 173, 173, 18, 3, 150, 124, 124, 173, 173, 10, 33, 11, 11, 122, 124, 173], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 117, 122, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3721, 6903, 0, 0, 0, 0, 0, 7365, 6725, 0, 0, 0, 0, 0], 14505], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 173, 173, 150, 10, 124, 41, 11], [3, 9, 10, 17, 34, 35, 48, 109, 113, 114, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7063, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 7370, 0], 10518], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 10, 124, 124, 173, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [7214, 0, 3209, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 6744, 0, 0, 0, 0, 0, 0, 0], 6493], [[11, 38, 173, 173, 173, 120, 173, 173, 150, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 2257, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3857], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 124, 124, 124, 10, 10, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 1619, 0, 0, 0, 0, 0, 3561, 7383, 0, 0, 0, 0, 0, 0, 0, 7862, 6904, 0], 17759], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 10, 173, 54, 11, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2742, 0, 0, 0, 0, 3561, 0, 0, 6423, 0, 0, 7384, 0, 0, 0, 0, 0, 0], 20460], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 10, 173, 11, 122, 33, 11, 11, 18, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7065, 0, 7543, 0, 0, 0, 6256, 0, 0, 9791, 0], 16569], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 41, 173, 173, 173, 150, 150, 173, 173, 10, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 6576, 3051, 0, 0, 0, 0, 0, 0, 0, 7385, 0, 0], 17709], [[18, 18, 11, 38, 150, 150, 120, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 11, 11, 40], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 113, 114, 139, 143, 166], [7214, 3561, 0, 809, 0, 0, 0, 7219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1287], 11394], [[18, 11, 38, 18, 150, 120, 150, 173, 3, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 0, 2562, 3561, 0, 0, 0, 0, 7385, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7214], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 150, 173, 173, 173, 33, 173, 173, 153, 153, 153], [10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [7214, 0, 1776, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 8488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 150, 124, 54, 33, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 45, 46, 47, 48, 64, 65, 75, 86, 89, 109, 110, 112, 113, 114, 117, 122, 132, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 32715], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 150, 122, 11, 11, 96], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 6744, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16820], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 2257, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7608], [[38, 11, 18, 150, 173, 120, 150, 18, 173, 173, 3, 173, 173, 173, 173, 173, 11, 150, 54, 33], [3, 10, 17, 30, 34, 35, 48, 110, 113, 117, 139, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 0, 0, 0, 0, 0, 0, 6089], 9218], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 65, 89, 110, 113, 114, 117, 139, 143, 166], [7214, 0, 2417, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19768], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 150, 10, 173, 121, 11, 33, 33, 54, 11, 11, 173], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 3561, 7058, 6899, 0, 6419, 0, 0, 0, 6262, 6423, 0, 0, 0, 0], 8137], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 10, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 0, 0, 7384, 0, 0, 0, 6744, 0, 0, 0, 0, 0], 5783], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 150, 3, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7384, 7385, 0, 0, 0], 9064], [[11, 38, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3208, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1127, 0, 0, 0, 0, 0], 6528], [[18, 11, 38, 18, 150, 150, 120, 173, 3, 173, 150, 173, 173, 10, 54, 121, 11, 11, 11, 11], [3, 9, 10, 17, 34, 35, 48, 113, 114, 139, 143, 166], [7214, 0, 3048, 3561, 0, 0, 0, 0, 6899, 0, 0, 0, 0, 6262, 0, 0, 0, 0, 0, 0], 9236], [[11, 11, 38, 18, 173, 120, 173, 150, 173, 173, 173, 173, 173, 150, 173, 150, 18, 33, 10, 11], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [0, 0, 1923, 7214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3561, 6265, 6745, 0], 13211], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 10, 150, 122, 124, 11, 11, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 65, 75, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 2421, 0, 0, 0, 3561, 0, 7383, 7383, 0, 0, 6743, 0, 0, 0, 0, 0, 0, 0], 12383], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 173, 3, 173, 173, 150, 124, 124, 10, 10, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 0, 6904, 6744, 0], 15200], [[38, 11, 150, 173, 173, 173, 18, 173, 150, 150, 173, 173, 173, 150, 173, 150, 150, 150, 18, 33], [9, 10, 17, 25, 26, 30, 34, 111, 115, 143, 146, 166], [967, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7214, 7548], 11289], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 150, 3, 173, 18, 173, 124, 124, 173, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 64, 75, 78, 83, 111, 113, 115, 117, 130, 132, 143, 146, 166], [7214, 0, 1286, 0, 0, 0, 0, 0, 0, 0, 2242, 0, 3561, 0, 0, 0, 0, 0, 0, 0], 15197], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 173, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 35, 65, 109, 113, 117, 139, 143, 166], [7214, 3561, 0, 1444, 0, 0, 0, 0, 0, 0, 0, 0, 7059, 0, 0, 0, 0, 0, 0, 0], 13586], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 33, 10, 11, 11, 11, 122, 11], [3, 9, 10, 17, 30, 34, 35, 75, 110, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 6423, 7543, 0, 0, 0, 0, 0], 13834], [[18, 11, 38, 150, 120, 150, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 11, 124, 124], [3, 10, 17, 34, 35, 48, 109, 113, 117, 139, 143, 166], [7214, 0, 1763, 0, 0, 0, 3561, 0, 7059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14825], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 124, 150, 11, 54, 11, 11, 124], [3, 10, 17, 34, 35, 48, 65, 110, 113, 117, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7060, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10651], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 10, 54, 11, 11, 11, 150, 33, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 109, 113, 114, 115, 117, 122, 130, 139, 143, 155, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 6904, 0, 0, 0, 7384, 0, 0, 0, 0, 0, 6264, 0], 19559], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 1777, 0, 0, 0, 3561, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5704], [[18, 18, 11, 38, 150, 150, 150, 150, 173, 120, 33, 33, 173, 173, 173, 173, 173, 173, 173, 153], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [7214, 3561, 0, 3048, 0, 0, 0, 0, 0, 0, 7385, 7384, 0, 0, 0, 0, 0, 0, 0, 0], 7377], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2722, 0, 0, 0, 3561, 7382, 0, 0, 0, 6742, 6262, 0, 0, 0, 0, 0, 0, 0], 10604], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 54], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8495], [[38, 11, 18, 150, 173, 173, 3, 173, 173, 173, 173, 120, 150, 18, 33, 11, 11, 173, 173, 54], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 143, 146, 166], [2583, 0, 7214, 0, 0, 0, 3368, 0, 0, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0], 9848], [[18, 38, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [7214, 1287, 0, 2257, 0, 0, 0, 3561, 6089, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12773], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 10, 122, 122, 11, 11, 33], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 56, 75, 78, 83, 89, 111, 113, 114, 115, 117, 130, 132, 143, 146, 155, 166], [7214, 0, 3048, 0, 0, 0, 3561, 0, 0, 0, 6744, 0, 0, 0, 6262, 0, 0, 0, 0, 7385], 19773], [[18, 11, 38, 38, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 150, 71, 33, 11, 11, 10], [0, 9, 10, 17, 25, 26, 30, 34, 35, 48, 64, 75, 89, 110, 111, 113, 115, 139, 143, 146, 166], [7214, 0, 3048, 3048, 3048, 3048, 3048, 3048, 3048, 0, 0, 0, 0, 3561, 0, 0, 7384, 0, 0, 6264], 15109], [[11, 18, 11, 38, 150, 150, 18, 33, 150, 173, 153, 153, 153, 150, 10, 153, 153, 153, 153, 122], [9, 10, 17, 25, 26, 30, 34, 48, 111, 115, 143, 146, 166], [0, 7214, 0, 973, 0, 0, 3561, 3208, 0, 0, 0, 0, 0, 0, 7385, 0, 0, 0, 0, 0], 10018], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 173, 173, 173, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7064, 0, 0, 0, 0, 6424, 7543, 0, 0, 0, 0, 0], 9517], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 150, 173, 54, 11, 11, 11, 10, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 113, 114, 115, 117, 139, 143, 146, 166], [7214, 0, 2417, 0, 0, 0, 3561, 0, 7383, 7384, 0, 0, 0, 0, 0, 0, 0, 6904, 0, 0], 11790], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 173, 173, 173, 173, 150, 150, 150, 0, 0, 0], [10, 17, 34, 113, 143, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6146], [[18, 11, 38, 11, 150, 150, 173, 18, 150, 3, 173, 173, 150, 10, 33, 11, 11, 122, 54, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 115, 117, 130, 143, 146, 155, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 6904, 6262, 0, 0, 0, 0, 0], 23740], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 11, 11, 10, 173, 173, 11, 40, 121, 124], [3, 9, 10, 17, 19, 25, 26, 34, 35, 43, 45, 65, 67, 86, 110, 111, 112, 113, 114, 117, 122, 132, 139, 143, 153, 155, 166], [7214, 0, 3208, 0, 0, 0, 3561, 0, 7384, 0, 0, 0, 0, 6904, 0, 0, 0, 1128, 0, 0], 18980], [[38, 173, 173, 173, 173, 173, 173, 173, 173, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [1287, 0, 0, 0, 0, 0, 0, 0, 0, 18369, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3899], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 9, 10, 17, 18, 19, 22, 25, 26, 34, 35, 47, 48, 50, 78, 83, 109, 110, 111, 113, 114, 115, 117, 130, 139, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 20728], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 10, 33, 11, 11, 122, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 3561, 7385, 0, 0, 0, 0, 0, 6904, 6264, 0, 0, 0, 0], 15314], [[18, 11, 38, 120, 18, 3, 173, 173, 150, 10, 122, 54, 11, 11, 33, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 2882, 0, 3561, 6903, 0, 0, 0, 7384, 0, 0, 0, 0, 6263, 0, 0, 0, 0, 0], 10781], [[18, 11, 38, 150, 150, 173, 173, 150, 120, 18, 173, 173, 173, 173, 173, 173, 10, 33, 150, 11], [9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 3561, 0, 0, 0, 0, 0, 0, 7385, 7228, 0, 0], 11374], [[18, 11, 38, 173, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 150, 124, 124, 10, 124, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [7214, 0, 3208, 0, 0, 0, 0, 0, 3561, 7384, 0, 0, 0, 0, 0, 0, 0, 6744, 0, 0], 9275], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 124, 150, 173, 173, 173, 173, 173, 11, 33], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [7214, 3208, 0, 0, 0, 0, 0, 3561, 7063, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7703], 9834], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 150, 10, 173, 173, 173, 173, 173, 3, 121, 124], [3, 9, 10, 17, 19, 34, 35, 43, 45, 46, 48, 59, 65, 67, 89, 110, 111, 112, 113, 114, 117, 122, 139, 143, 153, 166], [7214, 0, 2577, 0, 0, 0, 0, 0, 0, 3561, 0, 7387, 0, 0, 0, 0, 0, 6907, 0, 0], 17427], [[18, 11, 38, 150, 150, 54, 150, 11, 10, 11, 11, 40, 10, 33, 18, 120, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 65, 67, 75, 109, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [7214, 0, 3212, 0, 0, 0, 0, 0, 7385, 0, 0, 2083, 6745, 6265, 13771, 0, 0, 0, 0, 0], 18234], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 11, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 65, 109, 110, 113, 114, 117, 139, 143, 146, 166], [7214, 0, 3368, 0, 0, 0, 3561, 7059, 0, 7385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16196], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 10, 11, 11, 122, 33, 96, 11, 11, 11], [3, 9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 75, 89, 113, 115, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6902, 0, 0, 0, 6423, 0, 0, 0, 7543, 0, 0, 0, 0], 14177], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 48, 67, 109, 111, 112, 113, 114, 115, 117, 122, 143, 153, 155, 166], [7214, 0, 2257, 0, 0, 0, 3561, 0, 7061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19818], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 173, 173, 173, 150, 150, 3, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [7214, 0, 3048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0, 0], 6350], [[18, 38, 11, 150, 173, 173, 150, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 33, 150, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [7214, 3048, 0, 0, 0, 0, 0, 0, 3561, 7219, 0, 0, 0, 0, 0, 0, 0, 6884, 0, 0], 9130], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 124, 124, 150, 150, 11, 54, 10, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 2257, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7543, 6263], 12105], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 150, 173, 173, 173, 10, 124, 124, 54, 11], [3, 9, 10, 17, 30, 34, 35, 48, 113, 117, 139, 143, 166], [7214, 0, 3365, 0, 0, 0, 3561, 0, 7063, 0, 0, 0, 0, 0, 0, 7543, 0, 0, 0, 0], 9914], [[18, 18, 11, 38, 150, 150, 150, 150, 33, 10, 60, 11, 11, 82, 153, 153, 153, 153, 153, 60], [9, 10, 17, 19, 25, 26, 30, 34, 64, 75, 115, 143, 146], [7214, 3561, 0, 3048, 0, 0, 0, 0, 7385, 7058, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12556], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 10, 124, 122, 173, 173], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 0, 3561, 7062, 0, 0, 0, 0, 0, 7385, 7543, 0, 0, 0, 0], 11856], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 150, 10, 124, 122], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [7214, 0, 3048, 0, 0, 0, 3561, 6743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6262, 0, 0], 18656], [[18, 38, 18, 150, 150, 150, 150, 150, 11, 11, 173, 173, 10, 33, 10, 54, 122, 118, 11, 11], [9, 10, 17, 19, 30, 34, 48, 64, 75, 86, 89, 111, 115, 132, 143, 146, 166], [7214, 3212, 3561, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7548, 6910, 6753, 0, 0, 0, 0, 0], 24945]], "20127": [[[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 173, 124, 124, 0, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 20442, 0, 0, 0, 0, 0, 0, 21726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3735], [[18, 11, 38, 38, 150, 150, 173, 120, 173, 18, 150, 173, 173, 173, 173, 173, 173, 10, 121, 0], [9, 10, 17, 34, 113, 114, 143, 166], [15485, 0, 20922, 20922, 0, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15481, 0, 0], 6979], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 54, 10, 150, 124, 124, 11, 11, 11, 33, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 18978, 15957, 0, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 15315, 0], 8383], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 120, 150, 150, 33, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15335, 0, 0], 10869], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 8793], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 173, 173, 173, 173, 173, 173, 10, 150, 121], [3, 9, 10, 17, 34, 48, 113, 114, 117, 143, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 15795, 0, 0], 7329], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 173, 10, 54, 173, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 117, 139, 143, 166], [15485, 0, 20282, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 9159], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 150, 10, 173, 173, 122, 54, 11, 11, 33], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 19138, 15315, 0, 15795, 0, 0, 0, 0, 0, 0, 16276], 12655], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 173, 118, 10, 173, 173, 121, 173], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 15315, 0, 0, 0, 0, 0, 21570, 0, 0, 0, 0], 7473], [[18, 38, 18, 150, 150, 150, 150, 173, 150, 150, 173, 150, 33, 11, 11, 11, 11, 10, 10, 10], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 78, 83, 111, 115, 130, 143, 146, 166], [15485, 20923, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15151, 0, 0, 0, 0, 15630, 15629, 15946], 12554], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 75, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16435], 14370], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 150, 173, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 53, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 15485, 0, 20757, 0, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 13294], [[18, 11, 38, 173, 173, 173, 173, 150, 173, 173, 173, 173, 150, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5428], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13897], [[11, 38, 173, 173, 173, 120, 173, 150, 3, 173, 173, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 34, 35, 65, 110, 113, 117, 139, 143, 166], [0, 19651, 0, 0, 0, 0, 0, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10767], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 19138, 0, 15480, 0, 0, 0, 0, 0, 0, 0], 19078], [[18, 11, 38, 150, 150, 173, 120, 18, 18, 3, 173, 173, 150, 124, 54, 173, 173, 173, 173, 173], [3, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15485, 0, 20440, 0, 0, 0, 0, 18978, 19138, 15957, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11610], [[18, 11, 38, 150, 120, 173, 173, 18, 3, 3, 173, 173, 173, 173, 173, 10, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 75, 111, 113, 114, 115, 117, 143, 146, 166], [15485, 0, 20760, 0, 0, 0, 0, 19138, 15639, 15641, 0, 0, 0, 0, 0, 16437, 0, 0, 0, 0], 11874], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9981], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 10, 173, 173, 173, 173, 173, 33, 122, 150, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15795, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0], 9693], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 65, 78, 83, 89, 110, 113, 114, 115, 117, 130, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15796], 15099], [[18, 11, 38, 150, 150, 120, 173, 10, 18, 121, 3, 173, 173, 173, 173, 150, 11, 173, 173, 173], [3, 9, 10, 17, 34, 35, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 20603, 0, 0, 0, 0, 21412, 19138, 0, 19651, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9994], [[18, 11, 38, 120, 173, 173, 150, 173, 150, 18, 3, 173, 173, 173, 173, 173, 150, 10, 11, 124], [0, 3, 9, 10, 17, 18, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20762, 0, 0, 0, 0, 0, 0, 19138, 15158, 0, 0, 0, 0, 0, 0, 14677, 0, 0], 13165], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 75, 83, 109, 111, 113, 115, 117, 122, 130, 132, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22047, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21231], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [0, 15485, 0, 19651, 0, 0, 0, 0, 19138, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15473], 6424], [[18, 18, 11, 38, 150, 150, 120, 173, 173, 150, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 19138, 0, 20457, 0, 0, 0, 0, 0, 0, 0, 0, 15640, 0, 0, 0, 0, 0, 0, 0], 5770], [[18, 11, 38, 150, 150, 150, 120, 173, 18, 3, 3, 150, 173, 173, 173, 10, 122, 11, 11, 54], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 15475, 15475, 0, 0, 0, 0, 15955, 0, 0, 0, 0], 12326], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 10, 124, 124, 124, 150, 33], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 16437, 0, 0, 0, 0, 15797, 15315, 0, 0, 0, 0, 15796], 10119], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 173, 124, 10, 173, 173, 173, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0], 17508], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 10, 173, 150, 122, 173, 54, 11, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15315, 0, 0, 15955, 0, 0, 0, 0, 0, 0, 0], 10945], [[11, 18, 11, 38, 18, 150, 120, 150, 173, 173, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 15485, 0, 19489, 19138, 0, 0, 0, 0, 0, 15474, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 5366], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 0, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11840], [[18, 11, 38, 38, 38, 150, 150, 120, 18, 173, 3, 150, 173, 124, 124, 11, 54, 10, 33, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 122, 130, 143, 146, 155, 166], [15485, 0, 20602, 20437, 20436, 0, 0, 0, 19138, 0, 15797, 0, 0, 0, 0, 0, 0, 15315, 16436, 0], 25056], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 150, 173, 10, 173, 173, 54, 11, 11, 173, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 114, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 15797, 0, 0, 15315, 0, 0, 0, 0, 0, 0, 0, 0], 14447], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 173, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 111, 113, 114, 115, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15315, 15315, 0, 0, 0, 0, 15955, 0, 0, 0, 0, 0, 0], 10008], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 33, 173, 173, 150, 173, 173, 173, 173, 173, 153, 153], [3, 9, 10, 17, 30, 34, 48, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 19138, 15636, 0, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8795], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 3, 173, 173, 173, 173, 173, 10, 54, 122, 11], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15796, 0, 0, 0, 0, 0, 15315, 0, 0, 0], 6894], [[18, 11, 38, 150, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 11, 150, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 0, 15974, 0, 0, 0], 9274], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 54, 173, 11, 11, 124, 124, 173, 173, 150], [3, 9, 10, 17, 19, 34, 35, 47, 48, 109, 110, 113, 114, 117, 139, 143, 155, 166], [15485, 0, 18526, 0, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15397], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 33, 124, 124, 124, 124, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 20761, 0, 0, 0, 19138, 0, 0, 15314, 0, 0, 0, 15954, 16434, 0, 0, 0, 0, 0], 13104], [[18, 18, 11, 38, 150, 120, 173, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 19138, 0, 20442, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11013], [[18, 38, 18, 150, 150, 150, 150, 11, 11, 11, 10, 33, 173, 173, 11, 122, 11, 18, 82, 27], [9, 10, 17, 18, 22, 25, 26, 30, 34, 55, 64, 75, 78, 89, 107, 111, 115, 130, 143, 146, 166], [15485, 20457, 19138, 0, 0, 0, 0, 0, 0, 0, 15151, 15629, 0, 0, 0, 0, 0, 12908, 0, 16104], 14803], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 150, 10, 54, 11, 11, 173, 173, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 111, 113, 114, 117, 122, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 13394], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 10, 150, 122, 33, 54, 11, 11, 11, 96], [3, 9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15315, 0, 0, 15795, 0, 0, 16276, 0, 0, 0, 0, 0], 13421], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 21412, 0, 0, 0, 0, 0, 0, 0, 20602, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4388], [[18, 11, 38, 150, 150, 173, 173, 173, 120, 173, 173, 173, 173, 173, 3, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20282, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21571, 0, 0, 0, 0, 0], 9140], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 124, 150, 54, 11, 150, 10, 33, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20442, 0, 0, 0, 19138, 15315, 0, 0, 0, 0, 0, 0, 0, 15795, 16437, 0, 0, 0], 15148], [[18, 18, 11, 38, 150, 150, 173, 120, 120, 11, 11, 3, 173, 173, 173, 173, 173, 10, 54, 11], [3, 9, 10, 17, 19, 34, 35, 43, 47, 48, 59, 65, 67, 89, 110, 111, 113, 114, 117, 139, 143, 153, 155, 166], [15485, 19138, 0, 20442, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15955, 0, 0], 18047], [[18, 11, 38, 150, 150, 173, 3, 173, 18, 124, 124, 150, 33, 11, 11, 10, 27, 11, 153, 153], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 50, 56, 75, 78, 83, 89, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 19650, 0, 0, 0, 15640, 0, 19138, 0, 0, 0, 15314, 0, 0, 16117, 16442, 0, 0, 0], 19487], [[38, 173, 173, 173, 173, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0, 0], [34, 166], [19651, 0, 0, 0, 0, 0, 0, 0, 4171, 4009, 3693, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5189], [[38, 11, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 39, 39, 173, 150, 124, 124, 124], [3, 10, 17, 34, 117, 143, 166], [19651, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7058, 7378, 0, 0, 0, 0, 0], 7116], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 11, 11, 10, 54, 96, 33, 122, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15316, 0, 0, 0, 0, 0, 15796, 0, 0, 16437, 0, 0], 22288], [[18, 38, 11, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 20602, 0, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7916], [[18, 11, 38, 150, 150, 120, 18, 10, 10, 150, 173, 173, 122, 173, 173, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 19138, 16278, 16278, 0, 0, 0, 0, 0, 0, 15798, 0, 0, 0, 0], 15246], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 21080, 0, 0, 0, 0, 19138, 15640, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5418], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 18, 3, 3, 173, 173, 173, 173, 10, 0, 0], [3, 9, 10, 17, 34, 113, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 0, 0, 19138, 15801, 15961, 0, 0, 0, 0, 16278, 0, 0], 5906], [[18, 11, 38, 150, 120, 18, 173, 3, 150, 173, 10, 10, 122, 173, 11, 11, 173, 33, 54, 11], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [15485, 0, 20282, 0, 0, 19138, 0, 15315, 0, 0, 15795, 16437, 0, 0, 0, 0, 0, 15956, 0, 0], 11681], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 10, 173, 54, 173, 173, 150], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15485, 0, 20282, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 0, 16434, 0, 0, 0, 0, 0], 11268], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 10, 173, 173, 173, 11, 11, 33], [9, 10, 17, 25, 26, 30, 34, 55, 75, 111, 113, 114, 115, 143, 146, 166], [15485, 0, 21255, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 0, 0, 15795], 11316], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 15637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7316], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 3, 3, 173, 173, 173, 10, 173, 124, 124, 173], [3, 9, 10, 17, 34, 113, 115, 117, 143, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 0, 15314, 15795, 0, 0, 0, 15314, 0, 0, 0, 0], 5809], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 11, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 19, 34, 35, 109, 110, 111, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 19138, 0, 19138, 19649, 0, 0, 0, 0, 0, 0, 0, 0], 14536], [[18, 11, 38, 150, 173, 150, 120, 18, 3, 3, 173, 173, 173, 173, 150, 124, 124, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15156, 15315, 0, 0, 0, 0, 0, 0, 0, 15955, 0, 0], 15059], [[18, 11, 38, 173, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 11, 10], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 0, 19138, 15320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15315], 12628], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 10, 54, 33, 124, 173, 173, 11, 11, 40], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 117, 139, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15796, 0, 0, 15315, 0, 16437, 0, 0, 0, 0, 0, 19330], 13759], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 10, 33, 54, 122, 11, 11, 124, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 89, 110, 111, 113, 115, 117, 122, 130, 139, 143, 146, 155, 166], [15485, 0, 19651, 0, 0, 0, 19138, 15955, 0, 0, 0, 16435, 15314, 0, 0, 0, 0, 0, 0, 0], 23018], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [15485, 0, 20921, 0, 0, 0, 19138, 15637, 0, 0, 0, 15635, 0, 0, 0, 0, 0, 0, 0, 0], 10820], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 173, 10, 173, 11, 173, 173, 173, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 55, 65, 75, 89, 110, 113, 114, 115, 117, 139, 143, 146, 150, 155, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 15795, 0, 0, 0, 0, 0, 0], 18754], [[18, 11, 38, 150, 150, 120, 120, 18, 173, 3, 173, 173, 10, 124, 150, 124, 11, 11, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 0, 15316, 0, 0, 16437, 0, 0, 0, 0, 0, 0, 0], 8844], [[18, 11, 38, 150, 150, 150, 150, 10, 54, 33, 122, 10, 11, 10, 153, 153, 153, 153, 153, 153], [3, 9, 10, 17, 18, 22, 30, 34, 48, 50, 55, 64, 75, 78, 107, 111, 115, 117, 130, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 15315, 0, 15795, 0, 16435, 0, 16118, 0, 0, 0, 0, 0, 0], 16527], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0, 0], [10, 17, 34, 143, 166], [15485, 0, 20922, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3784], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 11, 11, 10], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15485, 0, 20922, 0, 0, 0, 0, 19138, 15475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15956], 13594], [[18, 11, 38, 150, 150, 120, 18, 150, 33, 173, 173, 173, 173, 173, 173, 173, 173, 10, 10, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15485, 0, 19164, 0, 0, 0, 19138, 0, 15313, 0, 0, 0, 0, 0, 0, 0, 0, 15792, 15793, 0], 16278], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 173, 54, 11, 11, 173, 124], [3, 9, 10, 17, 30, 34, 35, 48, 65, 109, 110, 113, 114, 117, 122, 139, 143, 166], [15485, 0, 19487, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 0, 0, 0, 0], 18219], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 124, 11, 11, 10, 54, 122, 33, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 64, 75, 89, 107, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15485, 0, 20923, 0, 0, 0, 0, 19138, 0, 15314, 0, 0, 0, 0, 15954, 0, 0, 16434, 0, 0], 16809], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 33, 150, 11, 10, 150, 153, 153, 153, 153], [9, 10, 17, 18, 19, 25, 30, 34, 47, 48, 55, 64, 75, 89, 111, 113, 115, 143, 146, 150, 166], [15485, 0, 20442, 0, 0, 0, 19138, 0, 0, 0, 0, 15315, 0, 0, 15795, 0, 0, 0, 0, 0], 16688], [[18, 11, 38, 150, 120, 150, 18, 150, 173, 173, 173, 173, 173, 173, 10, 150, 11, 11, 33, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [15485, 0, 21413, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 0, 0, 15314, 0, 0, 0, 15795, 0], 10205], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 150, 150, 11, 10, 33, 10, 11, 10, 11, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 0, 0, 0, 0, 0, 15151, 15629, 16104, 0, 16108, 0, 0], 14588], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 124, 124, 173, 173, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 35, 65, 89, 110, 113, 114, 115, 117, 139, 143, 166], [15485, 0, 19489, 0, 0, 0, 19138, 0, 0, 0, 15480, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15096], [[18, 11, 38, 173, 173, 150, 150, 120, 173, 173, 173, 3, 173, 173, 173, 10, 18, 121, 10, 150], [3, 9, 10, 17, 34, 35, 48, 53, 109, 110, 111, 113, 114, 139, 143, 166], [15485, 0, 21730, 0, 0, 0, 0, 0, 0, 0, 0, 20776, 0, 0, 0, 20617, 15485, 0, 21726, 0], 16743], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 150, 173, 173, 173, 173, 10, 124, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 19651, 0, 0, 0, 0, 19138, 15314, 0, 0, 0, 0, 0, 15795, 0, 0, 0, 0, 0], 16437], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 173, 173, 3, 10, 124, 124, 173, 150, 122, 11, 11], [3, 9, 10, 17, 18, 19, 30, 34, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15485, 0, 20442, 0, 0, 0, 0, 19138, 0, 0, 0, 15316, 15956, 0, 0, 0, 0, 0, 0, 0], 17332], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 10, 10, 173, 122, 150, 33, 124, 11, 11, 173], [3, 9, 10, 17, 18, 22, 30, 34, 50, 53, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15485, 0, 20776, 0, 0, 0, 19138, 15315, 0, 15795, 15956, 15955, 0, 0, 0, 16435, 0, 0, 0, 0], 11839], [[18, 11, 38, 150, 150, 120, 18, 33, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153, 173, 173], [9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 155, 166], [15485, 0, 20922, 0, 0, 0, 19138, 22046, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 38763]]}}, "Acropolis": {"random": {"19324": [[[18, 11, 38, 150, 150, 150, 120, 173, 173, 3, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 14684, 11005, 14684, 0, 0, 0, 0, 0, 0, 0, 0], 6761], [[38, 173, 10, 173, 173, 39, 39, 39, 39, 173, 173, 173, 39, 173, 173, 0, 0, 0, 0, 0], [9, 34, 166], [20610, 0, 2891, 0, 0, 3385, 3538, 3540, 3540, 0, 0, 0, 3537, 0, 0, 0, 0, 0, 0, 0], 4908]]}, "zerg": {"19324": [[[18, 11, 38, 150, 150, 120, 173, 18, 150, 10, 173, 173, 173, 173, 173, 173, 118, 173, 0, 0], [9, 10, 17, 34, 111, 113, 143, 166], [15486, 0, 19479, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5337], [[18, 11, 38, 173, 173, 150, 150, 173, 173, 120, 173, 10, 18, 118, 173, 173, 173, 3, 124, 124], [3, 9, 10, 17, 34, 111, 113, 117, 143, 166], [15486, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 11005, 0, 0, 0, 0, 14359, 0, 0], 6694], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 150, 10, 173, 124, 124, 124, 122, 122], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19313, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 14202, 0, 0, 0, 0, 0, 0], 11381], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7168], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 10, 124, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 0, 11005, 14202, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 8819], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 150, 124, 124, 173, 173, 10, 33, 54, 122, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 0, 0, 0, 14206, 14359, 0, 0, 0], 13199], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13365], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 3, 10, 150, 173, 173, 121, 173, 173, 173, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 114, 115, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13879, 13718, 13721, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13169], [[18, 11, 38, 150, 150, 120, 10, 18, 173, 173, 121, 3, 173, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 34, 35, 65, 89, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 20119, 0, 0, 0, 21243, 11005, 0, 0, 0, 20597, 0, 0, 0, 0, 0, 0, 0, 0], 14136], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 10, 124, 173, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 48, 64, 75, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 14212, 0, 0, 0, 0, 0, 0], 11423], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 10, 11, 118, 124, 124, 124, 173], [3, 9, 10, 17, 34, 35, 48, 111, 113, 114, 117, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 20609, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0], 9608], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 173, 173, 150, 173, 173, 153, 153, 153, 153, 10, 54], [9, 10, 17, 18, 22, 25, 26, 30, 34, 35, 48, 50, 64, 75, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14041, 0], 17254], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 173, 173, 33, 10, 122, 153], [9, 10, 17, 30, 34, 48, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 14045, 14519, 0, 0], 9416], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18688, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 8792], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 11, 173, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19654, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5317], [[18, 38, 11, 150, 173, 150, 120, 173, 18, 150, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 20609, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 15321, 0, 0, 0, 0, 0, 0, 0], 14747], [[18, 11, 38, 173, 173, 173, 173, 150, 150, 173, 173, 173, 120, 173, 18, 10, 11, 11, 33, 122], [9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14359, 0, 0, 14045, 0], 18403], [[18, 11, 38, 150, 150, 173, 18, 33, 150, 10, 120, 153, 153, 153, 153, 11, 153, 153, 153, 153], [9, 10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7411], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 150, 150, 3, 173, 173, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 12284], [[18, 18, 11, 38, 150, 150, 173, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 132, 143, 146, 155, 166], [15486, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 0, 0, 0, 0, 0], 15920], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 173, 173, 173, 173, 33, 173, 173, 153, 153, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 19959, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11358], [[18, 11, 38, 150, 173, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 19334, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5464], [[18, 11, 38, 173, 150, 150, 173, 173, 150, 173, 150, 10, 33, 10, 11, 11, 122, 54, 10, 153], [9, 10, 17, 30, 34, 48, 75, 111, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14363, 0, 0, 0, 0, 14841, 0], 9215], [[18, 11, 38, 150, 150, 120, 3, 150, 173, 173, 173, 18, 173, 173, 173, 150, 124, 124, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 50, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 14684, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0], 14345], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 34, 35, 48, 110, 111, 113, 114, 117, 139, 143, 166], [15486, 0, 19800, 0, 0, 0, 11005, 0, 0, 0, 20609, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11658], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 10, 10, 10, 10, 10, 10, 10], [9, 10, 17, 30, 34, 35, 75, 110, 113, 114, 115, 139, 143, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 14045, 13724, 13878, 13881, 13878, 14206, 14363], 11119], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 10, 173, 173, 173, 122, 173, 11, 11, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7092], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 14526, 0, 0, 0, 0], 8312], [[18, 11, 38, 150, 150, 120, 18, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 19954, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0], 5236], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 150, 3, 173, 150, 10, 124, 124, 122, 11, 11, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 14199, 0, 0, 0, 0, 0, 0], 12589], [[18, 11, 38, 150, 150, 120, 18, 18, 173, 3, 173, 150, 173, 173, 173, 54, 11, 11, 11, 10], [3, 9, 10, 17, 30, 34, 35, 48, 113, 114, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 11004, 11005, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202], 11577], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 124, 124, 150, 11, 11, 10], [3, 9, 10, 17, 25, 26, 30, 34, 35, 55, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14201], 14224], [[18, 11, 11, 38, 150, 150, 120, 173, 18, 173, 3, 3, 173, 150, 124, 124, 173, 173, 11, 11], [3, 9, 10, 17, 34, 35, 48, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 0, 20119, 0, 0, 0, 0, 11005, 0, 14041, 14042, 0, 0, 0, 0, 0, 0, 0, 0], 13517], [[11, 18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 10, 124, 124, 33, 11, 11], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [0, 15486, 0, 20609, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 14359, 0, 0, 16611, 0, 0], 7564], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 150, 124, 10, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 19800, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 14362, 0, 0, 0, 0, 0], 13515], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 122, 82, 11, 11, 18, 153, 153, 153, 150, 153, 153], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 14042, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0], 19798], [[18, 11, 38, 10, 150, 150, 121, 173, 150, 120, 33, 173, 173, 173, 173, 173, 173, 173, 18, 118], [9, 10, 17, 30, 34, 55, 111, 113, 114, 143, 146, 166], [15486, 0, 19633, 20609, 0, 0, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 11005, 0], 7937], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 10], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 110, 111, 113, 115, 117, 122, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359], 15112], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 173, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 34, 35, 109, 110, 113, 117, 139, 143, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12736], [[11, 18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 18874], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 10, 10, 124, 124, 173, 173, 173, 122, 150, 11], [3, 9, 10, 17, 19, 30, 34, 35, 48, 64, 65, 75, 107, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14519, 14363, 14363, 0, 0, 0, 0, 0, 0, 0, 0], 13109], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 33, 10, 11, 11, 122, 82, 60, 153, 153, 153, 153], [9, 10, 17, 30, 34, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14045, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7191], [[18, 11, 38, 150, 11, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 150, 33, 10, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 0], 6882], [[18, 11, 38, 150, 173, 150, 173, 120, 150, 18, 3, 173, 173, 124, 124, 11, 54, 173, 173, 10], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 139, 143, 166], [15486, 0, 18039, 0, 0, 0, 0, 0, 0, 11005, 14686, 0, 0, 0, 0, 0, 0, 0, 0, 13237], 12258], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 124, 124, 11, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 65, 110, 113, 114, 117, 122, 139, 143, 166], [15486, 0, 17723, 0, 0, 0, 11005, 0, 14685, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 16641], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 173, 173, 120, 173, 173, 120, 10, 33, 10, 150, 18], [3, 9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 13724, 14203, 0, 11005], 12059], [[11, 38, 173, 173, 173, 120, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 34, 113, 117, 143, 166], [0, 19959, 0, 0, 0, 0, 0, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5741], [[18, 38, 11, 150, 173, 150, 33, 18, 153, 153, 153, 153, 153, 153, 153, 153, 62, 10, 11, 11], [9, 10, 17, 18, 30, 34, 48, 53, 55, 75, 89, 111, 115, 130, 143, 146, 166], [15486, 20119, 0, 0, 0, 0, 20928, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14206, 0, 0], 21758], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 120, 173, 173, 173, 173, 173, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5012], [[11, 18, 11, 38, 173, 150, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 25, 26, 30, 34, 48, 75, 113, 117, 143, 146, 166], [0, 15486, 0, 20118, 0, 0, 0, 0, 0, 0, 0, 19639, 0, 0, 0, 0, 0, 0, 0, 0], 8593], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 150], [3, 10, 17, 30, 34, 113, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 0, 0, 11005, 15976, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8510], [[38, 18, 11, 173, 173, 173, 150, 150, 150, 173, 173, 173, 10, 33, 10, 173, 173, 10, 33, 120], [9, 10, 17, 30, 34, 113, 114, 143, 146, 166], [18848, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 13881, 14359, 0, 0, 14362, 14362, 0], 6846], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 122, 118, 173, 173, 173, 173, 173, 173, 33, 11], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 155, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 14201, 0], 27906], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 96], [3, 9, 10, 17, 25, 26, 30, 34, 64, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 13884, 0, 0, 14363, 0, 0, 0, 0], 9596], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 10, 10, 10, 33], [9, 10, 17, 25, 26, 30, 34, 48, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 13884, 14359, 14362, 14838, 14841, 14359], 10087], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 173, 124, 124, 54, 173, 10, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 75, 78, 83, 89, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14044, 0, 0], 13487], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14842, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 35039], [[18, 11, 38, 150, 173, 150, 120, 150, 18, 10, 33, 11, 11, 122, 173, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13724, 14039, 0, 0, 0, 0, 0, 0, 0, 0, 0], 18256], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 124, 124, 173, 173, 124, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 53, 65, 75, 89, 110, 111, 113, 115, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15983], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 54, 10, 124, 124, 173, 173, 150], [3, 9, 10, 17, 30, 34, 35, 48, 109, 110, 113, 114, 115, 117, 139, 143, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 14519, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 15374], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 150, 173, 173, 11, 10, 124, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20923, 0, 0, 0, 11005, 0, 0, 14359, 0, 0, 0, 0, 13884, 0, 0, 0, 0, 0], 11708], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 3, 150, 173, 173, 54, 33, 10, 11, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 75, 78, 83, 89, 111, 113, 115, 130, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 0, 13884, 0, 0, 0, 0, 14041, 14523, 0, 0, 0], 18479], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 14205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14202, 0], 11727], [[11, 38, 11, 18, 173, 173, 173, 150, 120, 150, 173, 173, 173, 150, 10, 54, 11, 11, 10, 122], [9, 10, 17, 30, 34, 48, 53, 55, 75, 89, 111, 113, 115, 143, 146, 166], [0, 18848, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 14359, 0], 13221], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 10, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14362, 14202], 12680], [[18, 11, 38, 150, 150, 150, 54, 10, 11, 33, 122, 11, 82, 11, 18, 153, 153, 153, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 114, 115, 139, 143, 146], [15486, 0, 20120, 0, 0, 0, 0, 14045, 0, 14359, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 13381], [[18, 11, 38, 150, 150, 173, 150, 3, 11, 11, 173, 173, 173, 173, 173, 11, 40, 124, 124, 18], [3, 9, 10, 17, 30, 34, 35, 55, 75, 110, 111, 115, 117, 139, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 19334, 0, 0, 0, 0, 0, 0, 0, 0, 18368, 0, 0, 11005], 14743], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10505], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 150, 173, 173, 124, 124, 124, 173, 10, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 14206, 0, 0, 0, 0, 0, 0, 0, 0, 14199, 0], 13821], [[38, 18, 11, 150, 173, 173, 173, 150, 173, 173, 173, 120, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [20120, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3754], [[11, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 53, 75, 89, 110, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 21244, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19894], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 3, 150, 173, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 0, 13884, 14206, 0, 0, 0, 0, 0, 0, 0, 14199], 10715], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 11], [3, 9, 10, 17, 18, 19, 25, 26, 30, 34, 35, 47, 48, 55, 64, 75, 78, 83, 89, 107, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 19633, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0], 18439], [[18, 11, 38, 150, 150, 173, 120, 150, 10, 54, 33, 11, 11, 122, 18, 82, 60, 153, 153, 153], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 64, 75, 78, 83, 107, 111, 113, 115, 130, 132, 143, 146, 166], [15486, 0, 18840, 0, 0, 0, 0, 0, 14045, 0, 14202, 0, 0, 0, 11005, 0, 0, 0, 0, 0], 22171], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 150, 122, 33, 11, 11, 11, 11], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 11005, 14203, 0, 0, 0, 0, 14206, 0, 0, 14681, 0, 0, 0, 0], 8796], [[18, 11, 38, 150, 150, 120, 173, 18, 150, 3, 3, 173, 173, 173, 173, 10, 124, 124, 11, 11], [3, 9, 10, 17, 30, 34, 35, 75, 89, 110, 113, 114, 117, 139, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 13884, 14045, 0, 0, 0, 0, 14359, 0, 0, 0, 0], 14940], [[18, 11, 38, 150, 150, 120, 173, 3, 18, 173, 173, 173, 173, 124, 124, 173, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 0, 19959, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10932], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 150, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5665], [[18, 11, 38, 150, 173, 150, 120, 173, 173, 18, 3, 11, 10, 173, 150, 173, 124, 124, 11, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 11270], [[18, 38, 11, 173, 173, 150, 173, 173, 150, 173, 173, 173, 120, 18, 10, 150, 11, 118, 33, 173], [9, 10, 17, 30, 34, 48, 111, 113, 143, 166], [15486, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11005, 14844, 0, 0, 0, 14045, 0], 8049], [[18, 11, 38, 150, 120, 173, 18, 3, 173, 150, 173, 10, 173, 124, 124, 173, 173, 122, 11, 11], [3, 9, 10, 17, 18, 30, 34, 48, 53, 75, 78, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 14522, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 0, 0], 10780], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 150, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19639, 0, 0, 0, 0, 11005, 0, 0, 14206, 0, 14359, 0, 0, 0, 0, 14362, 0, 0], 20126], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 33, 153], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [15486, 0, 20769, 0, 0, 0, 0, 11005, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18526, 0], 7682], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 3, 173, 173, 124, 124, 173, 124, 150, 173, 173, 173], [3, 9, 10, 17, 19, 25, 26, 30, 34, 47, 48, 64, 75, 86, 89, 107, 111, 113, 115, 117, 132, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 19362], [[18, 11, 38, 150, 150, 173, 120, 18, 150, 150, 10, 33, 33, 173, 173, 150, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 48, 53, 64, 75, 78, 83, 89, 107, 111, 113, 115, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 0, 0, 13878, 13881, 13724, 0, 0, 0, 0, 0, 0, 0], 18139], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 150, 10, 124, 173, 173, 122, 11, 11, 33, 54], [3, 9, 10, 17, 18, 30, 34, 48, 53, 55, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19479, 0, 0, 0, 11005, 0, 14362, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 14206, 0], 24629], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 10, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 0, 19958, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 14201, 0, 0, 0, 0, 0, 0], 10889], [[18, 11, 38, 150, 120, 150, 150, 173, 41, 33, 10, 10, 173, 173, 173, 150, 150, 10, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 18687, 0, 0, 0, 0, 0, 15170, 14045, 14359, 14362, 0, 0, 0, 0, 0, 14212, 0, 0], 5446], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 124, 173, 173, 173, 10, 11, 11, 33], [3, 9, 10, 17, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 21081, 0, 0, 0, 0, 0, 11005, 14684, 0, 0, 0, 0, 0, 0, 13724, 0, 0, 13719], 10536], [[18, 11, 38, 18, 150, 120, 150, 3, 173, 150, 173, 173, 10, 124, 173, 173, 122, 33, 11, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 19973, 11005, 0, 0, 0, 14045, 0, 0, 0, 0, 14041, 0, 0, 0, 0, 13718, 0, 0], 20600], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 3, 173, 173, 173, 124, 124, 124, 173, 173, 124], [3, 9, 10, 17, 30, 34, 48, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [15486, 0, 20924, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0], 14069], [[18, 11, 38, 150, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 173, 18, 124, 124, 124], [3, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 0, 14519, 0, 0, 0, 0, 0, 0, 11005, 0, 0, 0], 7837], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 10, 173, 173, 121, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 34, 113, 114, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 11005, 0, 0, 14685, 15975, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7765], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 55, 75, 110, 111, 113, 114, 115, 117, 130, 139, 143, 146, 150, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 14199], 17935], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 33, 33, 153, 153, 153], [10, 17, 30, 34, 113, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0, 16135, 15975, 0, 0, 0], 6126], [[11, 18, 11, 38, 150, 173, 150, 173, 120, 11, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 53, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [0, 15486, 0, 20120, 0, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 15687], [[11, 18, 11, 38, 173, 173, 150, 150, 120, 18, 150, 10, 121, 173, 173, 173, 11, 173, 173, 173], [3, 9, 10, 17, 30, 34, 113, 114, 117, 143, 166], [0, 15486, 0, 20609, 0, 0, 0, 0, 0, 11005, 0, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 8248], [[38, 173, 173, 173, 173, 18, 173, 173, 173, 39, 39, 39, 173, 0, 0, 0, 0, 0, 0, 0], [17, 34, 166], [19639, 0, 0, 0, 0, 3552, 0, 0, 0, 4337, 4337, 4495, 0, 0, 0, 0, 0, 0, 0, 0], 4256], [[11, 38, 173, 173, 120, 173, 173, 3, 173, 173, 150, 173, 124, 124, 173, 124, 18, 124, 124, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 19973, 0, 0, 0, 0, 0, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0], 8790], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 10, 54, 11, 11, 124, 11, 33, 122], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 115, 117, 139, 143, 166], [15486, 0, 19014, 0, 0, 0, 11005, 0, 14206, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 14362, 0], 9857], [[38, 11, 173, 173, 173, 150, 173, 173, 120, 173, 173, 3, 173, 124, 124, 124, 124, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [18848, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0], 4293], [[18, 38, 11, 173, 173, 150, 11, 150, 173, 120, 3, 173, 173, 10, 10, 10, 173, 173, 173, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [15486, 18848, 0, 0, 0, 0, 0, 0, 0, 0, 14366, 0, 0, 14523, 14359, 13884, 0, 0, 0, 0], 11996], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [15486, 0, 19799, 0, 0, 0, 0, 0, 11005, 14045, 0, 0, 0, 0, 0, 0, 14359, 0, 0, 0], 9906], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 150, 173, 173, 173, 173, 173, 10, 124, 124, 124, 11], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0, 0], 12562], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 150, 124, 124, 124], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 21243, 0, 0, 0, 0, 0, 11005, 0, 0, 14045, 0, 0, 0, 0, 0, 0, 0, 0], 7410], [[11, 38, 120, 173, 173, 173, 173, 173, 173, 3, 173, 173, 150, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 20609, 0, 0, 0, 0, 0, 0, 0, 19174, 0, 0, 0, 0, 0, 0, 0, 0, 15486, 0], 6186], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 150, 11, 11, 124, 124, 124, 150, 173, 173], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6782], [[18, 11, 38, 150, 173, 173, 173, 173, 150, 18, 120, 150, 150, 173, 173, 18, 10, 11, 33, 173], [9, 10, 17, 30, 34, 48, 55, 113, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 11005, 14686, 0, 14850, 0], 10621], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 19973, 0, 0, 0, 0, 0, 20119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4475], [[38, 173, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 173, 150, 150, 150, 11, 150, 150, 11], [9, 10, 17, 18, 22, 30, 34, 75, 78, 111, 115, 143, 146, 166], [19973, 0, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12061], [[18, 11, 38, 150, 150, 173, 173, 150, 10, 54, 33, 122, 10, 11, 11, 10, 82, 60, 10, 153], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 53, 55, 64, 75, 78, 83, 86, 89, 107, 111, 115, 130, 132, 143, 146, 155, 166], [15486, 0, 18519, 0, 0, 0, 0, 0, 14045, 0, 14042, 0, 14359, 0, 0, 14359, 0, 0, 14359, 0], 23677], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 33, 122, 11, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 115, 143, 146, 166], [15486, 0, 18848, 0, 0, 0, 0, 0, 11005, 13884, 14359, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7226], [[18, 11, 38, 150, 150, 54, 150, 10, 33, 11, 11, 11, 40, 60, 18, 146, 146, 146, 146, 146], [9, 10, 17, 18, 19, 22, 30, 34, 35, 47, 48, 50, 56, 89, 109, 110, 115, 130, 139, 143], [15486, 0, 20119, 0, 0, 0, 0, 14206, 14519, 0, 0, 0, 20449, 0, 11005, 0, 0, 0, 0, 0], 18049], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 173, 173, 173, 173, 33, 10, 153], [3, 9, 10, 17, 30, 34, 55, 75, 113, 115, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 11005, 0, 15336, 0, 0, 0, 0, 0, 0, 0, 0, 15336, 14359, 0], 10991], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 10, 124, 173, 150, 122, 173, 124, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 19973, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0, 0, 0, 0, 0, 0], 14142], [[18, 38, 18, 150, 150, 173, 150, 150, 150, 11, 11, 10, 33, 173, 173, 10, 150, 173, 54, 122], [9, 10, 17, 19, 30, 34, 35, 48, 55, 75, 89, 109, 110, 111, 115, 122, 143, 146, 166], [15486, 18684, 11005, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14045, 0, 0, 13881, 0, 0, 0, 0], 14917], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 124, 124, 124, 173, 173, 173, 173, 173, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [15486, 0, 18848, 0, 0, 0, 11005, 0, 0, 19973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9488], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 18, 30, 34, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [15486, 0, 20120, 0, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13818], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 14359, 0, 0, 0, 0, 0, 0, 0], 9572], [[38, 173, 173, 173, 173, 18, 173, 173, 150, 173, 173, 150, 150, 150, 150, 150, 150, 10, 10, 10], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 115, 143, 146, 166], [18848, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 14362, 14206], 18006], [[18, 11, 38, 150, 173, 173, 150, 120, 173, 173, 173, 173, 173, 173, 3, 0, 0, 0, 0, 0], [3, 10, 17, 34, 113, 143, 166], [15486, 0, 18686, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14045, 0, 0, 0, 0, 0], 6294], [[18, 11, 38, 150, 120, 173, 173, 173, 18, 3, 173, 173, 150, 173, 124, 124, 10, 11, 122, 54], [3, 9, 10, 17, 18, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14043, 0, 0, 0, 0, 0, 0, 14206, 0, 0, 0], 21285], [[11, 38, 18, 150, 173, 11, 150, 150, 10, 33, 11, 11, 122, 82, 18, 153, 153, 153, 153, 60], [9, 10, 17, 30, 34, 55, 75, 115, 143, 146, 166], [0, 18848, 15486, 0, 0, 0, 0, 0, 14045, 14199, 0, 0, 0, 0, 15139, 0, 0, 0, 0, 0], 12831], [[18, 11, 38, 150, 120, 173, 173, 173, 150, 3, 3, 173, 173, 33, 124, 124, 124, 124, 124, 124], [3, 9, 10, 17, 30, 34, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 19334, 0, 0, 0, 0, 0, 0, 14366, 14366, 0, 0, 13878, 0, 0, 0, 0, 0, 0], 19665], [[18, 18, 11, 38, 150, 150, 120, 150, 173, 173, 173, 173, 173, 173, 173, 173, 3, 3, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [15486, 11005, 0, 18684, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19974, 19974, 0, 0], 7662], [[38, 173, 173, 173, 173, 18, 173, 150, 11, 150, 120, 173, 173, 173, 10, 122, 33, 11, 10, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [19957, 0, 0, 0, 0, 15486, 0, 0, 0, 0, 0, 0, 0, 0, 14359, 0, 13884, 0, 14363, 0], 15109], [[18, 11, 38, 173, 173, 173, 150, 150, 120, 18, 18, 10, 173, 173, 173, 173, 118, 173, 150, 54], [9, 10, 17, 30, 34, 35, 48, 55, 75, 111, 113, 115, 139, 143, 146, 166], [15486, 0, 19639, 0, 0, 0, 0, 0, 0, 11005, 11005, 13884, 0, 0, 0, 0, 0, 0, 0, 0], 13607], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 124, 10, 173, 54, 33, 11, 11, 173, 122, 121], [3, 9, 10, 17, 30, 34, 35, 48, 65, 75, 110, 113, 114, 115, 117, 139, 143, 146, 166], [15486, 0, 20119, 0, 0, 0, 11005, 14206, 0, 0, 0, 14359, 0, 0, 14523, 0, 0, 0, 0, 0], 12248], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 11005, 14042, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 26727], [[18, 11, 38, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 10, 10, 173, 150, 124, 124, 122], [3, 9, 10, 17, 19, 30, 34, 47, 48, 53, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [15486, 0, 20120, 20119, 0, 0, 0, 0, 11005, 13884, 0, 0, 0, 14519, 14359, 0, 0, 0, 0, 0], 20425], [[18, 38, 11, 150, 150, 10, 33, 11, 11, 40, 11, 60, 18, 120, 173, 173, 146, 146, 146, 146], [3, 9, 10, 17, 19, 30, 34, 35, 43, 47, 59, 65, 67, 89, 109, 110, 112, 113, 114, 117, 139, 143, 150, 153, 166], [15486, 19959, 0, 0, 0, 14203, 14206, 0, 0, 20449, 0, 0, 11005, 0, 0, 0, 0, 0, 0, 0], 21472], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 173, 150, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 53, 55, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [15486, 0, 20119, 0, 0, 0, 0, 0, 11005, 14045, 14202, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21863], [[18, 11, 38, 38, 38, 38, 38, 150, 150, 173, 120, 18, 10, 3, 173, 173, 150, 10, 124, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 53, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 139, 143, 146, 166], [15486, 0, 20120, 20120, 20120, 20120, 20120, 0, 0, 0, 0, 11005, 14045, 14045, 0, 0, 0, 14041, 0, 0], 26060]], "2415": [[[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 34, 111, 113, 114, 117, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10830], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 3, 173, 173, 173, 173, 0, 0, 0, 0, 0, 0], [3, 10, 17, 34, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 2099, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 3910], [[18, 11, 38, 150, 150, 173, 173, 173, 150, 150, 173, 120, 3, 18, 150, 10, 33, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 139, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 11054, 0, 8175, 7858, 0, 0, 0], 13730], [[38, 18, 11, 150, 173, 150, 173, 173, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 33, 10], [3, 9, 10, 17, 25, 26, 30, 34, 113, 115, 117, 143, 146, 166], [1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 7540, 8175], 11043], [[18, 18, 11, 38, 150, 173, 173, 150, 120, 18, 3, 173, 173, 173, 173, 173, 173, 150, 150, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6574, 6573, 0, 1450, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12117], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 150, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 10924], [[18, 11, 38, 150, 150, 150, 120, 18, 3, 173, 173, 10, 173, 173, 173, 173, 173, 173, 122, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 11054, 7853, 0, 0, 7857, 0, 0, 0, 0, 0, 0, 0, 0], 9497], [[11, 38, 18, 173, 173, 173, 120, 150, 173, 173, 173, 3, 150, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 1450, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 0, 0], 6176], [[18, 11, 38, 150, 150, 173, 120, 173, 173, 173, 173, 3, 173, 173, 173, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0], 10189], [[38, 173, 173, 173, 173, 173, 39, 39, 39, 39, 173, 173, 173, 150, 18, 11, 150, 150, 150, 0], [10, 17, 34, 143, 166], [3211, 0, 0, 0, 0, 0, 14848, 14845, 15010, 15010, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0], 10620], [[18, 11, 38, 150, 150, 120, 173, 18, 33, 10, 11, 11, 54, 122, 150, 153, 153, 10, 153, 153], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 7700, 0, 0, 0, 0, 0, 0, 0, 7696, 0, 0], 8772], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 3, 173, 150, 124, 124, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 56, 64, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 17547], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 3, 150, 173, 173, 173, 173, 173, 124, 124, 11], [3, 9, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7421], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 33, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 7700, 0, 7700, 0, 0, 0, 0], 8972], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 150, 173, 173, 173, 10, 173, 124, 124, 124, 11], [3, 9, 10, 17, 30, 34, 35, 48, 75, 110, 113, 114, 117, 139, 143, 146, 166], [6573, 0, 3375, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 17457], [[11, 38, 120, 173, 3, 173, 150, 173, 173, 173, 173, 173, 124, 124, 173, 124, 124, 124, 18, 150], [3, 9, 10, 17, 18, 19, 22, 34, 35, 47, 50, 78, 83, 89, 110, 111, 113, 115, 117, 130, 139, 143, 166], [0, 3045, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 23628], [[18, 11, 38, 150, 173, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3372, 0, 0, 0, 0, 0, 11054, 7376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7666], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 110, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7537, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 21698], [[18, 11, 38, 150, 150, 173, 120, 18, 33, 10, 11, 11, 122, 153, 153, 153, 153, 153, 153, 82], [9, 10, 17, 18, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3530, 0, 0, 0, 0, 11054, 7209, 6262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15183], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 3, 3, 18, 173, 10, 33, 122, 11, 11, 150, 153], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 6739, 6737, 6738, 11054, 0, 6738, 6723, 0, 0, 0, 0, 0], 11252], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 153], [10, 17, 30, 34, 55, 113, 143, 146, 166], [6573, 0, 3529, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 10408], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11823], [[38, 11, 18, 150, 173, 120, 150, 173, 173, 3, 18, 173, 173, 173, 173, 173, 150, 11, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 89, 109, 110, 113, 117, 122, 139, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 0, 8014, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0], 15685], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 150, 150, 10, 173, 173, 33, 11, 11, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3372, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 7700, 0, 0, 7220, 0, 0, 0, 0], 13673], [[18, 11, 38, 150, 150, 173, 173, 150, 54, 10, 33, 122, 11, 11, 82, 18, 60, 60, 153, 153], [3, 9, 10, 17, 30, 34, 35, 48, 55, 65, 75, 89, 110, 111, 113, 114, 115, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 20562], [[18, 11, 38, 150, 150, 173, 173, 18, 120, 3, 3, 150, 173, 124, 124, 173, 173, 173, 173, 173], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7527, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11806], [[18, 11, 38, 150, 173, 173, 173, 150, 173, 150, 173, 150, 150, 173, 173, 173, 150, 150, 18, 18], [10, 17, 25, 26, 30, 34, 48, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 6573], 10385], [[18, 11, 38, 150, 150, 120, 173, 18, 173, 10, 173, 173, 173, 173, 122, 33, 33, 150, 11, 11], [9, 10, 17, 18, 19, 30, 34, 48, 75, 78, 83, 86, 111, 113, 115, 130, 132, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 11054, 0, 8175, 0, 0, 0, 0, 0, 7700, 7700, 0, 0, 0], 13857], [[18, 38, 11, 150, 150, 173, 18, 33, 10, 120, 150, 153, 153, 153, 153, 153, 153, 153, 153, 153], [9, 10, 17, 30, 34, 113, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 11054, 7209, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7273], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 124, 124, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7380, 0, 0, 0, 0, 8175, 0, 0, 0, 0, 0, 0], 16573], [[11, 38, 173, 173, 173, 120, 150, 173, 173, 3, 173, 173, 173, 124, 124, 124, 18, 0, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3212, 0, 0, 0, 0, 0, 0, 0, 2580, 0, 0, 0, 0, 0, 0, 6573, 0, 0, 0], 4671], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 122, 33, 33, 33, 54, 11, 11, 150, 153, 153], [3, 9, 10, 17, 30, 34, 48, 64, 75, 113, 115, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8175, 0, 8175, 0, 8018, 7700, 8018, 0, 0, 0, 0, 0, 0], 9750], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 10, 10, 124, 124, 124, 11, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7700, 7857, 0, 0, 0, 0, 0, 0], 9575], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 124, 10, 11], [3, 9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 9576], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 10, 10, 173, 173, 124, 124], [3, 9, 10, 17, 30, 34, 48, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 7859, 0, 0, 0, 0], 9999], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 150, 150, 3, 10, 173, 173, 173, 173, 173, 173, 33], [3, 9, 10, 17, 30, 34, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 0, 0, 7700, 8017, 0, 0, 0, 0, 0, 0, 8496], 9422], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 173, 173, 173, 33, 150, 10], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 143, 146, 166], [6573, 0, 2421, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175, 0, 7700], 9496], [[18, 11, 38, 150, 150, 173, 173, 11, 150, 33, 150, 27, 153, 153, 153, 153, 153, 153, 153, 153], [10, 17, 25, 26, 30, 34, 55, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 0, 0, 7527, 0, 5287, 0, 0, 0, 0, 0, 0, 0, 0], 6918], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 173, 173, 173, 173, 173, 3, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 4336, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1450, 0, 0, 0], 17329], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 150, 124, 10, 11, 54], [3, 9, 10, 17, 34, 35, 48, 110, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0], 13150], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 3, 173, 10, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 30, 34, 35, 109, 110, 111, 113, 115, 117, 139, 143, 166], [6573, 0, 2100, 0, 0, 0, 0, 0, 0, 11054, 7853, 0, 7697, 0, 0, 0, 0, 0, 0, 0], 13122], [[18, 11, 38, 150, 150, 150, 150, 54, 11, 11, 11, 11, 120, 40, 10, 33, 173, 173, 173, 173], [9, 10, 17, 30, 34, 35, 48, 110, 113, 114, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5924, 8181, 8178, 0, 0, 0, 0], 10985], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 10, 124], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7700, 0], 11475], [[18, 11, 38, 150, 150, 173, 10, 18, 121, 120, 3, 173, 173, 173, 173, 173, 173, 173, 150, 54], [3, 9, 10, 17, 34, 48, 111, 113, 114, 143, 166], [6573, 0, 3211, 0, 0, 0, 2086, 11054, 0, 0, 7700, 0, 0, 0, 0, 0, 0, 0, 0, 0], 7267], [[18, 11, 38, 150, 150, 120, 173, 173, 3, 18, 173, 173, 173, 173, 124, 124, 124, 173, 173, 33], [3, 9, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 2581, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5447], 9401], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 18, 10, 11, 11, 122, 33, 82, 150, 60, 153, 153], [9, 10, 17, 18, 30, 34, 55, 75, 78, 111, 115, 130, 143, 146, 166], [6573, 0, 2586, 0, 0, 0, 0, 0, 0, 11054, 7700, 0, 0, 0, 8175, 0, 0, 0, 0, 0], 20109], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 3, 173, 173, 173, 150, 173, 124, 10, 173, 11, 122], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 7858, 0, 0, 0, 0, 0, 0, 8181, 0, 0, 0], 10489], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 35, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 12670], [[11, 18, 11, 38, 173, 150, 173, 150, 120, 18, 3, 173, 173, 173, 150, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 6573, 0, 3374, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6513], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 173, 120, 150, 18, 10, 173, 33, 11, 54], [9, 10, 17, 25, 30, 34, 48, 75, 113, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 0, 8335, 0, 0], 9781], [[18, 11, 38, 150, 120, 150, 18, 173, 173, 173, 173, 173, 173, 10, 33, 11, 11, 122, 153, 153], [9, 10, 17, 25, 26, 30, 34, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 1607, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 8014, 7698, 0, 0, 0, 0, 0], 9065], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 3, 173, 173, 150, 173, 173, 10, 124, 122, 54, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 89, 107, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8017, 8017, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 14537], [[18, 11, 38, 150, 150, 173, 173, 173, 173, 120, 18, 54, 11, 11, 10, 33, 122, 150, 60, 82], [9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 6578, 6403, 0, 0, 0, 0], 13227], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 10, 173, 33, 124, 124, 124, 33], [3, 9, 10, 17, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 7860], 10027], [[18, 11, 38, 150, 150, 120, 18, 173, 150, 3, 150, 10, 173, 173, 173, 173, 173, 173, 173, 122], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 7700, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9850], [[18, 11, 38, 150, 150, 120, 120, 18, 3, 150, 173, 173, 124, 124, 173, 173, 173, 10, 10, 33], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 7540, 7700, 7695], 8184], [[18, 11, 38, 120, 173, 173, 173, 173, 3, 173, 173, 173, 173, 124, 124, 124, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 1941, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8619], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 124, 124, 71, 10, 150, 54, 11, 11], [3, 9, 10, 17, 30, 34, 35, 48, 55, 64, 65, 75, 89, 111, 113, 115, 117, 139, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 7857, 0, 0, 0, 0], 13430], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 10, 150, 124, 173, 173, 173, 122], [3, 9, 10, 17, 19, 30, 34, 48, 55, 64, 75, 89, 107, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0], 13182], [[38, 11, 18, 150, 173, 120, 150, 173, 18, 173, 173, 3, 150, 11, 54, 173, 173, 11, 173, 173], [3, 10, 17, 34, 35, 48, 113, 117, 143, 166], [2746, 0, 6573, 0, 0, 0, 0, 0, 11054, 0, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0], 9441], [[18, 11, 38, 150, 150, 173, 120, 18, 173, 173, 173, 173, 173, 173, 173, 150, 3, 10, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3045, 0, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 5448, 5605, 0, 0], 11178], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 173, 173, 173, 150, 150, 120, 54, 11, 10, 33], [9, 10, 17, 30, 34, 48, 55, 111, 113, 115, 143, 146, 166], [6573, 3375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341], 9113], [[18, 38, 11, 150, 150, 18, 120, 150, 3, 173, 173, 173, 173, 173, 124, 124, 124, 173, 173, 11], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 3371, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9537], [[18, 11, 38, 150, 150, 120, 18, 3, 3, 173, 173, 173, 124, 124, 173, 173, 173, 150, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 55, 75, 89, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8015, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 13159], [[38, 18, 173, 173, 173, 150, 150, 150, 150, 173, 11, 11, 33, 10, 11, 173, 173, 173, 122, 54], [9, 10, 17, 18, 25, 26, 30, 34, 48, 115, 143, 146, 166], [1290, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860, 8175, 0, 0, 0, 0, 0, 0], 11112], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 150, 11, 11, 10, 33, 54, 11, 10, 122], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 56, 75, 78, 83, 89, 111, 115, 130, 143, 146, 155, 166], [2086, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 8181, 8018, 0, 0, 8014, 0], 25485], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 10, 150, 122, 33, 54, 11, 11, 10, 118, 82, 11], [9, 10, 17, 30, 34, 48, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 3528, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 7857, 0, 0, 0, 6581, 0, 0, 0], 9972], [[18, 18, 11, 38, 150, 150, 173, 173, 173, 120, 18, 3, 10, 173, 173, 173, 173, 173, 150, 124], [3, 9, 10, 17, 18, 22, 30, 34, 55, 75, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 6573, 0, 2420, 0, 0, 0, 0, 0, 0, 11054, 7853, 7860, 0, 0, 0, 0, 0, 0, 0], 14663], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 2740, 0, 0, 0, 11054, 0, 8017, 0, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 8560], [[18, 11, 38, 150, 150, 150, 54, 33, 10, 11, 11, 122, 82, 153, 153, 153, 153, 153, 18, 153], [9, 10, 17, 25, 26, 30, 34, 48, 55, 64, 75, 111, 115, 143, 146], [6573, 0, 3211, 0, 0, 0, 0, 8175, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0], 17679], [[18, 11, 38, 150, 120, 150, 173, 173, 3, 150, 173, 173, 150, 173, 173, 173, 173, 54, 18, 33], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 1289, 0, 0, 0, 0, 0, 6578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 6403], 10447], [[18, 18, 11, 38, 150, 150, 120, 173, 18, 173, 3, 173, 173, 173, 150, 10, 173, 11, 11, 11], [3, 9, 10, 17, 25, 30, 34, 35, 48, 55, 75, 109, 113, 115, 117, 139, 143, 146, 166], [6573, 6573, 0, 3211, 0, 0, 0, 0, 11054, 0, 7858, 0, 0, 0, 0, 8175, 0, 0, 0, 0], 11933], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 124, 10, 173, 173, 150, 54, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 35, 48, 50, 53, 55, 64, 75, 78, 83, 89, 109, 111, 113, 115, 117, 122, 130, 139, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 7856, 0, 0, 0, 0, 0, 0, 0], 23700], [[11, 18, 11, 38, 150, 150, 173, 150, 54, 10, 33, 33, 122, 10, 82, 153, 11, 11, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 115, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 0, 8014, 7857, 8017, 0, 7700, 0, 0, 0, 0, 0, 0], 21947], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 10, 173, 173, 118, 173, 173, 173, 173, 150, 33], [3, 9, 10, 17, 30, 34, 48, 75, 111, 113, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 7858], 9886], [[11, 38, 120, 173, 173, 3, 173, 18, 173, 173, 124, 124, 173, 173, 173, 124, 124, 150, 0, 0], [3, 10, 17, 34, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2725, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4660], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 120, 173, 173, 173, 0, 0, 0, 0, 0, 0], [10, 17, 34, 113, 143, 166], [6573, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5354], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 10, 150, 118, 11, 33, 121, 54, 173, 173], [3, 9, 10, 17, 19, 30, 34, 35, 48, 65, 86, 89, 110, 111, 113, 114, 117, 132, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7216, 8175, 0, 7700, 0, 0, 0, 7694, 0, 0, 0, 0], 12720], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 150, 173, 173, 173, 124, 124, 173, 173, 124, 10], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 75, 78, 83, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7860], 18144], [[18, 11, 38, 150, 120, 18, 173, 173, 3, 150, 173, 10, 54, 11, 11, 33, 122, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2740, 0, 0, 11054, 0, 0, 7857, 0, 0, 7700, 0, 0, 0, 7853, 0, 0, 0, 0], 20279], [[18, 11, 38, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 0, 0], [3, 10, 17, 34, 113, 117, 166], [6573, 0, 2420, 0, 0, 11054, 7697, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5272], [[38, 18, 173, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 54, 11, 11, 173, 173, 173, 173], [9, 10, 17, 18, 22, 30, 34, 48, 50, 78, 111, 113, 115, 130, 143, 166], [3211, 6573, 0, 0, 0, 0, 0, 0, 7853, 7856, 7860, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12261], [[18, 11, 38, 150, 150, 120, 173, 18, 3, 173, 173, 173, 173, 173, 173, 173, 150, 124, 124, 124], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7857, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8773], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 5467], [[11, 38, 173, 173, 173, 120, 173, 173, 3, 173, 150, 173, 124, 124, 173, 124, 124, 18, 33, 150], [3, 10, 17, 30, 34, 55, 113, 117, 143, 146, 166], [0, 2245, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 1450, 0], 7957], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 12295], [[11, 38, 150, 173, 120, 173, 173, 3, 173, 173, 173, 173, 124, 124, 173, 124, 0, 0, 0, 0], [3, 10, 34, 113, 117, 143, 166], [0, 3371, 0, 0, 0, 0, 0, 1939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 4825], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 150, 173, 173, 10, 124, 124, 173, 173, 122, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8017, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 22585], [[11, 38, 120, 173, 173, 3, 173, 173, 173, 173, 173, 173, 124, 124, 124, 124, 150, 124, 124, 124], [3, 10, 17, 34, 48, 113, 117, 143, 166], [0, 3211, 0, 0, 0, 2100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 8590], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 10, 173, 173, 173, 124, 122, 173, 173, 150, 150, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 8014, 0, 8018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9464], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 3, 3, 173, 150, 10, 124, 124, 173, 173, 173, 173], [3, 9, 10, 17, 25, 26, 30, 34, 48, 55, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3527, 0, 0, 0, 0, 0, 11054, 7527, 8014, 0, 0, 7381, 0, 0, 0, 0, 0, 0], 10054], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 173, 10, 173, 173, 150, 122, 124, 173, 33, 33, 11], [3, 9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2086, 0, 0, 0, 11054, 0, 8175, 0, 7700, 0, 0, 0, 0, 0, 0, 7695, 7696, 0], 18509], [[18, 11, 38, 173, 173, 120, 150, 173, 173, 3, 173, 173, 18, 173, 150, 173, 124, 124, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [6573, 0, 1450, 0, 0, 0, 0, 0, 0, 2579, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0], 7719], [[11, 38, 18, 173, 173, 173, 120, 150, 3, 173, 173, 173, 173, 124, 124, 124, 124, 173, 124, 124], [3, 10, 17, 34, 113, 117, 143, 166], [0, 2420, 6573, 0, 0, 0, 0, 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6084], [[18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 150, 10, 122, 33, 124, 173, 173, 11], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 53, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 7856, 0, 7860, 0, 0, 0, 0], 24319], [[18, 11, 38, 173, 173, 120, 150, 150, 18, 150, 3, 173, 173, 10, 11, 124, 124, 11, 122, 54], [3, 9, 10, 17, 25, 26, 30, 34, 48, 75, 89, 113, 115, 117, 143, 146, 166], [6573, 0, 3861, 0, 0, 0, 0, 0, 11054, 0, 7700, 0, 0, 7853, 0, 0, 0, 0, 0, 0], 9896], [[11, 38, 18, 173, 150, 11, 150, 150, 33, 10, 10, 120, 11, 11, 11, 173, 173, 173, 173, 173], [9, 10, 17, 18, 22, 25, 26, 30, 34, 50, 75, 78, 111, 113, 115, 130, 143, 146, 166], [0, 3211, 6573, 0, 0, 0, 0, 0, 7853, 7860, 7856, 0, 0, 0, 0, 0, 0, 0, 0, 0], 11649], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 150, 173, 3, 173, 173, 173, 173, 124, 124, 124, 173], [3, 9, 10, 17, 18, 25, 26, 30, 34, 48, 75, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0], 11219], [[18, 11, 38, 173, 150, 150, 173, 173, 120, 18, 10, 173, 173, 173, 173, 173, 122, 10, 33, 118], [9, 10, 17, 18, 19, 30, 34, 55, 64, 75, 78, 83, 89, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 0, 0, 0, 11054, 8015, 0, 0, 0, 0, 0, 0, 7536, 7700, 0], 13800], [[18, 11, 38, 150, 173, 150, 120, 173, 150, 18, 173, 173, 173, 3, 173, 173, 173, 124, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 35, 55, 75, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 0, 7700, 0, 0, 0, 0, 0, 0], 14976], [[38, 173, 173, 173, 173, 18, 173, 150, 150, 173, 150, 150, 11, 11, 18, 10, 33, 11, 122, 153], [9, 10, 17, 25, 26, 30, 34, 75, 115, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8020, 8335, 0, 0, 0], 9763], [[18, 38, 11, 173, 150, 173, 150, 173, 173, 173, 173, 173, 150, 120, 150, 173, 150, 10, 33, 33], [9, 10, 17, 30, 34, 113, 143, 166], [6573, 3372, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7853, 7856, 2261], 6330], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 173, 173, 173, 173, 173, 173, 33, 153, 153, 153, 150], [3, 9, 10, 17, 30, 34, 55, 113, 115, 117, 143, 146, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 0], 9912], [[18, 38, 11, 150, 150, 173, 173, 173, 173, 173, 120, 18, 3, 33, 10, 11, 11, 11, 54, 173], [3, 9, 10, 17, 30, 34, 48, 55, 75, 89, 111, 113, 115, 143, 146, 166], [6573, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 8014, 8014, 7857, 0, 0, 0, 0, 0], 12767], [[18, 38, 18, 150, 173, 173, 150, 150, 150, 150, 11, 11, 33, 10, 10, 11, 11, 54, 54, 122], [9, 10, 17, 30, 34, 35, 48, 55, 75, 89, 109, 111, 115, 122, 143, 146, 166], [6573, 3375, 11054, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8178, 8661, 0, 0, 0, 0, 0], 14614], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 150, 150, 11, 11, 54, 11, 10, 33, 18, 10, 173], [9, 10, 17, 18, 19, 22, 30, 34, 48, 50, 55, 75, 83, 89, 111, 115, 130, 143, 146, 166], [1450, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8335, 8341, 11054, 8338, 0], 18528], [[18, 11, 38, 150, 150, 173, 173, 120, 173, 18, 10, 118, 33, 150, 173, 173, 173, 173, 173, 11], [9, 10, 17, 30, 34, 55, 75, 111, 113, 115, 143, 146, 166], [6573, 0, 4178, 0, 0, 0, 0, 0, 0, 11054, 8175, 0, 8018, 0, 0, 0, 0, 0, 0, 0], 12721], [[18, 11, 38, 173, 173, 173, 150, 150, 173, 173, 173, 173, 173, 150, 150, 11, 10, 54, 11, 122], [9, 10, 17, 30, 34, 48, 55, 75, 111, 115, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7856, 0, 0, 0], 15520], [[38, 173, 173, 173, 173, 18, 173, 150, 173, 11, 150, 150, 173, 173, 150, 150, 120, 150, 0, 0], [10, 17, 34, 113, 143, 166], [3211, 0, 0, 0, 0, 6573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 6313], [[18, 11, 38, 150, 150, 173, 54, 150, 10, 10, 33, 122, 11, 11, 82, 18, 153, 153, 153, 153], [9, 10, 17, 30, 34, 48, 55, 75, 115, 143, 146, 166], [6573, 0, 2580, 0, 0, 0, 0, 0, 8175, 8175, 7700, 0, 0, 0, 0, 11054, 0, 0, 0, 0], 11897], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 10, 150, 121, 122, 33, 54, 173, 173, 173, 173], [3, 9, 10, 17, 30, 34, 48, 113, 114, 115, 143, 146, 166], [6573, 0, 2420, 0, 0, 0, 11054, 7697, 0, 0, 8175, 0, 0, 0, 8018, 0, 0, 0, 0, 0], 6392], [[18, 11, 38, 150, 150, 120, 18, 3, 150, 173, 173, 173, 124, 124, 173, 173, 173, 173, 173, 10], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 53, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 2579, 0, 0, 0, 11054, 3529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8175], 15565], [[18, 11, 38, 150, 173, 150, 173, 120, 173, 18, 10, 150, 173, 173, 122, 150, 33, 11, 11, 54], [9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 35, 47, 48, 50, 55, 56, 75, 78, 83, 111, 112, 113, 115, 130, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 8014, 0, 0, 0, 0, 0, 7700, 0, 0, 0], 15197], [[18, 11, 38, 150, 150, 120, 18, 173, 3, 10, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 34, 35, 111, 113, 114, 117, 143, 166], [6573, 0, 3371, 0, 0, 0, 11054, 0, 7540, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9652], [[18, 11, 38, 150, 150, 120, 18, 173, 173, 3, 173, 173, 173, 173, 173, 150, 10, 124, 124, 54], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 55, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 0, 8014, 0, 0, 0, 0, 0, 0, 8017, 0, 0, 0], 16657], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 173, 173, 150, 124, 124, 124, 124, 173, 173, 173], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 48, 50, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 24908], [[11, 18, 11, 38, 150, 150, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 173, 124, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 35, 48, 55, 75, 89, 109, 110, 113, 115, 117, 139, 143, 146, 166], [0, 6573, 0, 3371, 0, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 22792], [[18, 38, 11, 150, 150, 150, 10, 33, 54, 122, 11, 11, 10, 18, 82, 60, 60, 11, 153, 153], [9, 10, 17, 30, 34, 48, 75, 89, 111, 115, 143, 146], [6573, 3211, 0, 0, 0, 0, 7853, 7700, 0, 0, 0, 0, 7697, 11054, 0, 0, 0, 0, 0, 0], 12799], [[18, 11, 38, 150, 150, 120, 18, 150, 3, 173, 173, 173, 173, 150, 173, 173, 173, 173, 124, 124], [3, 9, 10, 17, 25, 26, 30, 34, 48, 113, 115, 117, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 0, 7853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], 9772], [[11, 38, 173, 173, 173, 120, 173, 3, 173, 173, 150, 173, 173, 124, 124, 124, 124, 124, 18, 124], [3, 10, 17, 30, 34, 113, 117, 143, 166], [0, 2086, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6573, 0], 10660], [[18, 11, 38, 150, 150, 120, 10, 150, 33, 121, 173, 173, 173, 173, 173, 173, 173, 18, 173, 54], [9, 10, 17, 18, 19, 22, 30, 34, 47, 48, 50, 56, 112, 113, 114, 115, 130, 143, 166], [6573, 0, 3211, 0, 0, 0, 7697, 0, 8014, 0, 0, 0, 0, 0, 0, 0, 0, 11054, 0, 0], 14021], [[18, 11, 38, 173, 173, 173, 173, 173, 150, 150, 173, 120, 173, 54, 11, 11, 173, 40, 11, 18], [3, 10, 17, 34, 35, 48, 110, 113, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1451, 0, 11054], 11907], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 173, 173, 10, 124, 124, 121, 33, 11], [3, 9, 10, 17, 19, 30, 34, 35, 47, 48, 65, 110, 111, 113, 114, 117, 139, 143, 166], [6573, 0, 2580, 0, 0, 0, 11054, 7700, 0, 0, 0, 0, 0, 0, 8014, 0, 0, 0, 7536, 0], 14345], [[18, 11, 38, 150, 150, 173, 173, 120, 18, 3, 173, 173, 173, 173, 173, 173, 10, 124, 124, 124], [3, 9, 10, 17, 34, 35, 48, 113, 114, 117, 139, 143, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 0, 0, 8018, 0, 0, 0], 10900], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 150, 173, 173, 10, 11, 11, 122, 33, 54, 11, 11], [3, 9, 10, 17, 18, 22, 30, 34, 48, 55, 64, 75, 78, 89, 107, 111, 113, 115, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 8175, 0, 0, 0, 0, 7700, 0, 0, 0, 7696, 0, 0, 0], 15895], [[18, 11, 38, 150, 150, 120, 18, 3, 173, 173, 150, 173, 173, 173, 10, 173, 173, 173, 122, 124], [3, 9, 10, 17, 18, 19, 22, 25, 26, 30, 34, 47, 48, 50, 55, 56, 64, 75, 78, 83, 89, 107, 111, 113, 115, 117, 130, 143, 146, 166], [6573, 0, 3211, 0, 0, 0, 11054, 7853, 0, 0, 0, 0, 0, 0, 7700, 0, 0, 0, 0, 0], 26616], [[18, 11, 38, 150, 150, 120, 173, 173, 173, 18, 150, 150, 3, 10, 150, 173, 173, 173, 173, 173], [3, 9, 10, 17, 19, 30, 34, 48, 55, 75, 89, 113, 114, 115, 143, 146, 155, 166], [6573, 0, 3211, 0, 0, 0, 0, 0, 0, 11054, 0, 0, 8175, 8175, 0, 0, 0, 0, 0, 0], 17804], [[18, 11, 38, 150, 150, 120, 173, 173, 18, 10, 3, 173, 173, 173, 173, 118, 124, 173, 173, 124], [3, 9, 10, 17, 18, 19, 22, 30, 34, 47, 50, 55, 56, 75, 78, 83, 89, 111, 113, 115, 117, 130, 143, 146, 155, 166], [6573, 0, 978, 0, 0, 0, 0, 0, 11054, 1131, 8017, 0, 0, 0, 0, 0, 0, 0, 0, 0], 17829], [[18, 11, 11, 38, 150, 150, 120, 18, 173, 173, 150, 3, 173, 124, 173, 173, 173, 173, 124, 150], [3, 9, 10, 17, 25, 26, 30, 34, 75, 111, 113, 115, 117, 143, 146, 166], [6573, 0, 0, 1450, 0, 0, 0, 11054, 0, 0, 0, 7374, 0, 0, 0, 0, 0, 0, 0, 0], 15989], [[18, 18, 11, 38, 173, 150, 150, 150, 120, 173, 3, 173, 173, 173, 10, 124, 124, 10, 33, 173], [3, 9, 10, 17, 19, 30, 34, 35, 43, 48, 59, 65, 67, 75, 89, 109, 110, 111, 112, 113, 114, 117, 139, 143, 146, 153, 166], [6573, 11054, 0, 3530, 0, 0, 0, 0, 0, 0, 8175, 0, 0, 0, 8179, 0, 0, 7700, 7700, 0], 22425]]}}} \ No newline at end of file diff --git a/dizoo/distar/model/__init__.py b/dizoo/distar/model/__init__.py deleted file mode 100644 index 3b4d86ebbc..0000000000 --- a/dizoo/distar/model/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .model import Model diff --git a/dizoo/distar/model/actor_critic_default_config.yaml b/dizoo/distar/model/actor_critic_default_config.yaml deleted file mode 100644 index 629154d8ea..0000000000 --- a/dizoo/distar/model/actor_critic_default_config.yaml +++ /dev/null @@ -1,463 +0,0 @@ -var1: &NUM_ADDON 9 -var2: &NUM_BUFFS 50 -var3: &NUM_UNIT_TYPES 260 -var4: &NUM_UPGRADES 90 -var5: &NUM_ACTIONS 327 -var6: &NUM_QUEUE_ACTIONS 49 -var7: &NUM_BEGINNING_ORDER_ACTIONS 174 -var8: &NUM_CUMULATIVE_STAT_ACTIONS 167 -var9: &SPATIAL_X 160 -var10: &SPATIAL_Y 152 -var11: &NUM_UNIT_MIX_ABILITIES 269 - - -model: - # ===== Tuning ===== - freeze_targets: [] - state_dict_mask: [] - use_value_network: False - only_update_baseline: False - enable_baselines: ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] - # ===== Value ===== - value: - use_value_feature: True - spatial_x: *SPATIAL_X - spatial_y: *SPATIAL_Y - encoder: - modules: - enemy_unit_counts_bow: - arc: fc - input_dim: *NUM_UNIT_TYPES - output_dim: 64 - enemy_unit_type_bool: - arc: fc - input_dim: *NUM_UNIT_TYPES - output_dim: 64 - enemy_agent_statistics: - arc: fc - input_dim: 10 - output_dim: 64 - enemy_upgrades: - arc: fc - input_dim: *NUM_UPGRADES - output_dim: 32 - unit_alliance: - arc: one_hot - num_embeddings: 2 - embedding_dim: 16 - unit_type: - arc: one_hot - num_embeddings: *NUM_UNIT_TYPES - embedding_dim: 48 - beginning_order: - arc: transformer - action_one_hot_dim: *NUM_BEGINNING_ORDER_ACTIONS - binary_dim: 10 - head_dim: 8 - output_dim: 64 - activation: 'relu' - spatial_x: *SPATIAL_X - spatial_y: *SPATIAL_Y - cumulative_stat: - arc: fc - input_dim: *NUM_CUMULATIVE_STAT_ACTIONS - output_dim: 128 - scatter: - scatter_input_dim: 64 - scatter_dim: 8 - scatter_type: add - spatial: - input_dim: 10 # 8 + 2 - project_dim: 16 - down_channels: [16, 32, 32] - resblock_num: 4 - spatial_fc_dim: 128 - - winloss: - name: winloss - cum_stat_keys: ['unit_build', 'research'] - param: - name: 'winloss' - input_dim: 384 #1920 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: True - build_order: - name: build_order - cum_stat_keys: ['unit_build', 'effect', 'research'] - param: - name: 'build_order' - input_dim: 384 #2016 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: False - built_unit: - name: built_unit - cum_stat_keys: ['unit_build'] - param: - name: 'built_unit' - input_dim: 384 #1824 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: False - effect: - name: effect - cum_stat_keys: ['effect'] - param: - name: 'effect' - input_dim: 384 #1824 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: False - upgrade: - name: upgrade - cum_stat_keys: ['research'] - param: - name: 'upgrade' - input_dim: 384 #1824 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: False - battle: - name: battle - cum_stat_keys: ['unit_build', 'effect', 'research'] - param: - name: 'battle' - input_dim: 384 #2016 - activation: 'relu' - norm_type: 'LN' - res_dim: 256 - res_num: 16 - atan: False - # ===== Encoder ===== - encoder: - obs_encoder: - encoder_names: [scalar_encoder, spatial_encoder, entity_encoder] - scalar_encoder: - module: - agent_statistics: - arc: fc - input_dim: 10 - output_dim: 64 - baseline_feature: True - home_race: - arc: one_hot - num_embeddings: 5 - embedding_dim: 32 - scalar_context: True - away_race: - arc: one_hot - num_embeddings: 5 - embedding_dim: 32 - scalar_context: True - upgrades: - arc: fc - input_dim: *NUM_UPGRADES - output_dim: 128 - baseline_feature: True - time: - arc: identity - output_dim: 32 - unit_counts_bow: - arc: fc - input_dim: *NUM_UNIT_TYPES - output_dim: 128 - baseline_feature: True - last_delay: - arc: one_hot - num_embeddings: 128 - embedding_dim: 64 - last_queued: - arc: one_hot - num_embeddings: 2 - embedding_dim: 32 - last_action_type: - arc: one_hot - num_embeddings: *NUM_ACTIONS - embedding_dim: 128 - cumulative_stat: - arc: fc - input_dim: *NUM_CUMULATIVE_STAT_ACTIONS - output_dim: 128 - scalar_context: True - baseline_feature: True - beginning_order: - arc: transformer - action_one_hot_dim: *NUM_BEGINNING_ORDER_ACTIONS - spatial_x: *SPATIAL_X - binary_dim: 10 - head_dim: 8 - output_dim: 64 - scalar_context: True - activation: 'relu' - baseline_feature: True - unit_type_bool: - arc: fc - input_dim: *NUM_UNIT_TYPES - output_dim: 64 - scalar_context: True - enemy_unit_type_bool: - arc: fc - input_dim: *NUM_UNIT_TYPES - output_dim: 64 - scalar_context: True - unit_order_type: - arc: fc - input_dim: *NUM_UNIT_MIX_ABILITIES - output_dim: 64 - scalar_context: True - activation: 'relu' - output_dim: 1024 - spatial_encoder: - module: - height_map: - arc: other - visibility_map: - arc: one_hot - num_embeddings: 4 - creep: - arc: one_hot - num_embeddings: 2 - player_relative: - arc: one_hot - num_embeddings: 5 - alerts: - arc: one_hot - num_embeddings: 2 - pathable: - arc: one_hot - num_embeddings: 2 - buildable: - arc: one_hot - num_embeddings: 2 - effect_PsiStorm: - arc: scatter - effect_NukeDot: - arc: scatter - effect_LiberatorDefenderZone: - arc: scatter - effect_BlindingCloud: - arc: scatter - effect_CorrosiveBile: - arc: scatter - effect_LurkerSpines: - arc: scatter - input_dim: 56 - resblock_num: 4 - fc_dim: 256 - project_dim: 32 - downsample_type: 'maxpool' - down_channels: [64, 128, 128] - activation: 'relu' - norm_type: 'none' - head_type: 'fc' - spatial_x: *SPATIAL_X - spatial_y: *SPATIAL_Y - entity_encoder: - module: - unit_type: - arc: one_hot - num_embeddings: *NUM_UNIT_TYPES - alliance: - arc: one_hot - num_embeddings: 5 - cargo_space_taken: - arc: one_hot - num_embeddings: 9 - build_progress: - arc: unsqueeze - health_ratio: - arc: unsqueeze - shield_ratio: - arc: unsqueeze - energy_ratio: - arc: unsqueeze - display_type: - arc: one_hot - num_embeddings: 5 - x: - arc: binary - num_embeddings: 11 - y: - arc: binary - num_embeddings: 11 - cloak: - arc: one_hot - num_embeddings: 5 - is_blip: - arc: one_hot - num_embeddings: 2 - is_powered: - arc: one_hot - num_embeddings: 2 - mineral_contents: - arc: unsqueeze - vespene_contents: - arc: unsqueeze - cargo_space_max: - arc: one_hot - num_embeddings: 9 - assigned_harvesters: - arc: one_hot - num_embeddings: 24 - weapon_cooldown: - arc: one_hot - num_embeddings: 32 - order_length: - arc: one_hot - num_embeddings: 9 - order_id_0: - arc: one_hot - num_embeddings: *NUM_ACTIONS - order_id_1: - arc: one_hot - num_embeddings: *NUM_QUEUE_ACTIONS - is_hallucination: - arc: one_hot - num_embeddings: 2 - buff_id_0: - arc: one_hot - num_embeddings: *NUM_BUFFS - buff_id_1: - arc: one_hot - num_embeddings: *NUM_BUFFS - addon_unit_type: - arc: one_hot - num_embeddings: *NUM_ADDON - is_active: - arc: one_hot - num_embeddings: 2 - order_progress_0: - arc: unsqueeze - order_progress_1: - arc: unsqueeze - order_id_2: - arc: one_hot - num_embeddings: *NUM_QUEUE_ACTIONS - order_id_3: - arc: one_hot - num_embeddings: *NUM_QUEUE_ACTIONS - is_in_cargo: - arc: one_hot - num_embeddings: 2 - attack_upgrade_level: - arc: one_hot - num_embeddings: 4 - armor_upgrade_level: - arc: one_hot - num_embeddings: 4 - shield_upgrade_level: - arc: one_hot - num_embeddings: 4 - last_selected_units: - arc: one_hot - num_embeddings: 2 - last_targeted_unit: - arc: one_hot - num_embeddings: 2 - input_dim: 997 # cat all entity info - head_dim: 128 - hidden_dim: 1024 - output_dim: 256 - head_num: 2 - mlp_num: 2 - layer_num: 3 - dropout_ratio: 0 - activation: 'relu' - ln_type: 'post' - entity_reduce_type: 'selected_units_num' # ['constant', 'entity_num', 'selected_units_num'] - scatter: - input_dim: 256 # entity_encoder.output_dim - output_dim: 32 - scatter_type: 'add' - core_lstm: - lstm_type: 'normal' - input_size: 1536 # spatial_encoder.fc_dim + entity_encoder.output_dim + scalar_encoder.output_dim - hidden_size: 384 - num_layers: 3 - dropout: 0.0 - score_cumulative: - input_dim: 13 - output_dim: 64 - activation: 'relu' - # ===== Policy ===== - policy: - head: - head_names: [action_type_head, delay_head, queued_head, selected_units_head, target_unit_head, location_head] - action_type_head: - input_dim: 384 # core.hidden_size - res_dim: 256 - res_num: 2 - action_num: *NUM_ACTIONS - action_map_dim: 256 # scalar context - gate_dim: 1024 - context_dim: 448 - activation: 'relu' - norm_type: 'LN' - ln_type: 'normal' - # TODO(zms): use_mask when common_type is play, i.e. evaluate. e.g. play against bot. - use_mask: False - race: 'zerg' - temperature: 1.0 - delay_head: - input_dim: 1024 # action_type_head.gate_dim - decode_dim: 256 - delay_dim: 128 - delay_map_dim: 256 - activation: 'relu' - queued_head: - input_dim: 1024 # action_type_head.gate_dim - decode_dim: 256 - queued_dim: 2 - queued_map_dim: 256 - activation: 'relu' - temperature: 1.0 - selected_units_head: - lstm_type: 'pytorch' - lstm_norm_type: 'none' - lstm_dropout: 0. - input_dim: 1024 # action_type_head.gate_dim - entity_embedding_dim: 256 # entity_encoder.output_dim - key_dim: 32 - unit_type_dim: 259 - func_dim: 256 - hidden_dim: 32 - num_layers: 1 - max_entity_num: 64 - activation: 'relu' - extra_units: True # select extra units if selected units exceed max_entity_num=64 - entity_reduce_type: 'selected_units_num' - temperature: 1.0 - target_unit_head: - input_dim: 1024 # action_type_head.gate_dim - entity_embedding_dim: 256 # entity_encoder.output_dim - key_dim: 32 - unit_type_dim: 259 - func_dim: 256 - activation: 'relu' - embedding_norm: True - temperature: 1.0 - location_head: - input_dim: 1024 - project_dim: 1024 - upsample_type: 'bilinear' - upsample_dims: [64, 32, 1] # len(upsample_dims)-len(down_channels)+1 = ratio - res_dim: 128 - res_num: 4 - gate: True - reshape_channel: 4 # entity_encoder.gate_dim / reshape_size - map_skip_dim: 128 # spatial_encoder.down_channels[-1] - activation: 'relu' - spatial_x: *SPATIAL_X - spatial_y: *SPATIAL_Y - temperature: 1.0 diff --git a/dizoo/distar/model/encoder.py b/dizoo/distar/model/encoder.py deleted file mode 100644 index bd341f70f5..0000000000 --- a/dizoo/distar/model/encoder.py +++ /dev/null @@ -1,40 +0,0 @@ -import collections - -import torch -import torch.nn as nn -from typing import Dict -from torch import Tensor - -from ding.torch_utils import fc_block, ScatterConnection - -from .obs_encoder import ScalarEncoder, SpatialEncoder, EntityEncoder - - -class Encoder(nn.Module): - - def __init__(self, cfg): - super(Encoder, self).__init__() - self.cfg = cfg.encoder - self.encoder = nn.ModuleDict() - self.scalar_encoder = ScalarEncoder(self.cfg.obs_encoder.scalar_encoder) - self.spatial_encoder = SpatialEncoder(self.cfg.obs_encoder.spatial_encoder) - self.entity_encoder = EntityEncoder(self.cfg.obs_encoder.entity_encoder) - self.scatter_project = fc_block(self.cfg.scatter.input_dim, self.cfg.scatter.output_dim, activation=nn.ReLU()) - self.scatter_dim = self.cfg.scatter.output_dim - self.scatter_connection = ScatterConnection(self.cfg.scatter.scatter_type) - - def forward( - self, spatial_info: Dict[str, Tensor], entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], - entity_num: Tensor - ): - embedded_scalar, scalar_context, baseline_feature = self.scalar_encoder(scalar_info) - entity_embeddings, embedded_entity, entity_mask = self.entity_encoder(entity_info, entity_num) - entity_location = torch.cat([entity_info['y'].unsqueeze(dim=-1), entity_info['x'].unsqueeze(dim=-1)], dim=-1) - shape = spatial_info['height_map'].shape[-2:] - project_embeddings = self.scatter_project(entity_embeddings) - project_embeddings = project_embeddings * entity_mask.unsqueeze(dim=2) - - scatter_map = self.scatter_connection(project_embeddings, shape, entity_location) - embedded_spatial, map_skip = self.spatial_encoder(spatial_info, scatter_map) - lstm_input = torch.cat([embedded_scalar, embedded_entity, embedded_spatial], dim=-1) - return lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip diff --git a/dizoo/distar/model/head/__init__.py b/dizoo/distar/model/head/__init__.py deleted file mode 100644 index 94e44e0486..0000000000 --- a/dizoo/distar/model/head/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .action_arg_head import DelayHead, SelectedUnitsHead, TargetUnitHead, LocationHead, QueuedHead -from .action_type_head import ActionTypeHead diff --git a/dizoo/distar/model/head/action_arg_head.py b/dizoo/distar/model/head/action_arg_head.py deleted file mode 100644 index f9df39b9ba..0000000000 --- a/dizoo/distar/model/head/action_arg_head.py +++ /dev/null @@ -1,415 +0,0 @@ -''' -Copyright 2020 Sensetime X-lab. All Rights Reserved - -Main Function: - 1. Implementation for action_type_head, including basic processes. - 2. Implementation for delay_head, including basic processes. - 3. Implementation for queue_type_head, including basic processes. - 4. Implementation for selected_units_type_head, including basic processes. - 5. Implementation for target_unit_head, including basic processes. - 6. Implementation for location_head, including basic processes. -''' -from typing import Optional, List -from torch import Tensor -import math - -import torch -import torch.nn as nn -import torch.nn.functional as F -from ding.torch_utils import fc_block, conv2d_block, deconv2d_block, build_activation, ResBlock, NearestUpsample, \ - BilinearUpsample, sequence_mask, GatedConvResBlock, AttentionPool, script_lstm -from dizoo.distar.envs import MAX_ENTITY_NUM, MAX_SELECTED_UNITS_NUM - - -class DelayHead(nn.Module): - - def __init__(self, cfg): - super(DelayHead, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) - self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) - self.fc3 = fc_block(self.cfg.decode_dim, self.cfg.delay_dim, activation=None, norm_type=None) # regression - self.embed_fc1 = fc_block(self.cfg.delay_dim, self.cfg.delay_map_dim, activation=self.act, norm_type=None) - self.embed_fc2 = fc_block(self.cfg.delay_map_dim, self.cfg.input_dim, activation=None, norm_type=None) - - self.delay_dim = self.cfg.delay_dim - - def forward(self, embedding, delay: Optional[torch.Tensor] = None): - x = self.fc1(embedding) - x = self.fc2(x) - x = self.fc3(x) - if delay is None: - p = F.softmax(x, dim=1) - delay = torch.multinomial(p, 1)[:, 0] - - delay_encode = torch.nn.functional.one_hot(delay.long(), self.delay_dim).float() - embedding_delay = self.embed_fc1(delay_encode) - embedding_delay = self.embed_fc2(embedding_delay) # get autoregressive_embedding - - return x, delay, embedding + embedding_delay - - -class QueuedHead(nn.Module): - - def __init__(self, cfg): - super(QueuedHead, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - # to get queued logits - self.fc1 = fc_block(self.cfg.input_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) - self.fc2 = fc_block(self.cfg.decode_dim, self.cfg.decode_dim, activation=self.act, norm_type=None) - self.fc3 = fc_block(self.cfg.decode_dim, self.cfg.queued_dim, activation=None, norm_type=None) - - # to get autoregressive_embedding - self.embed_fc1 = fc_block(self.cfg.queued_dim, self.cfg.queued_map_dim, activation=self.act, norm_type=None) - self.embed_fc2 = fc_block(self.cfg.queued_map_dim, self.cfg.input_dim, activation=None, norm_type=None) - - self.queued_dim = self.cfg.queued_dim - - def forward(self, embedding, queued=None): - x = self.fc1(embedding) - x = self.fc2(x) - x = self.fc3(x) - x.div_(self.cfg.temperature) - if queued is None: - p = F.softmax(x, dim=1) - queued = torch.multinomial(p, 1)[:, 0] - - queued_one_hot = torch.nn.functional.one_hot(queued.long(), self.queued_dim).float() - embedding_queued = self.embed_fc1(queued_one_hot) - embedding_queued = self.embed_fc2(embedding_queued) # get autoregressive_embedding - - return x, queued, embedding + embedding_queued - - -class SelectedUnitsHead(nn.Module): - - def __init__(self, cfg): - super(SelectedUnitsHead, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) - self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.func_dim, activation=self.act) - self.query_fc2 = fc_block(self.cfg.func_dim, self.cfg.key_dim, activation=None) - self.embed_fc1 = fc_block(self.cfg.key_dim, self.cfg.func_dim, activation=self.act, norm_type=None) - self.embed_fc2 = fc_block(self.cfg.func_dim, self.cfg.input_dim, activation=None, norm_type=None) - - self.max_select_num = MAX_SELECTED_UNITS_NUM - self.max_entity_num = MAX_ENTITY_NUM - self.key_dim = self.cfg.key_dim - - self.num_layers = self.cfg.num_layers - - self.lstm = script_lstm(self.cfg.key_dim, self.cfg.hidden_dim, self.cfg.num_layers, LN=True) - self.end_embedding = torch.nn.Parameter(torch.FloatTensor(1, self.key_dim)) - stdv = 1. / math.sqrt(self.end_embedding.size(1)) - self.end_embedding.data.uniform_(-stdv, stdv) - if self.cfg.entity_reduce_type == 'attention_pool': - self.attention_pool = AttentionPool(key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim) - elif self.cfg.entity_reduce_type == 'attention_pool_add_num': - self.attention_pool = AttentionPool( - key_dim=self.cfg.key_dim, head_num=2, output_dim=self.cfg.input_dim, max_num=MAX_SELECTED_UNITS_NUM + 1 - ) - self.extra_units = self.cfg.extra_units # select extra units if selected units exceed max_entity_num=64 - - def _get_key_mask(self, entity_embedding, entity_num): - bs = entity_embedding.shape[0] - padding_end = torch.zeros(1, self.end_embedding.shape[1]).repeat(bs, 1, - 1).to(entity_embedding.device) # b, 1, c - key = self.key_fc(entity_embedding) # b, n, c - key = torch.cat([key, padding_end], dim=1) - end_embeddings = torch.ones(key.shape, dtype=key.dtype, device=key.device) * self.end_embedding.squeeze(dim=0) - flag = torch.ones(key.shape[:2], dtype=torch.bool, device=key.device).unsqueeze(dim=2) - flag[torch.arange(bs), entity_num] = 0 - end_embeddings = end_embeddings * ~flag - key = key * flag - key = key + end_embeddings - reduce_type = self.cfg.entity_reduce_type - if reduce_type == 'entity_num': - key_reduce = torch.div(key, entity_num.reshape(-1, 1, 1)) - key_embeddings = self.embed_fc(key_reduce) - elif reduce_type == 'constant': - key_reduce = torch.div(key, 512) - key_embeddings = self.embed_fc(key_reduce) - elif reduce_type == 'selected_units_num' or 'attention' in reduce_type: - key_embeddings = key - else: - raise NotImplementedError - - new_entity_num = entity_num + 1 # add end entity - mask = sequence_mask(new_entity_num, max_len=entity_embedding.shape[1] + 1) - return key, mask, key_embeddings - - def _get_pred_with_logit(self, logit): - logit.div_(self.cfg.temperature) - p = F.softmax(logit, dim=-1) - units = torch.multinomial(p, 1)[:, 0] - return units - - def _query( - self, - key: Tensor, - entity_num: Tensor, - autoregressive_embedding: Tensor, - logits_mask: Tensor, - key_embeddings: Tensor, - selected_units_num: Optional[Tensor] = None, - selected_units: Optional[Tensor] = None, - su_mask: Tensor = None - ): - ae = autoregressive_embedding - bs = ae.shape[0] - end_flag = torch.zeros(bs, dtype=torch.bool).to(ae.device) - results_list, logits_list = [], [] - state = [ - (torch.zeros(ae.shape[0], 32, device=ae.device), torch.zeros(ae.shape[0], 32, device=ae.device)) - for _ in range(self.num_layers) - ] - logits_mask[torch.arange(bs), entity_num] = torch.tensor([0], dtype=torch.bool, device=ae.device) - - result: Optional[Tensor] = None - results: Optional[Tensor] = None - if selected_units is not None and selected_units_num is not None: # train - bs = selected_units.shape[0] - seq_len = selected_units_num.max() - queries = [] - selected_mask = sequence_mask(selected_units_num) # b, s - logits_mask = logits_mask.repeat(max(seq_len, 1), 1, 1) # b, n -> s, b, n - logits_mask[0, torch.arange(bs), entity_num] = 0 # end flag is not available at first selection - selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) - for i in range(max(seq_len, 1)): - if i > 0: - logits_mask[i] = logits_mask[i - 1] - if i == 1: # enable end flag - logits_mask[i, torch.arange(bs), entity_num] = 1 - logits_mask[i, torch.arange(bs), selected_units[:, i - 1]] = 0 # mask selected units - lstm_input = self.query_fc2(self.query_fc1(ae)).unsqueeze(0) - lstm_output, state = self.lstm(lstm_input, state) - queries.append(lstm_output) - reduce_type = self.cfg.entity_reduce_type - if reduce_type == 'selected_units_num' or 'attention' in reduce_type: - new_selected_units_one_hot = selected_units_one_hot.clone() # inplace operation can not backward - end_flag[selected_units[:, i] == entity_num] = 1 - new_selected_units_one_hot[torch.arange(bs)[~end_flag], selected_units[:, i][~end_flag], :] = 1 - if reduce_type == 'selected_units_num': - selected_units_emebedding = (key_embeddings * new_selected_units_one_hot).sum(dim=1) - S = selected_units_num - selected_units_emebedding[S != 0] = \ - selected_units_emebedding[S != 0] / new_selected_units_one_hot.sum(dim=1)[S != 0] - selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) - ae = autoregressive_embedding + selected_units_emebedding - elif reduce_type == 'attention_pool': - ae = autoregressive_embedding + self.attention_pool( - key_embeddings, mask=new_selected_units_one_hot - ) - elif reduce_type == 'attention_pool_add_num': - ae = autoregressive_embedding + self.attention_pool( - key_embeddings, - num=new_selected_units_one_hot.sum(dim=1).squeeze(dim=1), - mask=new_selected_units_one_hot, - ) - selected_units_one_hot = new_selected_units_one_hot.clone() - else: - ae = ae + key_embeddings[torch.arange(bs), - selected_units[:, i]] * (i + 1 < selected_units_num).unsqueeze(1) - - queries = torch.cat(queries, dim=0).unsqueeze(dim=2) # s, b, 1, -1 - key = key.unsqueeze(dim=0) # 1, b, n, -1 - query_result = queries * key - logits = query_result.sum(dim=3) # s, b, n - logits = logits.masked_fill(~logits_mask, -1e9) - logits = logits.permute(1, 0, 2).contiguous() - results = selected_units - extra_units = None - else: - selected_units_num = torch.ones(bs, dtype=torch.long, device=ae.device) * self.max_select_num - end_flag[~su_mask] = 1 - selected_units_num[~su_mask] = 0 - selected_units_one_hot = torch.zeros(*key_embeddings.shape[:2], device=ae.device).unsqueeze(dim=2) - for i in range(self.max_select_num): - if i > 0: - if i == 1: # end flag can be selected at second selection - logits_mask[torch.arange(bs), - entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) - if result is not None: - logits_mask[torch.arange(bs), result.detach()] = torch.tensor( - [0], dtype=torch.bool, device=ae.device - ) # mask selected units - lstm_input = self.query_fc2(self.query_fc1(ae)).unsqueeze(0) - lstm_output, state = self.lstm(lstm_input, state) - queries = lstm_output.permute(1, 0, 2) # b, 1, c - query_result = queries * key - step_logits = query_result.sum(dim=2) # b, n - step_logits = step_logits.masked_fill(~logits_mask, -1e9) - step_logits = step_logits.div(1) - result = self._get_pred_with_logit(step_logits) - selected_units_num[(result == entity_num) * ~(end_flag)] = torch.tensor(i + 1).to(result.device) - end_flag[result == entity_num] = torch.tensor([1], dtype=torch.bool, device=ae.device) - results_list.append(result) - logits_list.append(step_logits) - reduce_type = self.cfg.entity_reduce_type - if reduce_type == 'selected_units_num' or 'attention' in reduce_type: - selected_units_one_hot[torch.arange(bs)[~end_flag], result[~end_flag], :] = 1 - if reduce_type == 'selected_units_num': - selected_units_emebedding = (key_embeddings * selected_units_one_hot).sum(dim=1) - slected_num = selected_units_one_hot.sum(dim=1).squeeze(dim=1) - selected_units_emebedding[slected_num != 0] = selected_units_emebedding[ - slected_num != 0] / slected_num[slected_num != 0].unsqueeze(dim=1) - selected_units_emebedding = self.embed_fc2(self.embed_fc1(selected_units_emebedding)) - ae = autoregressive_embedding + selected_units_emebedding - elif reduce_type == 'attention_pool': - ae = autoregressive_embedding + self.attention_pool(key_embeddings, mask=selected_units_one_hot) - elif reduce_type == 'attention_pool_add_num': - ae = autoregressive_embedding + self.attention_pool( - key_embeddings, - num=selected_units_one_hot.sum(dim=1).squeeze(dim=1), - mask=selected_units_one_hot, - ) - else: - ae = ae + key_embeddings[torch.arange(bs), result] * ~end_flag.unsqueeze(dim=1) - if end_flag.all(): - break - if self.extra_units: - end_flag_logit = step_logits[torch.arange(bs), entity_num] - extra_units = ((step_logits > end_flag_logit.unsqueeze(dim=1)) * ~end_flag.unsqueeze(dim=1)).float() - results = torch.stack(results_list, dim=0) - results = results.transpose(1, 0).contiguous() - logits = torch.stack(logits_list, dim=0) - logits = logits.transpose(1, 0).contiguous() - return logits, results, ae, selected_units_num, extra_units - - def forward( - self, - embedding, - entity_embedding, - entity_num, - selected_units_num: Optional[Tensor] = None, - selected_units: Optional[Tensor] = None, - su_mask: Optional[Tensor] = None - ): - key, mask, key_embeddings = self._get_key_mask(entity_embedding, entity_num) - logits, units, embedding, selected_units_num, extra_units = self._query( - key, entity_num, embedding, mask, key_embeddings, selected_units_num, selected_units, su_mask - ) - return logits, units, embedding, selected_units_num, extra_units - - -class TargetUnitHead(nn.Module): - - def __init__(self, cfg): - super(TargetUnitHead, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - self.key_fc = fc_block(self.cfg.entity_embedding_dim, self.cfg.key_dim, activation=None, norm_type=None) - self.query_fc1 = fc_block(self.cfg.input_dim, self.cfg.key_dim, activation=self.act, norm_type=None) - self.query_fc2 = fc_block(self.cfg.key_dim, self.cfg.key_dim, activation=None, norm_type=None) - self.key_dim = self.cfg.key_dim - self.max_entity_num = MAX_ENTITY_NUM - - def forward(self, embedding, entity_embedding, entity_num, target_unit: Optional[torch.Tensor] = None): - key = self.key_fc(entity_embedding) - mask = sequence_mask(entity_num, max_len=entity_embedding.shape[1]) - - query = self.query_fc2(self.query_fc1(embedding)) - - logits = query.unsqueeze(1) * key - logits = logits.sum(dim=2) # b, n, -1 - logits.masked_fill_(~mask, value=-1e9) - - logits.div_(self.cfg.temperature) - if target_unit is None: - p = F.softmax(logits, dim=1) - target_unit = torch.multinomial(p, 1)[:, 0] - return logits, target_unit - - -class LocationHead(nn.Module): - - def __init__(self, cfg): - super(LocationHead, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - self.reshape_channel = self.cfg.reshape_channel - - self.conv1 = conv2d_block( - self.cfg.map_skip_dim + self.cfg.reshape_channel, - self.cfg.res_dim, - 1, - 1, - 0, - activation=build_activation(self.cfg.activation, inplace=True), - norm_type=None - ) - self.res = nn.ModuleList() - self.res_act = nn.ModuleList() - self.res_dim = self.cfg.res_dim - self.use_gate = self.cfg.gate - self.project_embed = fc_block( - self.cfg.input_dim, - self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8 * 4, - activation=build_activation(self.cfg.activation, inplace=True) - ) - - self.res = nn.ModuleList() - for i in range(self.cfg.res_num): - if self.use_gate: - self.res.append( - GatedConvResBlock( - self.res_dim, - self.res_dim, - 3, - 1, - 1, - activation=build_activation(self.cfg.activation, inplace=True), - norm_type=None - ) - ) - else: - self.res.append(ResBlock(self.dim, build_activation(self.cfg.activation, inplace=True), norm_type=None)) - - self.upsample = nn.ModuleList() # upsample list - dims = [self.res_dim] + self.cfg.upsample_dims - assert (self.cfg.upsample_type in ['deconv', 'nearest', 'bilinear']) - for i in range(len(self.cfg.upsample_dims)): - if i == len(self.cfg.upsample_dims) - 1: - activation = None - else: - activation = build_activation(self.cfg.activation, inplace=True) - if self.cfg.upsample_type == 'deconv': - self.upsample.append( - deconv2d_block(dims[i], dims[i + 1], 4, 2, 1, activation=activation, norm_type=None) - ) - else: - self.upsample.append(conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=activation, norm_type=None)) - - def forward(self, embedding, map_skip: List[Tensor], location=None): - projected_embedding = self.project_embed(embedding) - reshape_embedding = projected_embedding.reshape( - projected_embedding.shape[0], self.reshape_channel, self.cfg.spatial_y // 8, self.cfg.spatial_x // 8 - ) - cat_feature = torch.cat([reshape_embedding, map_skip[-1]], dim=1) - - x1 = self.act(cat_feature) - x = self.conv1(x1) - - # reverse cat_feature instead of reversing resblock - for i in range(self.cfg.res_num): - x = x + map_skip[len(map_skip) - i - 1] - if self.use_gate: - x = self.res[i](x, x) - else: - x = self.res[i](x) - for i, layer in enumerate(self.upsample): - if self.cfg.upsample_type == 'nearest': - x = F.interpolate(x, scale_factor=2., mode='nearest') - elif self.cfg.upsample_type == 'bilinear': - x = F.interpolate(x, scale_factor=2., mode='bilinear') - x = layer(x) - - logits_flatten = x.view(x.shape[0], -1) - logits_flatten.div_(self.cfg.temperature) - p = F.softmax(logits_flatten, dim=1) - if location is None: - location = torch.multinomial(p, 1)[:, 0] - return logits_flatten, location diff --git a/dizoo/distar/model/head/action_type_head.py b/dizoo/distar/model/head/action_type_head.py deleted file mode 100644 index ad91ce06e8..0000000000 --- a/dizoo/distar/model/head/action_type_head.py +++ /dev/null @@ -1,63 +0,0 @@ -''' -Copyright 2020 Sensetime X-lab. All Rights Reserved - -Main Function: - 1. Implementation for action_type_head, including basic processes. -''' -from typing import Optional, List, Tuple -from torch import Tensor -import torch -import torch.nn as nn -import torch.nn.functional as F -from ding.torch_utils import ResFCBlock, fc_block, build_activation2 -from dizoo.distar.envs import ACTION_RACE_MASK - - -class ActionTypeHead(nn.Module): - __constants__ = ['mask_action'] - - def __init__(self, cfg): - super(ActionTypeHead, self).__init__() - self.cfg = cfg - self.act = build_activation2(self.cfg.activation) # use relu as default - self.project = fc_block(self.cfg.input_dim, self.cfg.res_dim, activation=self.act, norm_type=None) - blocks = [ResFCBlock(self.cfg.res_dim, self.act, self.cfg.norm_type) for _ in range(self.cfg.res_num)] - self.res = nn.Sequential(*blocks) - self.action_fc = build_activation2('glu')(self.cfg.res_dim, self.cfg.action_num, self.cfg.context_dim) - - self.action_map_fc1 = fc_block( - self.cfg.action_num, self.cfg.action_map_dim, activation=self.act, norm_type=None - ) - self.action_map_fc2 = fc_block( - self.cfg.action_map_dim, self.cfg.action_map_dim, activation=None, norm_type=None - ) - self.glu1 = build_activation2('glu')(self.cfg.action_map_dim, self.cfg.gate_dim, self.cfg.context_dim) - self.glu2 = build_activation2('glu')(self.cfg.input_dim, self.cfg.gate_dim, self.cfg.context_dim) - self.action_num = self.cfg.action_num - self.use_mask = self.cfg.use_mask - self.race = self.cfg.race - - def forward(self, - lstm_output, - scalar_context, - action_type: Optional[torch.Tensor] = None) -> Tuple[Tensor, Tensor, Tensor]: - x = self.project(lstm_output) - x = self.res(x) - x = self.action_fc(x, scalar_context) - x.div_(self.cfg.temperature) - if self.use_mask: - mask = ACTION_RACE_MASK[self.race].to(x.device) - x = x.masked_fill(~mask.unsqueeze(dim=0), -1e9) - if action_type is None: - p = F.softmax(x, dim=1) - action_type = torch.multinomial(p, 1)[:, 0] - - # one-hot version of action_type - action_one_hot = torch.nn.functional.one_hot(action_type.long(), self.action_num).float() - embedding1 = self.action_map_fc1(action_one_hot) - embedding1 = self.action_map_fc2(embedding1) - embedding1 = self.glu1(embedding1, scalar_context) - embedding2 = self.glu2(lstm_output, scalar_context) - embedding = embedding1 + embedding2 - - return x, action_type, embedding diff --git a/dizoo/distar/model/model.py b/dizoo/distar/model/model.py deleted file mode 100644 index 0e0a874483..0000000000 --- a/dizoo/distar/model/model.py +++ /dev/null @@ -1,191 +0,0 @@ -from collections import OrderedDict -from typing import Dict, Tuple, List -from torch import Tensor - -import os.path as osp -import torch -import torch.nn as nn - -from ding.utils import read_yaml_config, deep_merge_dicts -from ding.torch_utils import detach_grad, script_lstm -from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM -from .encoder import Encoder -from .obs_encoder.value_encoder import ValueEncoder -from .policy import Policy -from .value import ValueBaseline - -alphastar_model_default_config = read_yaml_config(osp.join(osp.dirname(__file__), "actor_critic_default_config.yaml")) - - -class Model(nn.Module): - - def __init__(self, cfg, use_value_network=False): - super(Model, self).__init__() - self.cfg = deep_merge_dicts(alphastar_model_default_config, cfg).model - self.encoder = Encoder(self.cfg) - self.policy = Policy(self.cfg) - self.use_value_network = use_value_network - if self.use_value_network: - self.use_value_feature = self.cfg.value.use_value_feature - if self.use_value_feature: - self.value_encoder = ValueEncoder(self.cfg.value) - self.value_networks = nn.ModuleDict() - for k, v in self.cfg.value.items(): - if k in self.cfg.enable_baselines: - # creating a ValueBaseline network for each baseline, to be used in _critic_forward - value_cfg = v.param - value_cfg['use_value_feature'] = self.use_value_feature - self.value_networks[v.name] = ValueBaseline(value_cfg) - # name of needed cumulative stat items - self.only_update_baseline = self.cfg.only_update_baseline - self.core_lstm = script_lstm( - self.cfg.encoder.core_lstm.input_size, - self.cfg.encoder.core_lstm.hidden_size, - self.cfg.encoder.core_lstm.num_layers, - LN=True - ) - - def forward( - self, - spatial_info: Tensor, - entity_info: Dict[str, Tensor], - scalar_info: Dict[str, Tensor], - entity_num: Tensor, - hidden_state: List[Tuple[Tensor, Tensor]], - ): - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ - self.encoder(spatial_info, entity_info, scalar_info, entity_num) - lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) - action_info, selected_units_num, logit, extra_units = self.policy( - lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num - ) - return action_info, selected_units_num, out_state - - def compute_logp_action( - self, spatial_info: Tensor, entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], entity_num: Tensor, - hidden_state: List[Tuple[Tensor, Tensor]], **kwargs - ): - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ - self.encoder(spatial_info, entity_info, scalar_info, entity_num) - lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) - action_info, selected_units_num, logit, extra_units = self.policy( - lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num - ) - log_action_probs = {} - for k, action in action_info.items(): - dist = torch.distributions.Categorical(logits=logit[k]) - action_log_probs = dist.log_prob(action) - log_action_probs[k] = action_log_probs - return { - 'action_info': action_info, - 'action_logp': log_action_probs, - 'selected_units_num': selected_units_num, - 'entity_num': entity_num, - 'hidden_state': out_state, - 'logit': logit, - 'extra_units': extra_units - } - - def compute_teacher_logit( - self, spatial_info: Tensor, entity_info: Dict[str, Tensor], scalar_info: Dict[str, Tensor], entity_num: Tensor, - hidden_state: List[Tuple[Tensor, Tensor]], selected_units_num, action_info: Dict[str, Tensor], **kwargs - ): - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ - self.encoder(spatial_info, entity_info, scalar_info, entity_num) - lstm_output, out_state = self.core_lstm(lstm_input.unsqueeze(dim=0), hidden_state) - action_info, selected_units_num, logit = self.policy.train_forward( - lstm_output.squeeze(dim=0), entity_embeddings, map_skip, scalar_context, entity_num, action_info, - selected_units_num - ) - return { - 'logit': logit, - 'hidden_state': out_state, - 'entity_num': entity_num, - 'selected_units_num': selected_units_num - } - - def rl_learn_forward( - self, spatial_info, entity_info, scalar_info, entity_num, hidden_state, action_info, selected_units_num, - behaviour_logp, teacher_logit, mask, reward, step, batch_size, unroll_len, **kwargs - ): - assert self.use_value_network - flat_action_info = {} - for k, val in action_info.items(): - flat_action_info[k] = torch.flatten(val, start_dim=0, end_dim=1) - flat_selected_units_num = torch.flatten(selected_units_num, start_dim=0, end_dim=1) - - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ - self.encoder(spatial_info, entity_info, scalar_info, entity_num) - hidden_size = hidden_state[0][0].shape[-1] - - hidden_state = [ - [hidden_state[i][j].view(-1, batch_size, hidden_size)[0, :, :] for j in range(len(hidden_state[i]))] - for i in range(len(hidden_state)) - ] - lstm_output, out_state = self.core_lstm(lstm_input.view(-1, batch_size, lstm_input.shape[-1]), hidden_state) - lstm_output = lstm_output.view(-1, lstm_output.shape[-1]) - - policy_lstm_input = lstm_output.squeeze(dim=0)[:-batch_size] - policy_entity_embeddings = entity_embeddings[:-batch_size] - policy_map_skip = [map[:-batch_size] for map in map_skip] - policy_scalar_context = scalar_context[:-batch_size] - policy_entity_num = entity_num[:-batch_size] - _, _, logits = self.policy.train_forward( - policy_lstm_input, policy_entity_embeddings, policy_map_skip, policy_scalar_context, policy_entity_num, - flat_action_info, flat_selected_units_num - ) - - # logits['selected_units'] = logits['selected_units'].mean(dim=1) - critic_input = lstm_output.squeeze(0) - # add state info - if self.only_update_baseline: - critic_input = detach_grad(critic_input) - baseline_feature = detach_grad(baseline_feature) - if self.use_value_feature: - value_feature = kwargs['value_feature'] - value_feature = self.value_encoder(value_feature) - critic_input = torch.cat([critic_input, value_feature, baseline_feature], dim=1) - baseline_values = {} - for k, v in self.value_networks.items(): - baseline_values[k] = v(critic_input) - for k, val in logits.items(): - logits[k] = val.view(unroll_len, batch_size, *val.shape[1:]) - for k, val in baseline_values.items(): - baseline_values[k] = val.view(unroll_len + 1, batch_size) - outputs = {} - outputs['unroll_len'] = unroll_len - outputs['batch_size'] = batch_size - outputs['selected_units_num'] = selected_units_num - logits['selected_units'] = torch.nn.functional.pad( - logits['selected_units'], ( - 0, - 0, - 0, - MAX_SELECTED_UNITS_NUM - logits['selected_units'].shape[2], - ), 'constant', -1e9 - ) - outputs['target_logit'] = logits - outputs['value'] = baseline_values - outputs['action_log_prob'] = behaviour_logp - outputs['teacher_logit'] = teacher_logit - outputs['mask'] = mask - outputs['action'] = action_info - outputs['reward'] = reward - outputs['step'] = step - - return outputs - - def sl_learn_forward( - self, spatial_info, entity_info, scalar_info, entity_num, selected_units_num, traj_lens, hidden_state, - action_info, **kwargs - ): - batch_size = len(traj_lens) - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = \ - self.encoder(spatial_info, entity_info, scalar_info, entity_num) - lstm_input = lstm_input.view(-1, lstm_input.shape[0] // batch_size, lstm_input.shape[-1]).permute(1, 0, 2) - lstm_output, out_state = self.core_lstm(lstm_input, hidden_state) - lstm_output = lstm_output.permute(1, 0, 2).contiguous().view(-1, lstm_output.shape[-1]) - action_info, selected_units_num, logits = self.policy.train_forward( - lstm_output, entity_embeddings, map_skip, scalar_context, entity_num, action_info, selected_units_num - ) - return logits, action_info, out_state diff --git a/dizoo/distar/model/obs_encoder/__init__.py b/dizoo/distar/model/obs_encoder/__init__.py deleted file mode 100644 index 6a6dc1103e..0000000000 --- a/dizoo/distar/model/obs_encoder/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -from .scalar_encoder import ScalarEncoder -from .spatial_encoder import SpatialEncoder -from .entity_encoder import EntityEncoder -from .value_encoder import ValueEncoder diff --git a/dizoo/distar/model/obs_encoder/entity_encoder.py b/dizoo/distar/model/obs_encoder/entity_encoder.py deleted file mode 100644 index a47f34fd3a..0000000000 --- a/dizoo/distar/model/obs_encoder/entity_encoder.py +++ /dev/null @@ -1,101 +0,0 @@ -import torch -import torch.nn as nn -from typing import Dict -from torch import Tensor - -from ding.torch_utils import fc_block, build_activation, sequence_mask, Transformer -from dizoo.distar.envs import MAX_ENTITY_NUM - - -def get_binary_embed_mat(bit_num): - location_embedding = [] - for n in range(2 ** bit_num): - s = '0' * (bit_num - len(bin(n)[2:])) + bin(n)[2:] - location_embedding.append(list(int(i) for i in s)) - return torch.tensor(location_embedding).float() - - -class EntityEncoder(nn.Module): - r''' - B=batch size EN=any number of entities ID=input_dim OS=output_size=256 - (B*EN*ID) (EN'*OS) (EN'*OS) (EN'*OS) (B*EN*OS) - x -> combine -> Transformer -> act -> entity_fc -> split -> entity_embeddings - batch | (B*EN*OS) (B*OS) (B*OS) - \-> split -> mean -> embed_fc -> embedded_entity - ''' - - def __init__(self, cfg): - super(EntityEncoder, self).__init__() - self.encode_modules = nn.ModuleDict() - self.cfg = cfg - for k, item in self.cfg.module.items(): - if item['arc'] == 'one_hot': - self.encode_modules[k] = nn.Embedding.from_pretrained( - torch.eye(item['num_embeddings']), freeze=True, padding_idx=None - ) - if item['arc'] == 'binary': - self.encode_modules[k] = torch.nn.Embedding.from_pretrained( - get_binary_embed_mat(item['num_embeddings']), freeze=True, padding_idx=None - ) - self.act = build_activation(self.cfg.activation, inplace=True) - self.transformer = Transformer( - input_dim=self.cfg.input_dim, - head_dim=self.cfg.head_dim, - hidden_dim=self.cfg.hidden_dim, - output_dim=self.cfg.output_dim, - head_num=self.cfg.head_num, - mlp_num=self.cfg.mlp_num, - layer_num=self.cfg.layer_num, - dropout_ratio=self.cfg.dropout_ratio, - activation=self.act, - ln_type=self.cfg.ln_type - ) - self.entity_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) - self.embed_fc = fc_block(self.cfg.output_dim, self.cfg.output_dim, activation=self.act) - if self.cfg.entity_reduce_type == 'attention_pool': - from ding.torch_utils import AttentionPool - self.attention_pool = AttentionPool(key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim) - elif self.cfg.entity_reduce_type == 'attention_pool_add_num': - from ding.torch_utils import AttentionPool - self.attention_pool = AttentionPool( - key_dim=self.cfg.output_dim, head_num=2, output_dim=self.cfg.output_dim, max_num=MAX_ENTITY_NUM + 1 - ) - - def forward(self, x: Dict[str, Tensor], entity_num): - entity_embedding = [] - for k, item in self.cfg.module.items(): - assert k in x.keys(), '{} not in {}'.format(k, x.keys()) - if item['arc'] == 'one_hot': - # check data - over_cross_data = x[k] >= item['num_embeddings'] - # if over_cross_data.any(): - # print(k, x[k][over_cross_data]) - lower_cross_data = x[k] < 0 - if lower_cross_data.any(): - print(k, x[k][lower_cross_data]) - raise RuntimeError - clipped_data = x[k].long().clamp_(max=item['num_embeddings'] - 1) - entity_embedding.append(self.encode_modules[k](clipped_data)) - elif item['arc'] == 'binary': - entity_embedding.append(self.encode_modules[k](x[k].long())) - elif item['arc'] == 'unsqueeze': - entity_embedding.append(x[k].float().unsqueeze(dim=-1)) - x = torch.cat(entity_embedding, dim=-1) - mask = sequence_mask(entity_num, max_len=x.shape[1]) - x = self.transformer(x, mask=mask) - entity_embeddings = self.entity_fc(self.act(x)) - - if self.cfg.entity_reduce_type in ['entity_num', 'selected_units_num']: - x_mask = x * mask.unsqueeze(dim=2) - embedded_entity = x_mask.sum(dim=1) / entity_num.unsqueeze(dim=-1) - elif self.cfg.entity_reduce_type == 'constant': - x_mask = x * mask.unsqueeze(dim=2) - embedded_entity = x_mask.sum(dim=1) / 512 - elif self.cfg.entity_reduce_type == 'attention_pool': - embedded_entity = self.attention_pool(x, mask=mask.unsqueeze(dim=2)) - elif self.cfg.entity_reduce_type == 'attention_pool_add_num': - embedded_entity = self.attention_pool(x, num=entity_num, mask=mask.unsqueeze(dim=2)) - else: - raise NotImplementedError - embedded_entity = self.embed_fc(embedded_entity) - return entity_embeddings, embedded_entity, mask diff --git a/dizoo/distar/model/obs_encoder/scalar_encoder.py b/dizoo/distar/model/obs_encoder/scalar_encoder.py deleted file mode 100644 index 14e02086bc..0000000000 --- a/dizoo/distar/model/obs_encoder/scalar_encoder.py +++ /dev/null @@ -1,143 +0,0 @@ -from typing import Dict -from torch import Tensor -import torch -import torch.nn as nn -import torch.nn.functional as F -from ding.torch_utils import fc_block, build_activation, Transformer -from .entity_encoder import get_binary_embed_mat - - -def compute_denominator(x: torch.Tensor, dim: int) -> torch.Tensor: - x = x // 2 * 2 - x = torch.div(x, dim) - x = torch.pow(10000., x) - x = torch.div(1., x) - return x - - -class BeginningBuildOrderEncoder(nn.Module): - - def __init__(self, cfg): - super(BeginningBuildOrderEncoder, self).__init__() - self.cfg = cfg - self.output_dim = self.cfg.output_dim - self.input_dim = self.cfg.action_one_hot_dim + 20 + self.cfg.binary_dim * 2 - self.act = build_activation(self.cfg.activation, inplace=True) - self.transformer = Transformer( - input_dim=self.input_dim, - head_dim=self.cfg.head_dim, - hidden_dim=self.cfg.output_dim * 2, - output_dim=self.cfg.output_dim - ) - self.embedd_fc = fc_block(self.cfg.output_dim, self.output_dim, activation=self.act) - self.action_one_hot = nn.Embedding.from_pretrained( - torch.eye(self.cfg.action_one_hot_dim), freeze=True, padding_idx=None - ) - self.order_one_hot = nn.Embedding.from_pretrained(torch.eye(20), freeze=True, padding_idx=None) - self.location_binary = nn.Embedding.from_pretrained( - get_binary_embed_mat(self.cfg.binary_dim), freeze=True, padding_idx=None - ) - - def _add_seq_info(self, x): - indices_one_hot = torch.zeros(size=(x.shape[1], x.shape[1]), device=x.device) - indices = torch.arange(x.shape[1], device=x.device).unsqueeze(dim=1) - indices_one_hot = indices_one_hot.scatter_(dim=-1, index=indices, value=1.) - indices_one_hot = indices_one_hot.unsqueeze(0).repeat(x.shape[0], 1, 1) # expand to batch dim - return torch.cat([x, indices_one_hot], dim=2) - - def forward(self, x, bo_location): - x = self.action_one_hot(x.long()) - x = self._add_seq_info(x) - location_x = bo_location % self.cfg.spatial_x - location_y = bo_location // self.cfg.spatial_x - location_x = self.location_binary(location_x.long()) - location_y = self.location_binary(location_y.long()) - x = torch.cat([x, location_x, location_y], dim=2) - assert len(x.shape) == 3 - x = self.transformer(x) - x = x.mean(dim=1) - x = self.embedd_fc(x) - return x - - -class ScalarEncoder(nn.Module): - - def __init__(self, cfg): - super(ScalarEncoder, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - self.keys = [] - self.scalar_context_keys = [] - self.baseline_feature_keys = [] - self.one_hot_keys = [] - - self.encode_modules = nn.ModuleDict() - - for k, item in self.cfg.module.items(): - if k == 'time': - continue - if item['arc'] == 'one_hot': - encoder = nn.Embedding(num_embeddings=item['num_embeddings'], embedding_dim=item['embedding_dim']) - torch.nn.init.xavier_uniform_(encoder.weight) - self.encode_modules[k] = encoder - self.one_hot_keys.append(k) - elif item['arc'] == 'fc': - encoder = fc_block(item['input_dim'], item['output_dim'], activation=self.act) - self.encode_modules[k] = encoder - if 'scalar_context' in item.keys() and item['scalar_context']: - self.scalar_context_keys.append(k) - if 'baseline_feature' in item.keys() and item['baseline_feature']: - self.baseline_feature_keys.append(k) - - self.position_array = torch.nn.Parameter( - compute_denominator( - torch.arange(0, self.cfg.module.time.output_dim, dtype=torch.float), self.cfg.module.time.output_dim - ), - requires_grad=False - ) - self.time_embedding_dim = self.cfg.module.time.output_dim - bo_cfg = self.cfg.module.beginning_order - self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(bo_cfg) - - def time_encoder(self, x: Tensor): - v = torch.zeros(size=(x.shape[0], self.time_embedding_dim), dtype=torch.float, device=x.device) - assert len(x.shape) == 1 - x = x.unsqueeze(dim=1) - v[:, 0::2] = torch.sin(x * self.position_array[0::2]) # even - v[:, 1::2] = torch.cos(x * self.position_array[1::2]) # odd - return v - - def forward(self, x: Dict[str, Tensor]): - embedded_scalar = [] - scalar_context = [] - baseline_feature = [] - - for key, item in self.cfg.module.items(): - assert key in x.keys(), key - if key == 'time': - continue - elif item['arc'] == 'one_hot': - # check data - over_cross_data = x[key] >= item['num_embeddings'] - if over_cross_data.any(): - print(key, x[key][over_cross_data]) - - x[key] = x[key].clamp_(max=item['num_embeddings'] - 1) - embedding = self.encode_modules[key](x[key].long()) - embedding = self.act(embedding) - elif key == 'beginning_order': - embedding = self.encode_modules[key](x[key].float(), x['bo_location'].long()) - else: - embedding = self.encode_modules[key](x[key].float()) - embedded_scalar.append(embedding) - if key in self.scalar_context_keys: - scalar_context.append(embedding) - if key in self.baseline_feature_keys: - baseline_feature.append(embedding) - time_embedding = self.time_encoder(x['time']) - embedded_scalar.append(time_embedding) - embedded_scalar = torch.cat(embedded_scalar, dim=1) - scalar_context = torch.cat(scalar_context, dim=1) - baseline_feature = torch.cat(baseline_feature, dim=1) - - return embedded_scalar, scalar_context, baseline_feature diff --git a/dizoo/distar/model/obs_encoder/spatial_encoder.py b/dizoo/distar/model/obs_encoder/spatial_encoder.py deleted file mode 100644 index 8bfda6fcfe..0000000000 --- a/dizoo/distar/model/obs_encoder/spatial_encoder.py +++ /dev/null @@ -1,96 +0,0 @@ -import math -from collections.abc import Sequence -import torch -import torch.nn as nn -import torch.nn.functional as F -from ding.torch_utils import conv2d_block, fc_block, build_activation, ResBlock, same_shape - - -class SpatialEncoder(nn.Module): - __constants__ = ['head_type'] - - def __init__(self, cfg): - super(SpatialEncoder, self).__init__() - self.cfg = cfg - self.act = build_activation(self.cfg.activation, inplace=True) - if self.cfg.norm_type == 'none': - self.norm = None - else: - self.norm = self.cfg.norm_type - self.project = conv2d_block( - self.cfg.input_dim, self.cfg.project_dim, 1, 1, 0, activation=self.act, norm_type=self.norm - ) - dims = [self.cfg.project_dim] + self.cfg.down_channels - self.down_channels = self.cfg.down_channels - self.encode_modules = nn.ModuleDict() - self.downsample = nn.ModuleList() - for k, item in self.cfg.module.items(): - if item['arc'] == 'one_hot': - self.encode_modules[k] = nn.Embedding.from_pretrained( - torch.eye(item['num_embeddings']), freeze=True, padding_idx=None - ) - for i in range(len(self.down_channels)): - if self.cfg.downsample_type == 'conv2d': - self.downsample.append( - conv2d_block(dims[i], dims[i + 1], 4, 2, 1, activation=self.act, norm_type=self.norm) - ) - elif self.cfg.downsample_type in ['avgpool', 'maxpool']: - self.downsample.append( - conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=self.act, norm_type=self.norm) - ) - else: - raise KeyError("invalid downsample module type :{}".format(type(self.cfg.downsample_type))) - self.res = nn.ModuleList() - self.head_type = self.cfg.get('head_type', 'pool') - dim = dims[-1] - self.resblock_num = self.cfg.resblock_num - for i in range(self.cfg.resblock_num): - self.res.append(ResBlock(dim, self.act, norm_type=self.norm)) - if self.head_type == 'fc': - self.fc = fc_block( - dim * self.cfg.spatial_y // 8 * self.cfg.spatial_x // 8, self.cfg.fc_dim, activation=self.act - ) - else: - self.gap = nn.AdaptiveAvgPool2d((1, 1)) - self.fc = fc_block(dim, self.cfg.fc_dim, activation=self.act) - - def forward(self, x, scatter_map): - embeddings = [] - for k, item in self.cfg.module.items(): - if item['arc'] == 'one_hot': - embedding = self.encode_modules[k](x[k].long()) - embedding = embedding.permute(0, 3, 1, 2) - embeddings.append(embedding) - elif item['arc'] == 'other': - assert k == 'height_map' - embeddings.append(x[k].unsqueeze(dim=1).float() / 256) - elif item['arc'] == 'scatter': - bs, shape_x, shape_y = x[k].shape[0], self.cfg.spatial_x, self.cfg.spatial_y - embedding = torch.zeros(bs * shape_y * shape_x, device=x[k].device) - bias = torch.arange(bs, device=x[k].device).unsqueeze(dim=1) * shape_y * shape_x - x[k] = x[k] + bias - x[k] = x[k].view(-1) - embedding[x[k].long()] = 1. - embedding = embedding.view(bs, 1, shape_y, shape_x) - embeddings.append(embedding) - embeddings.append(scatter_map) - x = torch.cat(embeddings, dim=1) - x = self.project(x) - map_skip = [] - for i in range(len(self.downsample)): - map_skip.append(x) - if self.cfg.downsample_type == 'avgpool': - x = torch.nn.functional.avg_pool2d(x, 2, 2) - elif self.cfg.downsample_type == 'maxpool': - x = torch.nn.functional.max_pool2d(x, 2, 2) - x = self.downsample[i](x) - for block in self.res: - map_skip.append(x) - x = block(x) - if isinstance(x, torch.Tensor): - if self.head_type != 'fc': - x = self.gap(x) - - x = x.view(x.shape[0], -1) - x = self.fc(x) - return x, map_skip diff --git a/dizoo/distar/model/obs_encoder/value_encoder.py b/dizoo/distar/model/obs_encoder/value_encoder.py deleted file mode 100644 index ef87a03766..0000000000 --- a/dizoo/distar/model/obs_encoder/value_encoder.py +++ /dev/null @@ -1,84 +0,0 @@ -import torch -import torch.nn as nn -import torch.nn.functional as F -from ding.torch_utils import fc_block, build_activation, conv2d_block, ResBlock, same_shape, sequence_mask, \ - Transformer, scatter_connection_v2 -from dizoo.distar.envs import BEGIN_ACTIONS -from .spatial_encoder import SpatialEncoder -from .scalar_encoder import BeginningBuildOrderEncoder - - -class ValueEncoder(nn.Module): - - def __init__(self, cfg): - super(ValueEncoder, self).__init__() - self.whole_cfg = cfg - self.cfg = cfg.encoder - self.act = build_activation('relu', inplace=True) - self.encode_modules = nn.ModuleDict() - for k, item in self.cfg.modules.items(): - if item['arc'] == 'fc': - self.encode_modules[k] = fc_block(item['input_dim'], item['output_dim'], activation=self.act) - elif item['arc'] == 'one_hot': - self.encode_modules[k] = nn.Embedding( - num_embeddings=item['num_embeddings'], embedding_dim=item['embedding_dim'] - ) - - bo_cfg = self.cfg.modules.beginning_order - self.encode_modules['beginning_order'] = BeginningBuildOrderEncoder(bo_cfg) - self.scatter_project = fc_block( - self.cfg.scatter.scatter_input_dim, self.cfg.scatter.scatter_dim, activation=self.act - ) - self.scatter_type = self.cfg.scatter.scatter_type - self.scatter_dim = self.cfg.scatter.scatter_dim - - self.project = conv2d_block( - self.cfg.spatial.input_dim, self.cfg.spatial.project_dim, 1, 1, 0, activation=self.act - ) - down_layers = [] - dims = [self.cfg.spatial.project_dim] + self.cfg.spatial.down_channels - for i in range(len(self.cfg.spatial.down_channels)): - down_layers.append(nn.MaxPool2d(2, 2)) - down_layers.append(conv2d_block(dims[i], dims[i + 1], 3, 1, 1, activation=self.act)) - self.downsample = nn.Sequential(*down_layers) - dim = dims[-1] - self.resblock_num = self.cfg.spatial.resblock_num - self.res = nn.ModuleList() - for i in range(self.resblock_num): - self.res.append(ResBlock(dim, self.act, norm_type=None)) - self.spatial_fc = fc_block( - dim * self.whole_cfg.spatial_y // 8 * self.whole_cfg.spatial_x // 8, - self.cfg.spatial.spatial_fc_dim, - activation=self.act - ) - - def forward(self, x): - spatial_embedding = [] - fc_embedding = [] - for k, item in self.cfg.modules.items(): - if item['arc'] == 'fc': - embedding = self.encode_modules[k](x[k].float()) - fc_embedding.append(embedding) - if item['arc'] == 'one_hot': - embedding = self.encode_modules[k](x[k].long()) - spatial_embedding.append(embedding) - - bo_embedding = self.encode_modules['beginning_order'](x['beginning_order'].float(), x['bo_location'].long()) - fc_embedding = torch.cat(fc_embedding, dim=-1) - spatial_embedding = torch.cat(spatial_embedding, dim=-1) - project_embedding = self.scatter_project(spatial_embedding) - unit_mask = sequence_mask(x['total_unit_count'], max_len=project_embedding.shape[1]) - project_embedding = project_embedding * unit_mask.unsqueeze(dim=2) - entity_location = torch.cat([x['unit_x'].unsqueeze(dim=-1), x['unit_y'].unsqueeze(dim=-1)], dim=-1) - b, c, h, w = x['own_units_spatial'].shape - scatter_map = scatter_connection_v2( - (b, h, w), project_embedding, entity_location, self.scatter_dim, self.scatter_type - ) - spatial_x = torch.cat([scatter_map, x['own_units_spatial'].float(), x['enemy_units_spatial'].float()], dim=1) - spatial_x = self.project(spatial_x) - spatial_x = self.downsample(spatial_x) - for i in range(self.resblock_num): - spatial_x = self.res[i](spatial_x) - spatial_x = self.spatial_fc(spatial_x.view(spatial_x.shape[0], -1)) - x = torch.cat([fc_embedding, spatial_x, bo_embedding], dim=-1) - return x diff --git a/dizoo/distar/model/policy.py b/dizoo/distar/model/policy.py deleted file mode 100644 index 45b7d24604..0000000000 --- a/dizoo/distar/model/policy.py +++ /dev/null @@ -1,78 +0,0 @@ -from typing import List, Dict, Optional -from torch import Tensor -import torch -import torch.nn as nn - -from dizoo.distar.envs import SELECTED_UNITS_MASK -from .head import DelayHead, QueuedHead, SelectedUnitsHead, TargetUnitHead, LocationHead, ActionTypeHead - - -class Policy(nn.Module): - - def __init__(self, cfg): - super(Policy, self).__init__() - self.cfg = cfg.policy - self.action_type_head = ActionTypeHead(self.cfg.head.action_type_head) - self.delay_head = DelayHead(self.cfg.head.delay_head) - self.queued_head = QueuedHead(self.cfg.head.queued_head) - self.selected_units_head = SelectedUnitsHead(self.cfg.head.selected_units_head) - self.target_unit_head = TargetUnitHead(self.cfg.head.target_unit_head) - self.location_head = LocationHead(self.cfg.head.location_head) - - def forward( - self, lstm_output: Tensor, entity_embeddings: Tensor, map_skip: List[Tensor], scalar_context: Tensor, - entity_num: Tensor - ): - action = torch.jit.annotate(Dict[str, Tensor], {}) - logit = torch.jit.annotate(Dict[str, Tensor], {}) - - # action type - logit['action_type'], action['action_type'], embeddings = self.action_type_head(lstm_output, scalar_context) - - #action arg delay - logit['delay'], action['delay'], embeddings = self.delay_head(embeddings) - - logit['queued'], action['queued'], embeddings = self.queued_head(embeddings) - - # selected_units_head cannot be compiled to onnx due to indice - su_mask = SELECTED_UNITS_MASK[action['action_type']] - logit['selected_units'], action['selected_units' - ], embeddings, selected_units_num, extra_units = self.selected_units_head( - embeddings, entity_embeddings, entity_num, None, None, su_mask - ) - - logit['target_unit'], action['target_unit'] = self.target_unit_head(embeddings, entity_embeddings, entity_num) - - logit['target_location'], action['target_location'] = self.location_head(embeddings, map_skip) - - return action, selected_units_num, logit, extra_units - - def train_forward( - self, lstm_output, entity_embeddings, map_skip: List[Tensor], scalar_context, entity_num, action_info, - selected_units_num - ): - action = torch.jit.annotate(Dict[str, Tensor], {}) - logit = torch.jit.annotate(Dict[str, Tensor], {}) - - # action type - logit['action_type'], action['action_type'], embeddings = self.action_type_head( - lstm_output, scalar_context, action_info['action_type'] - ) - - # action arg delay - logit['delay'], action['delay'], embeddings = self.delay_head(embeddings, action_info['delay']) - - logit['queued'], action['queued'], embeddings = self.queued_head(embeddings, action_info['queued']) - - logit['selected_units'], action['selected_units'], embeddings, selected_units_num, _ = self.selected_units_head( - embeddings, entity_embeddings, entity_num, selected_units_num, action_info['selected_units'] - ) - - logit['target_unit'], action['target_unit'] = self.target_unit_head( - embeddings, entity_embeddings, entity_num, action_info['target_unit'] - ) - - logit['target_location'], action['target_location'] = self.location_head( - embeddings, map_skip, action_info['target_location'] - ) - return action, selected_units_num, logit diff --git a/dizoo/distar/model/tests/test_encoder.py b/dizoo/distar/model/tests/test_encoder.py deleted file mode 100644 index 1e64a0701b..0000000000 --- a/dizoo/distar/model/tests/test_encoder.py +++ /dev/null @@ -1,31 +0,0 @@ -from easydict import EasyDict -import pytest -import torch -from ding.utils import read_yaml_config -from ding.utils.data import default_collate -from dizoo.distar.model.encoder import Encoder -from dizoo.distar.envs.fake_data import scalar_info, entity_info, spatial_info - - -@pytest.mark.envtest -def test_encoder(): - B, M = 4, 512 - cfg = read_yaml_config('../actor_critic_default_config.yaml') - cfg = EasyDict(cfg) - encoder = Encoder(cfg) - print(encoder) - - spatial_info_data = default_collate([spatial_info() for _ in range(B)]) - entity_info_data = default_collate([entity_info() for _ in range(B)]) - scalar_info_data = default_collate([scalar_info() for _ in range(B)]) - entity_num = torch.randint(M // 2, M, size=(B, )) - entity_num[-1] = M - - lstm_input, scalar_context, baseline_feature, entity_embeddings, map_skip = encoder( - spatial_info_data, entity_info_data, scalar_info_data, entity_num - ) - assert lstm_input.shape == (B, 1536) - assert scalar_context.shape == (B, 448) - assert baseline_feature.shape == (B, 512) - assert entity_embeddings.shape == (B, 512, 256) - assert isinstance(map_skip, list) and len(map_skip) == 7 diff --git a/dizoo/distar/model/tests/test_head.py b/dizoo/distar/model/tests/test_head.py deleted file mode 100644 index 4408f39df5..0000000000 --- a/dizoo/distar/model/tests/test_head.py +++ /dev/null @@ -1,119 +0,0 @@ -import pytest -import torch -from easydict import EasyDict -from ding.utils import read_yaml_config -from dizoo.distar.model.head import ActionTypeHead, DelayHead, SelectedUnitsHead, TargetUnitHead, LocationHead, \ - QueuedHead -B, ENTITY = 4, 128 -total_config = EasyDict(read_yaml_config('../actor_critic_default_config.yaml')) - - -@pytest.mark.envtest -class TestHead(): - - def test_action_type_head(self): - cfg = total_config.model.policy.head.action_type_head - head = ActionTypeHead(cfg) - lstm_output = torch.randn(B, cfg.input_dim) - scalar_context = torch.randn(B, cfg.context_dim) - - logit, action_type, embedding = head(lstm_output, scalar_context) - assert logit.shape == (B, 327) - assert action_type.shape == (B, ) - assert embedding.shape == (B, cfg.gate_dim) - - logit, output_action_type, embedding = head(lstm_output, scalar_context, action_type) - assert logit.shape == (B, 327) - assert embedding.shape == (B, cfg.gate_dim) - assert output_action_type.eq(action_type).all() - - def test_delay_head(self): - cfg = total_config.model.policy.head.delay_head - head = DelayHead(cfg) - inputs = torch.randn(B, cfg.input_dim) - - logit, delay, embedding = head(inputs) - assert logit.shape == (B, cfg.delay_dim) - assert delay.shape == (B, ) - assert embedding.shape == (B, cfg.input_dim) - - logit, output_delay, embedding = head(inputs, delay) - assert logit.shape == (B, cfg.delay_dim) - assert embedding.shape == (B, cfg.input_dim) - assert output_delay.eq(delay).all() - - def test_queued_head(self): - cfg = total_config.model.policy.head.queued_head - head = QueuedHead(cfg) - inputs = torch.randn(B, cfg.input_dim) - - logit, queued, embedding = head(inputs) - assert logit.shape == (B, cfg.queued_dim) - assert queued.shape == (B, ) - assert embedding.shape == (B, cfg.input_dim) - - logit, output_queued, embedding = head(inputs, queued) - assert logit.shape == (B, cfg.queued_dim) - assert embedding.shape == (B, cfg.input_dim) - assert output_queued.eq(queued).all() - - def test_target_unit_head(self): - cfg = total_config.model.policy.head.target_unit_head - head = TargetUnitHead(cfg) - inputs = torch.randn(B, cfg.input_dim) - entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) - entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) - entity_num[-1] = ENTITY - - logit, target_unit = head(inputs, entity_embedding, entity_num) - assert logit.shape == (B, ENTITY) - assert target_unit.shape == (B, ) - - logit, output_target_unit = head(inputs, entity_embedding, entity_num, target_unit) - assert logit.shape == (B, ENTITY) - assert output_target_unit.eq(target_unit).all() - - def test_location_head(self): - cfg = total_config.model.policy.head.location_head - head = LocationHead(cfg) - inputs = torch.randn(B, cfg.input_dim) - Y, X = cfg.spatial_y, cfg.spatial_x - map_skip = [torch.randn(B, cfg.res_dim, Y // 8, X // 8) for _ in range(cfg.res_num)] - - logit, location = head(inputs, map_skip) - assert logit.shape == (B, Y * X) - assert location.shape == (B, ) - - logit, output_location = head(inputs, map_skip, location) - assert logit.shape == (B, Y * X) - assert output_location.eq(location).all() - - def test_selected_units_head(self): - cfg = total_config.model.policy.head.selected_units_head - head = SelectedUnitsHead(cfg) - inputs = torch.randn(B, cfg.input_dim) - entity_embedding = torch.rand(B, ENTITY, cfg.entity_embedding_dim) - entity_num = torch.randint(ENTITY // 2, ENTITY, size=(B, )) - entity_num[-1] = ENTITY - su_mask = torch.randint(0, 2, size=(B, )).bool() - su_mask[-1] = 1 - - logit, selected_units, embedding, selected_units_num, extra_units = head( - inputs, entity_embedding, entity_num, su_mask=su_mask - ) - N = selected_units_num.max() - assert embedding.shape == (B, cfg.input_dim) - assert logit.shape == (B, N, ENTITY + 1) - assert selected_units.shape == (B, N) - assert selected_units_num.shape == (B, ) - assert extra_units.shape == (B, ENTITY + 1) - - selected_units_num = selected_units_num.clamp(0, 64) - logit, output_selected_units, embedding, selected_units_num, extra_units = head( - inputs, entity_embedding, entity_num, selected_units_num, selected_units, su_mask - ) - N = selected_units_num.max() - assert embedding.shape == (B, cfg.input_dim) - assert logit.shape == (B, N, ENTITY + 1) - assert extra_units is None - assert output_selected_units.eq(selected_units).all() diff --git a/dizoo/distar/model/tests/test_value.py b/dizoo/distar/model/tests/test_value.py deleted file mode 100644 index fcaa0bbaf7..0000000000 --- a/dizoo/distar/model/tests/test_value.py +++ /dev/null @@ -1,23 +0,0 @@ -import pytest -import torch -from dizoo.distar.model.value import ValueBaseline - - -@pytest.mark.envtest -def test_value_baseline(): - - class CFG: - - def __init__(self): - self.activation = 'relu' - self.norm_type = 'LN' - self.input_dim = 1024 - self.res_dim = 256 - self.res_num = 16 - self.use_value_feature = False - self.atan = True - - model = ValueBaseline(CFG()) - inputs = torch.randn(4, 1024) - output = model(inputs) - assert (output.shape == (4, )) diff --git a/dizoo/distar/model/value.py b/dizoo/distar/model/value.py deleted file mode 100644 index b3e76e5f9d..0000000000 --- a/dizoo/distar/model/value.py +++ /dev/null @@ -1,38 +0,0 @@ -import torch -import torch.nn as nn -import torch.nn.functional as F -import numpy as np -from ding.torch_utils import fc_block, build_activation, ResFCBlock - - -class ValueBaseline(nn.Module): - ''' - Network to be applied on each baseline input, parameters for the current baseline are defined in the cfg - - input_dim res_dim res_dim 1 - x -> fc (norm & act) -> ResFCBlock*res_num -> fc (no norm no act) -> atan act -> value - ''' - - def __init__(self, cfg): - super(ValueBaseline, self).__init__() - self.act = build_activation(cfg.activation, inplace=True) - if cfg.use_value_feature: - input_dim = cfg.input_dim + 1056 - else: - input_dim = cfg.input_dim - self.project = fc_block(input_dim, cfg.res_dim, activation=self.act, norm_type=None) - blocks = [ResFCBlock(cfg.res_dim, self.act, cfg.norm_type) for _ in range(cfg.res_num)] - self.res = nn.Sequential(*blocks) - self.value_fc = fc_block(cfg.res_dim, 1, activation=None, norm_type=None, init_gain=0.1) - self.atan = cfg.atan - self.PI = np.pi - - def forward(self, x): - x = self.project(x) - x = self.res(x) - x = self.value_fc(x) - - x = x.squeeze(1) - if self.atan: - x = (2.0 / self.PI) * torch.atan((self.PI / 2.0) * x) - return x diff --git a/dizoo/distar/policy/__init__.py b/dizoo/distar/policy/__init__.py deleted file mode 100644 index 061c38a426..0000000000 --- a/dizoo/distar/policy/__init__.py +++ /dev/null @@ -1 +0,0 @@ -from .distar_policy import DIStarPolicy diff --git a/dizoo/distar/policy/distar_policy.py b/dizoo/distar/policy/distar_policy.py deleted file mode 100644 index 57809ff5cc..0000000000 --- a/dizoo/distar/policy/distar_policy.py +++ /dev/null @@ -1,900 +0,0 @@ -from logging.config import DEFAULT_LOGGING_CONFIG_PORT -from typing import Dict, Optional, List -from easydict import EasyDict -import os.path as osp -import torch -from torch.optim import Adam -import random -from functools import partial -from copy import deepcopy -import os.path as osp -from typing import Any -from ditk import logging -import pickle -import os -import time - -from ding.framework import task -from ding.model import model_wrap -from ding.policy import Policy -from ding.torch_utils import to_device, levenshtein_distance, l2_distance, hamming_distance -from ding.rl_utils import td_lambda_data, td_lambda_error, vtrace_data_with_rho, vtrace_error_with_rho, \ - upgo_data, upgo_error -from ding.utils import EasyTimer -from ding.utils.data import default_collate, default_decollate -from ding.envs.env.base_env import BaseEnvTimestep -from dizoo.distar.model import Model -from dizoo.distar.envs import NUM_UNIT_TYPES, ACTIONS, NUM_CUMULATIVE_STAT_ACTIONS, DEFAULT_SPATIAL_SIZE, BEGINNING_ORDER_LENGTH, BEGINNING_ORDER_ACTIONS, UNIT_TO_CUM, UPGRADE_TO_CUM, UNIT_ABILITY_TO_ACTION, QUEUE_ACTIONS, CUMULATIVE_STAT_ACTIONS,\ - Stat, parse_new_game, transform_obs, compute_battle_score -from .utils import collate_fn_learn, kl_error, entropy_error - - -class DIStarPolicy(Policy): - config = dict( - type='distar', - on_policy=False, - cuda=True, - learning_rate=1e-5, - model=dict(), - # learn - learn=dict(multi_gpu=False, ), - loss_weights=dict( - baseline=dict( - winloss=10.0, - build_order=0.0, - built_unit=0.0, - effect=0.0, - upgrade=0.0, - battle=0.0, - ), - vtrace=dict( - winloss=1.0, - build_order=0.0, - built_unit=0.0, - effect=0.0, - upgrade=0.0, - battle=0.0, - ), - upgo=dict(winloss=1.0, ), - kl=0.02, - action_type_kl=0.1, - entropy=0.0001, - ), - vtrace_head_weights=dict( - action_type=1.0, - delay=1.0, - queued=1.0, - select_unit_num_logits=1.0, - selected_units=0.01, - target_unit=1.0, - target_location=1.0, - ), - upgo_head_weights=dict( - action_type=1.0, - delay=1.0, - queued=1.0, - select_unit_num_logits=1.0, - selected_units=0.01, - target_unit=1.0, - target_location=1.0, - ), - entropy_head_weights=dict( - action_type=1.0, - delay=1.0, - queued=1.0, - select_unit_num_logits=1.0, - selected_units=0.01, - target_unit=1.0, - target_location=1.0, - ), - kl_head_weights=dict( - action_type=1.0, - delay=1.0, - queued=1.0, - select_unit_num_logits=1.0, - selected_units=0.01, - target_unit=1.0, - target_location=1.0, - ), - kl=dict(action_type_kl_steps=2400, ), - gammas=dict( - baseline=dict( - winloss=1.0, - build_order=1.0, - built_unit=1.0, - effect=1.0, - upgrade=1.0, - battle=0.997, - ), - pg=dict( - winloss=1.0, - build_order=1.0, - built_unit=1.0, - effect=1.0, - upgrade=1.0, - battle=0.997, - ), - ), - grad_clip=dict(threshold=1.0, ), - # collect - use_value_feature=True, # TODO(zms): whether to use value feature, this must be False when play against bot - zero_z_exceed_loop=True, # set Z to 0 if game passes the game loop in Z - fake_reward_prob=0.0, # probablity which set Z to 0 - zero_z_value=1, # value used for 0Z - extra_units=True, # selcet extra units if selected units exceed 64 - clip_bo=False, # clip the length of teacher's building order to agent's length - z_path='7map_filter_spine.json', - realtime=False, #TODO(zms): set from env, need to use only one cfg define policy and env - model_path='sl_model.pth', - teacher_model_path='sl_model.pth', - value_pretrain_iters=4000, - ) - - def _create_model( - self, - cfg: EasyDict, - model: Optional[torch.nn.Module] = None, - enable_field: Optional[List[str]] = None - ) -> torch.nn.Module: - assert model is None, "not implemented user-defined model" - assert len(enable_field) == 1, "only support distributed enable policy" - field = enable_field[0] - if field == 'learn': - return Model(self._cfg.model, use_value_network=True) - elif field == 'collect': # disable value network - return Model(self._cfg.model) - else: - raise KeyError("invalid policy mode: {}".format(field)) - - def _init_learn(self): - self._learn_model = model_wrap(self._model, 'base') - # TODO(zms): maybe initialize state_dict inside learner - learn_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) - - learn_state_dict = torch.load(learn_model_path, map_location=self._device) - - self._load_state_dict_learn(learn_state_dict) - - self.head_types = ['action_type', 'delay', 'queued', 'target_unit', 'selected_units', 'target_location'] - # policy parameters - self.gammas = self._cfg.gammas - self.loss_weights = self._cfg.loss_weights - self.action_type_kl_steps = self._cfg.kl.action_type_kl_steps - self.vtrace_head_weights = self._cfg.vtrace_head_weights - self.upgo_head_weights = self._cfg.upgo_head_weights - self.entropy_head_weights = self._cfg.entropy_head_weights - self.kl_head_weights = self._cfg.kl_head_weights - self._only_update_value = False - self._remain_value_pretrain_iters = self._cfg.value_pretrain_iters - - # optimizer - self.optimizer = Adam( - self._learn_model.parameters(), - lr=self._cfg.learning_rate, - betas=(0, 0.99), - eps=1e-5, - ) - # utils - self.timer = EasyTimer(cuda=self._cuda) - - def _step_value_pretrain(self): - if self._remain_value_pretrain_iters > 0: - self._only_update_value = True - self._remain_value_pretrain_iters -= 1 - self._learn_model._model._model.only_update_baseline = True - - elif self._remain_value_pretrain_iters == 0: - self._only_update_value = False - self._remain_value_pretrain_iters -= 1 - self._learn_model._model._model.only_update_baseline = False - - def _forward_learn(self, inputs: Dict): - # =========== - # pre-process - # =========== - self._step_value_pretrain() - if self._cuda: - inputs = to_device(inputs, self._device) - inputs = collate_fn_learn(inputs) - - self._learn_model.train() - - # ============= - # model forward - # ============= - # create loss show dict - loss_info_dict = {} - with self.timer: - model_output = self._learn_model.rl_learn_forward(**inputs) - loss_info_dict['model_forward_time'] = self.timer.value - - # =========== - # preparation - # =========== - target_policy_logits_dict = model_output['target_logit'] # shape (T,B) - baseline_values_dict = model_output['value'] # shape (T+1,B) - behavior_action_log_probs_dict = model_output['action_log_prob'] # shape (T,B) - teacher_policy_logits_dict = model_output['teacher_logit'] # shape (T,B) - masks_dict = model_output['mask'] # shape (T,B) - actions_dict = model_output['action'] # shape (T,B) - rewards_dict = model_output['reward'] # shape (T,B) - game_steps = model_output['step'] # shape (T,B) target_action_log_prob - - flag = rewards_dict['winloss'][-1] == 0 - for filed in baseline_values_dict.keys(): - baseline_values_dict[filed][-1] *= flag - - # create preparation info dict - target_policy_probs_dict = {} - target_policy_log_probs_dict = {} - target_action_log_probs_dict = {} - clipped_rhos_dict = {} - - # ============================================================ - # get distribution info for behavior policy and target policy - # ============================================================ - for head_type in self.head_types: - # take info from correspondent input dict - target_policy_logits = target_policy_logits_dict[head_type] - actions = actions_dict[head_type] - # compute target log_probs, probs(for entropy,kl), target_action_log_probs, log_rhos(for pg_loss, upgo_loss) - pi_target = torch.distributions.Categorical(logits=target_policy_logits) - target_policy_probs = pi_target.probs - target_policy_log_probs = pi_target.logits - target_action_log_probs = pi_target.log_prob(actions) - behavior_action_log_probs = behavior_action_log_probs_dict[head_type] - - with torch.no_grad(): - log_rhos = target_action_log_probs - behavior_action_log_probs - if head_type == 'selected_units': - log_rhos *= masks_dict['selected_units_mask'] - log_rhos = log_rhos.sum(dim=-1) - rhos = torch.exp(log_rhos) - clipped_rhos = rhos.clamp_(max=1) - # save preparation results to correspondent dict - target_policy_probs_dict[head_type] = target_policy_probs - target_policy_log_probs_dict[head_type] = target_policy_log_probs - if head_type == 'selected_units': - target_action_log_probs.masked_fill_(~masks_dict['selected_units_mask'], 0) - target_action_log_probs = target_action_log_probs.sum(-1) - target_action_log_probs_dict[head_type] = target_action_log_probs - # log_rhos_dict[head_type] = log_rhos - clipped_rhos_dict[head_type] = clipped_rhos - - # ==================== - # vtrace loss - # ==================== - total_vtrace_loss = 0. - vtrace_loss_dict = {} - - for field, baseline in baseline_values_dict.items(): - baseline_value = baseline_values_dict[field] - reward = rewards_dict[field] - for head_type in self.head_types: - weight = self.vtrace_head_weights[head_type] - if head_type not in ['action_type', 'delay']: - weight = weight * masks_dict['actions_mask'][head_type] - # if field in ['build_order', 'built_unit', 'effect']: - # weight = weight * masks_dict[field + '_mask'] - - data_item = vtrace_data_with_rho( - target_action_log_probs_dict[head_type], clipped_rhos_dict[head_type], baseline_value, reward, - weight - ) - vtrace_loss_item = vtrace_error_with_rho(data_item, gamma=1.0, lambda_=1.0) - - vtrace_loss_dict['vtrace/' + field + '/' + head_type] = vtrace_loss_item.item() - total_vtrace_loss += self.loss_weights.vtrace[field] * self.vtrace_head_weights[head_type - ] * vtrace_loss_item - - loss_info_dict.update(vtrace_loss_dict) - - # =========== - # upgo loss - # =========== - upgo_loss_dict = {} - total_upgo_loss = 0. - for head_type in self.head_types: - weight = self.upgo_head_weights[head_type] - if head_type not in ['action_type', 'delay']: - weight = weight * masks_dict['actions_mask'][head_type] - - data_item = upgo_data( - target_action_log_probs_dict[head_type], clipped_rhos_dict[head_type], baseline_values_dict['winloss'], - rewards_dict['winloss'], weight - ) - upgo_loss_item = upgo_error(data_item) - - total_upgo_loss += upgo_loss_item - upgo_loss_dict['upgo/' + head_type] = upgo_loss_item.item() - total_upgo_loss *= self.loss_weights.upgo.winloss - loss_info_dict.update(upgo_loss_dict) - - # =========== - # critic loss - # =========== - total_critic_loss = 0. - # field is from ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle'] - for field, baseline in baseline_values_dict.items(): - reward = rewards_dict[field] - # Notice: in general, we need to include done when we consider discount factor, but in our implementation - # of alphastar, traj_data(with size equal to unroll-len) sent from actor comes from the same episode. - # If the game is draw, we don't consider it is actually done - # if field in ['build_order', 'built_unit', 'effect']: - # weight = masks_dict[[field + '_mask']] - # else: - # weight = None - weight = None - - field_data = td_lambda_data(baseline, reward, weight) - critic_loss = td_lambda_error(field_data, gamma=self.gammas.baseline[field]) - - total_critic_loss += self.loss_weights.baseline[field] * critic_loss - loss_info_dict['td/' + field] = critic_loss.item() - loss_info_dict['reward/' + field] = reward.float().mean().item() - loss_info_dict['value/' + field] = baseline.mean().item() - loss_info_dict['reward/battle'] = rewards_dict['battle'].float().mean().item() - - # ============ - # entropy loss - # ============ - total_entropy_loss, entropy_dict = \ - entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, masks_dict, - head_weights_dict=self.entropy_head_weights) - - total_entropy_loss *= self.loss_weights.entropy - loss_info_dict.update(entropy_dict) - - # ======= - # kl loss - # ======= - total_kl_loss, action_type_kl_loss, kl_loss_dict = \ - kl_error(target_policy_log_probs_dict, teacher_policy_logits_dict, masks_dict, game_steps, - action_type_kl_steps=self.action_type_kl_steps, head_weights_dict=self.kl_head_weights) - total_kl_loss *= self.loss_weights.kl - action_type_kl_loss *= self.loss_weights.action_type_kl - loss_info_dict.update(kl_loss_dict) - - # ====== - # update - # ====== - - if self._only_update_value: - total_loss = total_critic_loss - else: - total_loss = ( - total_vtrace_loss + total_upgo_loss + total_critic_loss + total_entropy_loss + total_kl_loss + - action_type_kl_loss - ) - with self.timer: - self.optimizer.zero_grad() - total_loss.backward() - if self._cfg.learn.multi_gpu: - self.sync_gradients(self._learn_model) - gradient = torch.nn.utils.clip_grad_norm_(self._learn_model.parameters(), self._cfg.grad_clip.threshold, 2) - self.optimizer.step() - - loss_info_dict['backward_time'] = self.timer.value - loss_info_dict['total_loss'] = total_loss - loss_info_dict['gradient'] = gradient - return loss_info_dict - - def _monitor_var_learn(self): - ret = ['total_loss', 'kl/extra_at', 'gradient', 'backward_time', 'model_forward_time'] - for k1 in ['winloss', 'build_order', 'built_unit', 'effect', 'upgrade', 'battle', 'upgo', 'kl', 'entropy']: - for k2 in ['reward', 'value', 'td', 'action_type', 'delay', 'queued', 'selected_units', 'target_unit', - 'target_location']: - ret.append(k1 + '/' + k2) - return ret - - def _state_dict(self) -> Dict: - return { - 'model': self._learn_model.state_dict(), - 'optimizer': self.optimizer.state_dict(), - } - - def _load_state_dict_learn(self, _state_dict: Dict) -> None: - self._learn_model.load_state_dict(_state_dict['model'], strict=False) - if 'optimizer' in _state_dict: - self.optimizer.load_state_dict(_state_dict['optimizer']) - del _state_dict - - def _load_state_dict_collect(self, _state_dict: Dict) -> None: - #TODO(zms): need to load state_dict after collect, which is very dirty and need to rewrite - if not self._cuda: - _state_dict = to_device(_state_dict, self._device) - if 'map_name' in _state_dict: - # map_names.append(_state_dict['map_name']) - self.fake_reward_prob = _state_dict['fake_reward_prob'] - # agent._z_path = state_dict['z_path'] - self.z_idx = _state_dict['z_idx'] - _state_dict = {k: v for k, v in _state_dict['model'].items() if 'value_networks' not in k} - - self._collect_model.load_state_dict(_state_dict, strict=False) - del _state_dict - - def _init_collect(self): - self._collect_model = model_wrap(self._model, 'base') - # TODO(zms): maybe initialize state_dict inside actor - collect_model_path = osp.join(osp.dirname(__file__), self._cfg.model_path) - - collect_state_dict = torch.load(collect_model_path, self._device) - - self._load_state_dict_collect(collect_state_dict) - del collect_state_dict - - self.only_cum_action_kl = False - self.z_path = self._cfg.z_path - self.z_idx = None - self.bo_norm = 20 #TODO(nyz): set from cfg - self.cum_norm = 30 #TODO(nyz): set from cfg - self.battle_norm = 30 #TODO(nyz): set from cfg - self.fake_reward_prob = self._cfg.fake_reward_prob - self.clip_bo = self._cfg.clip_bo - self.cum_type = 'action' # observation or action - self.realtime = self._cfg.realtime - self.teacher_model = model_wrap(Model(self._cfg.model), 'base') - if self._cuda: - self.teacher_model = self.teacher_model.cuda() - teacher_model_path = osp.join(osp.dirname(__file__), self._cfg.teacher_model_path) - print("self._cuda is ", self._cuda) - - t_state_dict = torch.load(teacher_model_path, self._device) - - teacher_state_dict = {k: v for k, v in t_state_dict['model'].items() if 'value_networks' not in k} - self.teacher_model.load_state_dict(teacher_state_dict) - # TODO(zms): load teacher_model's state_dict when init policy. - del t_state_dict - - def _reset_collect(self, data: Dict): - self.exceed_loop_flag = False - self.map_name = data['map_name'] - hidden_size = 384 # TODO(nyz) set from cfg - num_layers = 3 - self.hidden_state = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] - self.last_action_type = torch.tensor(0, dtype=torch.long) - self.last_delay = torch.tensor(0, dtype=torch.long) - self.last_queued = torch.tensor(0, dtype=torch.long) - self.last_selected_unit_tags = None - self.last_targeted_unit_tag = None - self.last_location = None # [x, y] - self.enemy_unit_type_bool = torch.zeros(NUM_UNIT_TYPES, dtype=torch.uint8) - # TODO(zms): need to move obs and policy_output inside rolloutor, but for each step, - # it is possible that only one policy in the two has observation and output, so for now just leave it here. - self.obs = None - self.policy_output = None - self.model_last_iter = 0 - self.game_step = 0 # step * 10 is game duration time - self.behavior_building_order = [] # idx in BEGINNING_ORDER_ACTIONS - self.behavior_bo_location = [] - self.bo_zergling_count = 0 - self.behavior_cumulative_stat = [0] * NUM_CUMULATIVE_STAT_ACTIONS - - self.hidden_state_backup = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] - self.teacher_hidden_state = [(torch.zeros(hidden_size), torch.zeros(hidden_size)) for _ in range(num_layers)] - - race, requested_race, map_size, target_building_order, target_cumulative_stat, bo_location, target_z_loop, z_type, _born_location = parse_new_game( - data, self.z_path, self.z_idx - ) - self.born_location = _born_location - self.use_cum_reward = True - self.use_bo_reward = True - if z_type is not None: - if z_type == 2 or z_type == 3: - self.use_cum_reward = False - if z_type == 1 or z_type == 3: - self.use_bo_reward = False - if random.random() > self.fake_reward_prob: - self.use_cum_reward = False - if random.random() > self.fake_reward_prob: - self.use_bo_reward = False - - self.bo_norm = len(target_building_order) - self.cum_norm = len(target_cumulative_stat) - - self.race = race # home_race - self.requested_race = requested_race - self.map_size = map_size - self.target_z_loop = target_z_loop - self.stat = Stat(self.race) - - self.target_building_order = torch.tensor(target_building_order, dtype=torch.long) - self.target_bo_location = torch.tensor(bo_location, dtype=torch.long) - self.target_cumulative_stat = torch.zeros(NUM_CUMULATIVE_STAT_ACTIONS, dtype=torch.float) - self.target_cumulative_stat.scatter_( - index=torch.tensor(target_cumulative_stat, dtype=torch.long), dim=0, value=1. - ) - if not self.realtime: - if not self.clip_bo: - self.old_bo_reward = -levenshtein_distance( - torch.as_tensor(self.behavior_building_order, dtype=torch.long), self.target_building_order - )[0] / self.bo_norm - else: - self.old_bo_reward = torch.tensor(0.) - self.old_cum_reward = -hamming_distance( - torch.unsqueeze(torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.long), dim=0), - torch.unsqueeze(torch.as_tensor(self.target_cumulative_stat, dtype=torch.long), dim=0) - )[0] / self.cum_norm - self.total_bo_reward = torch.zeros(size=(), dtype=torch.float) - self.total_cum_reward = torch.zeros(size=(), dtype=torch.float) - - def _forward_collect(self, data): - obs, game_info = self._data_preprocess_collect(data) - self.obs = obs - obs = default_collate([obs]) - if self._cuda: - obs = to_device(obs, self._device) - - self._collect_model.eval() - try: - with torch.no_grad(): - policy_output = self._collect_model.compute_logp_action(**obs) - except Exception as e: - logging.error("[Actor {}] got an exception: {} in the collect model".format(task.router.node_id, e)) - bug_time = str(int(time.time())) - file_name = 'bug_obs_' + bug_time + '.pkl' - with open(os.path.join(os.path.dirname(__file__), file_name), 'wb+') as f: - pickle.dump(self.obs, f) - model_path_name = 'bug_model_' + bug_time + '.pth' - model_path = os.path.join(os.path.dirname(__file__), model_path_name) - torch.save(self._collect_model.state_dict(), model_path) - raise e - - if self._cuda: - policy_output = to_device(policy_output, self._device) - policy_output = default_decollate(policy_output)[0] - self.policy_output = self._data_postprocess_collect(policy_output, game_info) - return self.policy_output - - def _data_preprocess_collect(self, data): - if self._cfg.use_value_feature: - obs = transform_obs( - data['raw_obs'], - self.map_size, - self.requested_race, - padding_spatial=True, - opponent_obs=data['opponent_obs'] - ) - else: - obs = transform_obs(data['raw_obs'], self.map_size, self.requested_race, padding_spatial=True) - - game_info = obs.pop('game_info') - self.battle_score = game_info['battle_score'] - self.opponent_battle_score = game_info['opponent_battle_score'] - self.game_step = game_info['game_loop'] - if self._cfg.zero_z_exceed_loop and self.game_step > self.target_z_loop: - self.exceed_loop_flag = True - - last_selected_units = torch.zeros(obs['entity_num'], dtype=torch.int8) - last_targeted_unit = torch.zeros(obs['entity_num'], dtype=torch.int8) - tags = game_info['tags'] - if self.last_selected_unit_tags is not None: - for t in self.last_selected_unit_tags: - if t in tags: - last_selected_units[tags.index(t)] = 1 - if self.last_targeted_unit_tag is None: - if self.last_targeted_unit_tag in tags: - last_targeted_unit[tags.index(self.last_targeted_unit_tag)] = 1 - obs['entity_info']['last_selected_units'] = last_selected_units - obs['entity_info']['last_targeted_unit'] = last_targeted_unit - - obs['hidden_state'] = self.hidden_state - - obs['scalar_info']['last_action_type'] = self.last_action_type - obs['scalar_info']['last_delay'] = self.last_delay - obs['scalar_info']['last_queued'] = self.last_queued - obs['scalar_info']['enemy_unit_type_bool'] = ( - self.enemy_unit_type_bool | obs['scalar_info']['enemy_unit_type_bool'] - ).to(torch.uint8) - - obs['scalar_info']['beginning_order' - ] = self.target_building_order * (self.use_bo_reward & (not self.exceed_loop_flag)) - obs['scalar_info']['bo_location'] = self.target_bo_location * (self.use_bo_reward & (not self.exceed_loop_flag)) - - if self.use_cum_reward and not self.exceed_loop_flag: - obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat - else: - obs['scalar_info']['cumulative_stat'] = self.target_cumulative_stat * 0 + self._cfg.zero_z_value - - # update stat - self.stat.update(self.last_action_type, data['action_result'][0], obs, self.game_step) - return obs, game_info - - def _data_postprocess_collect(self, data, game_info): - self.hidden_state = data['hidden_state'] - assert data['action_info']['queued'].shape == torch.Size([1]), data['action_info']['queued'] - self.last_queued = data['action_info']['queued'][0] - assert data['action_info']['action_type'].shape == torch.Size([1]), data['action_info']['action_type'] - self.last_action_type = data['action_info']['action_type'][0] - assert data['action_info']['action_type'].shape == torch.Size([1]), data['action_info']['delay'] - self.last_delay = data['action_info']['delay'][0] - self.last_location = data['action_info']['target_location'] - - action_type = self.last_action_type.item() - action_attr = ACTIONS[action_type] - - # transform into env format action - tags = game_info['tags'] - raw_action = {} - raw_action['func_id'] = action_attr['func_id'] - raw_action['skip_steps'] = self.last_delay.item() - raw_action['queued'] = self.last_queued.item() - - unit_tags = [] - for i in range(data['selected_units_num'] - 1): # remove end flag - unit_tags.append(tags[data['action_info']['selected_units'][i].item()]) - if self._cfg.extra_units: - extra_units = torch.nonzero(data['extra_units']).squeeze(dim=1).tolist() - for unit_index in extra_units: - unit_tags.append(tags[unit_index]) - raw_action['unit_tags'] = unit_tags - if action_attr['selected_units']: - self.last_selected_unit_tags = unit_tags - else: - self.last_selected_unit_tags = None - - raw_action['target_unit_tag'] = tags[data['action_info']['target_unit'].item()] - if action_attr['target_unit']: - self.last_targeted_unit_tag = raw_action['target_unit_tag'] - else: - self.last_targeted_unit_tag = None - - x = data['action_info']['target_location'].item() % DEFAULT_SPATIAL_SIZE[1] - y = data['action_info']['target_location'].item() // DEFAULT_SPATIAL_SIZE[1] - inverse_y = max(self.map_size.y - y, 0) - raw_action['location'] = (x, inverse_y) - - data['action'] = [raw_action] - - return data - - def _process_transition(self, obs: Any, model_output: dict, timestep: BaseEnvTimestep): - next_obs = timestep.obs - reward = timestep.reward - done = timestep.done - behavior_z = self.get_behavior_z() - bo_reward, cum_reward, battle_reward = self.update_fake_reward(next_obs) - agent_obs = self.obs - teacher_obs = { - 'spatial_info': agent_obs['spatial_info'], - 'entity_info': agent_obs['entity_info'], - 'scalar_info': agent_obs['scalar_info'], - 'entity_num': agent_obs['entity_num'], - 'hidden_state': self.teacher_hidden_state, - 'selected_units_num': self.policy_output['selected_units_num'], - 'action_info': self.policy_output['action_info'] - } - - teacher_model_input = default_collate([teacher_obs]) - if teacher_model_input['action_info'].get('selected_units') is not None and teacher_model_input['action_info'][ - 'selected_units'].shape == torch.Size([1]): - teacher_model_input['action_info']['selected_units'] = torch.unsqueeze( - teacher_model_input['action_info']['selected_units'], dim=0 - ) - - if self._cuda: - teacher_model_input = to_device(teacher_model_input, self._device) - - self.teacher_model.eval() - with torch.no_grad(): - teacher_output = self.teacher_model.compute_teacher_logit(**teacher_model_input) - - if self._cuda: - teacher_output = to_device(teacher_output, self._device) - teacher_output = self.decollate_output(teacher_output) - self.teacher_hidden_state = teacher_output['hidden_state'] - - # gather step data - action_info = deepcopy(self.policy_output['action_info']) - mask = dict() - mask['actions_mask'] = deepcopy( - { - k: val - for k, val in ACTIONS[action_info['action_type'].item()].items() - if k not in ['name', 'goal', 'func_id', 'general_ability_id', 'game_id'] - } - ) - if self.only_cum_action_kl: - mask['cum_action_mask'] = torch.tensor(0.0, dtype=torch.float) - else: - mask['cum_action_mask'] = torch.tensor(1.0, dtype=torch.float) - if self.use_bo_reward: - mask['build_order_mask'] = torch.tensor(1.0, dtype=torch.float) - else: - mask['build_order_mask'] = torch.tensor(0.0, dtype=torch.float) - if self.use_cum_reward: - mask['built_unit_mask'] = torch.tensor(1.0, dtype=torch.float) - mask['cum_action_mask'] = torch.tensor(1.0, dtype=torch.float) - else: - mask['built_unit_mask'] = torch.tensor(0.0, dtype=torch.float) - selected_units_num = self.policy_output['selected_units_num'] - for k, v in mask['actions_mask'].items(): - mask['actions_mask'][k] = torch.tensor(v, dtype=torch.long) - step_data = { - 'map_name': self.map_name, - 'spatial_info': agent_obs['spatial_info'], - 'model_last_iter': torch.tensor(self.model_last_iter, dtype=torch.float), - # 'spatial_info_ref': spatial_info_ref, - 'entity_info': agent_obs['entity_info'], - 'scalar_info': agent_obs['scalar_info'], - 'entity_num': agent_obs['entity_num'], - 'selected_units_num': selected_units_num, - 'hidden_state': self.hidden_state_backup, - 'action_info': action_info, - 'behaviour_logp': self.policy_output['action_logp'], - 'teacher_logit': teacher_output['logit'], - # 'successive_logit': deepcopy(teacher_output['logit']), - 'reward': { - 'winloss': torch.tensor(reward, dtype=torch.float), - 'build_order': bo_reward, - 'built_unit': cum_reward, - 'effect': torch.randint(-1, 1, size=(), dtype=torch.float), - 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), - # 'upgrade': torch.randint(-1, 1, size=(), dtype=torch.float), - 'battle': battle_reward, - }, - 'step': torch.tensor(self.game_step, dtype=torch.float), - 'mask': mask, - 'done': done - } - ##TODO: add value feature - if self._cfg.use_value_feature: - step_data['value_feature'] = agent_obs['value_feature'] - step_data['value_feature'].update(behavior_z) - self.hidden_state_backup = self.hidden_state - return step_data - - def get_behavior_z(self): - bo = self.behavior_building_order + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_building_order)) - bo_location = self.behavior_bo_location + [0] * (BEGINNING_ORDER_LENGTH - len(self.behavior_bo_location)) - return { - 'beginning_order': torch.as_tensor(bo, dtype=torch.long), - 'bo_location': torch.as_tensor(bo_location, dtype=torch.long), - 'cumulative_stat': torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.bool).long() - } - - def update_fake_reward(self, next_obs): - bo_reward, cum_reward, battle_reward = self._update_fake_reward( - self.last_action_type, self.last_location, next_obs - ) - return bo_reward, cum_reward, battle_reward - - def _update_fake_reward(self, action_type, location, next_obs): - bo_reward = torch.zeros(size=(), dtype=torch.float) - cum_reward = torch.zeros(size=(), dtype=torch.float) - - battle_score = compute_battle_score(next_obs['raw_obs']) - opponent_battle_score = compute_battle_score(next_obs['opponent_obs']) - battle_reward = battle_score - self.battle_score - (opponent_battle_score - self.opponent_battle_score) - battle_reward = torch.tensor(battle_reward, dtype=torch.float) / self.battle_norm - - if self.exceed_loop_flag: - return bo_reward, cum_reward, battle_reward - - if action_type in BEGINNING_ORDER_ACTIONS and next_obs['action_result'][0] == 1: - if action_type == 322: - self.bo_zergling_count += 1 - if self.bo_zergling_count > 8: - return bo_reward, cum_reward, battle_reward - order_index = BEGINNING_ORDER_ACTIONS.index(action_type) - if order_index == 39 and 39 not in self.target_building_order: # ignore spinecrawler - return bo_reward, cum_reward, battle_reward - if len(self.behavior_building_order) < len(self.target_building_order): - # only consider bo_reward if behaviour size < target size - self.behavior_building_order.append(order_index) - if ACTIONS[action_type]['target_location']: - self.behavior_bo_location.append(location.item()) - else: - self.behavior_bo_location.append(0) - if self.use_bo_reward: - if self.clip_bo: - tz = self.target_building_order[:len(self.behavior_building_order)] - tz_lo = self.target_bo_location[:len(self.behavior_building_order)] - else: - tz = self.target_building_order - tz_lo = self.target_bo_location - new_bo_dist = -levenshtein_distance( - torch.as_tensor(self.behavior_building_order, dtype=torch.long), - torch.as_tensor(tz, dtype=torch.long), - torch.as_tensor(self.behavior_bo_location, dtype=torch.int), - torch.as_tensor(tz_lo, dtype=torch.int), - partial(l2_distance, spatial_x=DEFAULT_SPATIAL_SIZE[1]) - )[0] / self.bo_norm - bo_reward = new_bo_dist - self.old_bo_reward - self.old_bo_reward = new_bo_dist - - if self.cum_type == 'observation': - cum_flag = True - for u in next_obs['raw_obs'].observation.raw_data.units: - if u.alliance == 1 and u.unit_type in [59, 18, 86]: # ignore first base - if u.pos.x == self.born_location[0] and u.pos.y == self.born_location[1]: - continue - if u.alliance == 1 and u.build_progress == 1 and UNIT_TO_CUM[u.unit_type] != -1: - self.behavior_cumulative_stat[UNIT_TO_CUM[u.unit_type]] = 1 - for u in next_obs['raw_obs'].observation.raw_data.player.upgrade_ids: - if UPGRADE_TO_CUM[u] != -1: - self.behavior_cumulative_stat[UPGRADE_TO_CUM[u]] = 1 - from distar.pysc2.lib.upgrades import Upgrades - for up in Upgrades: - if up.value == u: - name = up.name - break - elif self.cum_type == 'action': - action_name = ACTIONS[action_type]['name'] - action_info = self.policy_output['action_info'] - cum_flag = False - if action_name == 'Cancel_quick' or action_name == 'Cancel_Last_quick': - unit_index = action_info['selected_units'][0].item() - order_len = self.obs['entity_info']['order_length'][unit_index] - if order_len == 0: - action_index = 0 - elif order_len == 1: - action_index = UNIT_ABILITY_TO_ACTION[self.obs['entity_info']['order_id_0'][unit_index].item()] - elif order_len > 1: - order_str = 'order_id_{}'.format(order_len - 1) - action_index = QUEUE_ACTIONS[self.obs['entity_info'][order_str][unit_index].item() - 1] - if action_index in CUMULATIVE_STAT_ACTIONS: - cum_flag = True - cum_index = CUMULATIVE_STAT_ACTIONS.index(action_index) - self.behavior_cumulative_stat[cum_index] = max(0, self.behavior_cumulative_stat[cum_index] - 1) - - if action_type in CUMULATIVE_STAT_ACTIONS: - cum_flag = True - cum_index = CUMULATIVE_STAT_ACTIONS.index(action_type) - self.behavior_cumulative_stat[cum_index] += 1 - else: - raise NotImplementedError - - if self.use_cum_reward and cum_flag and (self.cum_type == 'observation' or next_obs['action_result'][0] == 1): - new_cum_reward = -hamming_distance( - torch.unsqueeze(torch.as_tensor(self.behavior_cumulative_stat, dtype=torch.long), dim=0), - torch.unsqueeze(torch.as_tensor(self.target_cumulative_stat, dtype=torch.long), dim=0) - )[0] / self.cum_norm - cum_reward = (new_cum_reward - self.old_cum_reward) * self._get_time_factor(self.game_step) - self.old_cum_reward = new_cum_reward - self.total_bo_reward += bo_reward - self.total_cum_reward += cum_reward - return bo_reward, cum_reward, battle_reward - - def decollate_output(self, output, k=None, batch_idx=None): - if isinstance(output, torch.Tensor): - if batch_idx is None: - return output.squeeze(dim=0) - else: - return output[batch_idx].clone().cpu() - elif k == 'hidden_state': - if batch_idx is None: - return [(output[l][0].squeeze(dim=0), output[l][1].squeeze(dim=0)) for l in range(len(output))] - else: - return [ - (output[l][0][batch_idx].clone().cpu(), output[l][1][batch_idx].clone().cpu()) - for l in range(len(output)) - ] - elif isinstance(output, dict): - data = {k: self.decollate_output(v, k, batch_idx) for k, v in output.items()} - if batch_idx is not None and k is None: - entity_num = data['entity_num'] - selected_units_num = data['selected_units_num'] - data['logit']['selected_units'] = data['logit']['selected_units'][:selected_units_num, :entity_num + 1] - data['logit']['target_unit'] = data['logit']['target_unit'][:entity_num] - if 'action_info' in data.keys(): - data['action_info']['selected_units'] = data['action_info']['selected_units'][:selected_units_num] - data['action_logp']['selected_units'] = data['action_logp']['selected_units'][:selected_units_num] - return data - - def _get_train_sample(self): - pass - - @staticmethod - def _get_time_factor(game_step): - if game_step < 1 * 10000: - return 1.0 - elif game_step < 2 * 10000: - return 0.5 - elif game_step < 3 * 10000: - return 0.25 - else: - return 0 - - _init_eval = _init_collect - _forward_eval = _forward_collect diff --git a/dizoo/distar/policy/test_distar_policy.py b/dizoo/distar/policy/test_distar_policy.py deleted file mode 100644 index aee5e423c9..0000000000 --- a/dizoo/distar/policy/test_distar_policy.py +++ /dev/null @@ -1,37 +0,0 @@ -import pytest - -from dizoo.distar.policy import DIStarPolicy -from dizoo.distar.envs import get_fake_rl_batch, get_fake_env_reset_data, get_fake_env_step_data - -import torch -from ding.utils import set_pkg_seed - - -@pytest.mark.envtest -class TestDIStarPolicy: - - def test_forward_learn(self): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) - policy = policy.learn_mode - data = get_fake_rl_batch(batch_size=3) - output = policy.forward(data) - print(output) - - def test_forward_collect(self): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) - policy = policy.collect_mode - - rl_model = torch.load('./rl_model.pth') - policy.load_state_dict(rl_model) - - data = get_fake_env_reset_data() - policy.reset(data) - output = policy.forward(data) - print(output) - - -if __name__ == '__main__': - set_pkg_seed(0, use_cuda=False) - torch.set_printoptions(profile="full") - test = TestDIStarPolicy() - test.test_forward_collect() \ No newline at end of file diff --git a/dizoo/distar/policy/utils.py b/dizoo/distar/policy/utils.py deleted file mode 100644 index 0b72f15304..0000000000 --- a/dizoo/distar/policy/utils.py +++ /dev/null @@ -1,146 +0,0 @@ -import torch -import torch.nn.functional as F -from ding.torch_utils import flatten, sequence_mask -from ding.utils.data import default_collate -from dizoo.distar.envs import MAX_SELECTED_UNITS_NUM - -MASK_INF = -1e9 -EPS = 1e-9 - - -def padding_entity_info(traj_data, max_entity_num): - # traj_data.pop('map_name', None) - entity_padding_num = max_entity_num - len(traj_data['entity_info']['x']) - if 'entity_embeddings' in traj_data.keys(): - traj_data['entity_embeddings'] = torch.nn.functional.pad( - traj_data['entity_embeddings'], (0, 0, 0, entity_padding_num), 'constant', 0 - ) - - for k in traj_data['entity_info'].keys(): - traj_data['entity_info'][k] = torch.nn.functional.pad( - traj_data['entity_info'][k], (0, entity_padding_num), 'constant', 0 - ) - if 'action_info' in traj_data: - su_padding_num = MAX_SELECTED_UNITS_NUM - traj_data['teacher_logit']['selected_units'].shape[0] - - traj_data['mask']['selected_units_mask'] = sequence_mask( - traj_data['selected_units_num'].unsqueeze(dim=0), max_len=MAX_SELECTED_UNITS_NUM - ).squeeze(dim=0) - traj_data['action_info']['selected_units'] = torch.nn.functional.pad( - traj_data['action_info']['selected_units'], - (0, MAX_SELECTED_UNITS_NUM - traj_data['action_info']['selected_units'].shape[-1]), 'constant', 0 - ) - - traj_data['behaviour_logp']['selected_units'] = torch.nn.functional.pad( - traj_data['behaviour_logp']['selected_units'], ( - 0, - su_padding_num, - ), 'constant', MASK_INF - ) - - traj_data['teacher_logit']['selected_units'] = torch.nn.functional.pad( - traj_data['teacher_logit']['selected_units'], ( - 0, - entity_padding_num, - 0, - su_padding_num, - ), 'constant', MASK_INF - ) - traj_data['teacher_logit']['target_unit'] = torch.nn.functional.pad( - traj_data['teacher_logit']['target_unit'], (0, entity_padding_num), 'constant', MASK_INF - ) - - traj_data['mask']['selected_units_logits_mask'] = sequence_mask( - traj_data['entity_num'].unsqueeze(dim=0) + 1, max_len=max_entity_num + 1 - ).squeeze(dim=0) - traj_data['mask']['target_units_logits_mask'] = sequence_mask( - traj_data['entity_num'].unsqueeze(dim=0), max_len=max_entity_num - ).squeeze(dim=0) - - return traj_data - - -def collate_fn_learn(traj_batch): - # data list of list, with shape batch_size, unroll_len - # find max_entity_num in data_batch - max_entity_num = max( - [len(traj_data['entity_info']['x']) for traj_data_list in traj_batch for traj_data in traj_data_list] - ) - - # padding entity_info in observation, target_unit, selected_units, mask - traj_batch = [ - [padding_entity_info(traj_data, max_entity_num) for traj_data in traj_data_list] - for traj_data_list in traj_batch - ] - - data = [default_collate(traj_data_list, allow_key_mismatch=True) for traj_data_list in traj_batch] - - batch_size = len(data) - unroll_len = len(data[0]['step']) - data = default_collate(data, dim=1) - - new_data = {} - for k, val in data.items(): - if k in ['spatial_info', 'entity_info', 'scalar_info', 'entity_num', 'entity_location', 'hidden_state', - 'value_feature']: - new_data[k] = flatten(val) - else: - new_data[k] = val - new_data['aux_type'] = batch_size - new_data['batch_size'] = batch_size - new_data['unroll_len'] = unroll_len - return new_data - - -def entropy_error(target_policy_probs_dict, target_policy_log_probs_dict, mask, head_weights_dict): - total_entropy_loss = 0. - entropy_dict = {} - for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: - ent = -target_policy_probs_dict[head_type] * target_policy_log_probs_dict[head_type] - if head_type == 'selected_units': - ent = ent.sum(dim=-1) / ( - EPS + torch.log(mask['selected_units_logits_mask'].float().sum(dim=-1) + 1).unsqueeze(-1) - ) # normalize - ent = (ent * mask['selected_units_mask']).sum(-1) - ent = ent.div(mask['selected_units_mask'].sum(-1) + EPS) - elif head_type == 'target_unit': - # normalize by unit - ent = ent.sum(dim=-1) / (EPS + torch.log(mask['target_units_logits_mask'].float().sum(dim=-1) + 1)) - else: - ent = ent.sum(dim=-1) / torch.log(torch.FloatTensor([ent.shape[-1]]).to(ent.device)) - if head_type not in ['action_type', 'delay']: - ent = ent * mask['actions_mask'][head_type] - entropy = ent.mean() - entropy_dict['entropy/' + head_type] = entropy.item() - total_entropy_loss += (-entropy * head_weights_dict[head_type]) - return total_entropy_loss, entropy_dict - - -def kl_error( - target_policy_log_probs_dict, teacher_policy_logits_dict, mask, game_steps, action_type_kl_steps, head_weights_dict -): - total_kl_loss = 0. - kl_loss_dict = {} - - for head_type in ['action_type', 'queued', 'delay', 'selected_units', 'target_unit', 'target_location']: - target_policy_log_probs = target_policy_log_probs_dict[head_type] - teacher_policy_logits = teacher_policy_logits_dict[head_type] - - teacher_policy_log_probs = F.log_softmax(teacher_policy_logits, dim=-1) - teacher_policy_probs = torch.exp(teacher_policy_log_probs) - kl = teacher_policy_probs * (teacher_policy_log_probs - target_policy_log_probs) - - kl = kl.sum(dim=-1) - if head_type == 'selected_units': - kl = (kl * mask['selected_units_mask']).sum(-1) - if head_type not in ['action_type', 'delay']: - kl = kl * mask['actions_mask'][head_type] - if head_type == 'action_type': - flag = game_steps < action_type_kl_steps - action_type_kl = kl * flag * mask['cum_action_mask'] - action_type_kl_loss = action_type_kl.mean() - kl_loss_dict['kl/extra_at'] = action_type_kl_loss.item() - kl_loss = kl.mean() - total_kl_loss += (kl_loss * head_weights_dict[head_type]) - kl_loss_dict['kl/' + head_type] = kl_loss.item() - return total_kl_loss, action_type_kl_loss, kl_loss_dict diff --git a/dizoo/distar/state_dict_utils.py b/dizoo/distar/state_dict_utils.py deleted file mode 100644 index 9c94b39f5a..0000000000 --- a/dizoo/distar/state_dict_utils.py +++ /dev/null @@ -1,19 +0,0 @@ -import torch - - -def adjust_ia_state_dict(model_path): - state_dict = torch.load(model_path) - for key in list(state_dict['model'].keys()): - new = key - if "transformer" in key: - new = key.replace('layers', 'main').replace('mlp.1', 'mlp.2') - elif "location_head" in key: - new = key.replace('GateWeightG', 'gate').replace('UpdateSP', 'update_sp') - state_dict['model'][new] = state_dict['model'].pop(key) - - torch.save(state_dict, model_path) - - -if __name__ == '__main__': - model_path = './tests/rl_model.pth' - adjust_ia_state_dict(model_path) diff --git a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py b/dizoo/distar/tests/test_league_actor_with_pretrained_model.py deleted file mode 100644 index cd1775bb08..0000000000 --- a/dizoo/distar/tests/test_league_actor_with_pretrained_model.py +++ /dev/null @@ -1,180 +0,0 @@ -from time import sleep -import pytest -from copy import deepcopy -from unittest.mock import patch -from easydict import EasyDict - -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs.distar_env import DIStarEnv -from dizoo.distar.policy.distar_policy import DIStarPolicy - -from ding.envs import EnvSupervisor -from ding.league.player import PlayerMeta -from ding.league.v2.base_league import Job -from ding.framework import EventEnum -from ding.framework.storage import FileStorage -from ding.framework.task import task -from ding.framework.context import BattleContext - -from ding.framework.supervisor import ChildType -from ding.framework.middleware import StepLeagueActor -from ding.framework.middleware.functional import ActorData -from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar - - -def battle_rolloutor_for_distar2(cfg, env, transitions_list, model_info_dict): - - def _battle_rolloutor(ctx: "BattleContext"): - timesteps = env.step(ctx.actions) - - ctx.total_envstep_count += len(timesteps) - ctx.env_step += len(timesteps) - - for env_id, timestep in enumerate(timesteps): - if timestep.info.get('abnormal'): - for policy_id, policy in enumerate(ctx.current_policies): - policy.reset(env.ready_obs[0][policy_id]) - continue - - for policy_id, policy in enumerate(ctx.current_policies): - if timestep.done: - policy.reset(env.ready_obs[0][policy_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - if timestep.done: - ctx.env_episode += 1 - - return _battle_rolloutor - - -env_cfg = dict( - actor=dict(job_type='train', ), - env=dict( - map_name='random', - player_ids=['agent1', 'bot7'], - races=['zerg', 'zerg'], - map_size_resolutions=[True, True], # if True, ignore minimap_resolutions - minimap_resolutions=[[160, 152], [160, 152]], - realtime=False, - replay_dir='.', - random_seed='none', - game_steps_per_episode=100000, - update_bot_obs=False, - save_replay_episodes=1, - update_both_obs=False, - version='4.10.0', - ), -) -env_cfg = EasyDict(env_cfg) -cfg = deepcopy(distar_cfg) - - -class PrepareTest(): - - @classmethod - def get_env_fn(cls): - return DIStarEnv(env_cfg) - - @classmethod - def get_env_supervisor(cls): - for _ in range(10): - try: - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env - except Exception as e: - print(e) - continue - - @classmethod - def learn_policy_fn(cls): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) - return policy - - @classmethod - def collect_policy_fn(cls): - # policy = DIStarMockPolicyCollect() - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) - return policy - - -total_games = 0 -win_games = 0 -draw_games = 0 -loss_games = 0 - - -@pytest.mark.unittest -def test_league_actor(): - with task.start(async_mode=True, ctx=BattleContext()): - - def test_actor(): - job = Job( - launch_player='main_player_default_0', - players=[ - PlayerMeta( - player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 - ) - ] - ) - - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - print(job) - global total_games - global win_games - global draw_games - global loss_games - - for r in job_.result: - total_games += 1 - if r == 'wins': - win_games += 1 - elif r == 'draws': - draw_games += 1 - elif r == 'losses': - loss_games += 1 - else: - raise NotImplementedError - - print( - 'total games {}, win games {}, draw_games {}, loss_games {}'.format( - total_games, win_games, draw_games, loss_games - ) - ) - if total_games >= 100: - task.finish = True - exit(0) - - def on_actor_data(actor_data): - print('got actor_data') - assert isinstance(actor_data, ActorData) - - task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) - task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) - - def _test_actor(ctx): - sleep(0.3) - for _ in range(20): - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) - sleep(0.3) - - return _test_actor - - with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): - with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - league_actor = StepLeagueActor( - cfg=cfg, env_fn=PrepareTest.get_env_supervisor, policy_fn=PrepareTest.collect_policy_fn - ) - task.use(test_actor()) - task.use(league_actor) - task.run() - - -if __name__ == '__main__': - test_league_actor() \ No newline at end of file From 2dc4ab5785bc4359f7265885a25a33a82ef18680 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 07:27:44 +0000 Subject: [PATCH 205/229] move out tensor_dict_to_shm --- ding/utils/tensor_dict_to_shm.py | 154 ------------------------------- 1 file changed, 154 deletions(-) delete mode 100644 ding/utils/tensor_dict_to_shm.py diff --git a/ding/utils/tensor_dict_to_shm.py b/ding/utils/tensor_dict_to_shm.py deleted file mode 100644 index e1b377ac36..0000000000 --- a/ding/utils/tensor_dict_to_shm.py +++ /dev/null @@ -1,154 +0,0 @@ -import torch -import torch.multiprocessing as mp -from array import array -import numpy as np - - -def shm_encode_with_schema(data, maxlen=1024 * 1024 * 64): - idx = 0 - encoding = np.zeros(shape=(maxlen, ), dtype=np.float32) - - def _helper(data): - nonlocal idx - if isinstance(data, torch.Tensor): - if data.size(): - tmp = data.flatten() - encoding[idx:idx + len(tmp)] = tmp - idx += len(tmp) - else: - encoding[idx] = data.item() - idx += 1 - return data.size() - elif isinstance(data, dict): - schema = {} - for key, chunk in data.items(): - schema[key] = _helper(chunk) - return schema - elif isinstance(data, (list, tuple)): - schema = [] - for chunk in data: - schema.append(_helper(chunk)) - if isinstance(data, tuple): - schema = tuple(schema) - return schema - else: - raise ValueError("not supported dtype! {}".format(type(data))) - - schema = _helper(data) - return encoding[:idx], schema - - -def shm_decode(encoding, schema): - - def _shm_decode_helper(encoding, schema, start): - if isinstance(schema, torch.Size): - storage = 1 - for d in schema: - storage *= d - # if isinstance(encoding[start], int): - # decoding = torch.LongTensor(encoding[start: start + storage]).view(schema) - # else: - # decoding = torch.FloatTensor(encoding[start: start + storage]).view(schema) - decoding = torch.Tensor(encoding[start:start + storage]).view(schema) - start += storage - return decoding, start - elif isinstance(schema, dict): - decoding = {} - for key, chunk in schema.items(): - decoding[key], start = _shm_decode_helper(encoding, chunk, start) - return decoding, start - elif isinstance(schema, (list, tuple)): - decoding = [] - for chunk in schema: - chunk, start = _shm_decode_helper(encoding, chunk, start) - decoding.append(chunk) - if isinstance(schema, tuple): - decoding = tuple(decoding) - return decoding, start - else: - raise ValueError("not supported schema! {}".format(schema)) - - decoding, start = _shm_decode_helper(encoding, schema, 0) - assert len(encoding) == start, "Encoding length and schema do not match!" - return decoding - - -def equal(data1, data2, check_dict_order=True, strict_dtype=False, parent_key=None): - if type(data1) != type(data2): - print(parent_key) - # print("data1: {} {}".format(parent_key, data1)) - # print("data2: {} {}".format(parent_key, data2)) - return False - if isinstance(data1, torch.Tensor): - if not strict_dtype: - data1 = data1.float() - data2 = data2.float() - if data1.dtype != data2.dtype: - print("data type does not match! data1({}), data2({})".format(data1.dtype, data2.dtype)) - # print("data1: {} {}".format(parent_key, data1)) - # print("data2: {} {}".format(parent_key, data2)) - return False - if data1.equal(data2): - return True - else: - print("value not match") - # print("parent key of data1: {}".format(parent_key)) - print("data1: {} {}".format(parent_key, data1)) - print("data2: {} {}".format(parent_key, data2)) - return False - elif isinstance(data1, dict): - key_set1 = data1.keys() - key_set2 = data2.keys() - if check_dict_order and key_set1 != key_set2: - print("key sequence not match!") - # print("data1: {}".format(data1)) - # print("data2: {}".format(data2)) - return False - elif set(key_set1) != set(key_set2): - print("key set not match!") - # print("data1: {}".format(data1)) - # print("data2: {}".format(data2)) - return False - for key in key_set1: - if equal(data1[key], data2[key], check_dict_order, strict_dtype, key): - print("passed:", key) - else: - print("!!!!!!! not match:", key) - return False - return True - elif isinstance(data1, (tuple, list)): - if len(data1) != len(data2): - print("list length does not match!") - # print("data1: {}".format(data1)) - # print("data2: {}".format(data2)) - return False - return all([equal(data1[i], data2[i], check_dict_order, strict_dtype, parent_key) for i in range(len(data1))]) - else: - raise ValueError("not supported dtype! {}".format(data1)) - - -def equal_v0(data1, data2, check_dict_order=True, strict_dtype=False): - if type(data1) != type(data2): - return False - if isinstance(data1, torch.Tensor): - if not strict_dtype: - data1 = data1.float() - data2 = data2.float() - if data1.dtype != data2.dtype: - print("data type does not match! data1({}), data2({})".format(data1.dtype, data2.dtype)) - return False - return data1.equal(data2) - elif isinstance(data1, dict): - key_set1 = data1.keys() - key_set2 = data2.keys() - if check_dict_order and key_set1 != key_set2: - return False - elif set(key_set1) != set(key_set2): - return False - return all([equal(data1[key], data2[key], check_dict_order, strict_dtype) for key in key_set1]) - elif isinstance(data1, (tuple, list)): - if len(data1) != len(data2): - return False - return all([equal(data1[i], data2[i], check_dict_order, strict_dtype) for i in range(len(data1))]) - else: - raise ValueError("not supported dtype! {}".format(data1)) \ No newline at end of file From 2c0e527cb28160abeac422a767753dc85a1a8033 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 07:41:09 +0000 Subject: [PATCH 206/229] add comment of CpuUnpickler --- ding/framework/parallel.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ding/framework/parallel.py b/ding/framework/parallel.py index 28a2fe523d..20a3c750ca 100644 --- a/ding/framework/parallel.py +++ b/ding/framework/parallel.py @@ -38,6 +38,11 @@ def cpu_loads(x): def my_pickle_loads(msg): + """ + Overview: + This method allows you to recieve gpu tensors from gpu bug freely, if you are in an only-cpu node. + refrence: https://github.com/pytorch/pytorch/issues/16797 + """ if not torch.cuda.is_available(): payload = cpu_loads(msg) else: From 7a3bc0bd7c16d99369b740545f74c8fe2f2b28ba Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 11:01:15 +0000 Subject: [PATCH 207/229] move out distar_test_pipelines --- .../middleware/tests/mock_for_test.py | 6 +- .../middleware/tests/test_distar_config.yaml | 16 -- .../test_league_actor_distar_one_process.py | 150 ------------------ .../tests/test_league_actor_one_process.py | 107 ------------- .../middleware/tests/test_league_learner.py | 106 ------------- .../middleware/tests/test_league_pipeline.py | 126 --------------- .../tests/test_league_pipeline_fake_data.py | 110 ------------- .../tests/test_league_pipeline_one_process.py | 80 ---------- 8 files changed, 3 insertions(+), 698 deletions(-) delete mode 100644 ding/framework/middleware/tests/test_distar_config.yaml delete mode 100644 ding/framework/middleware/tests/test_league_actor_distar_one_process.py delete mode 100644 ding/framework/middleware/tests/test_league_actor_one_process.py delete mode 100644 ding/framework/middleware/tests/test_league_learner.py delete mode 100644 ding/framework/middleware/tests/test_league_pipeline.py delete mode 100644 ding/framework/middleware/tests/test_league_pipeline_fake_data.py delete mode 100644 ding/framework/middleware/tests/test_league_pipeline_one_process.py diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index b4b7769ef2..07d46b1330 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -11,12 +11,12 @@ from ding.league.v2 import BaseLeague, Job from ding.framework.storage import FileStorage from ding.policy import PPOPolicy -from dizoo.distar.envs.distar_env import DIStarEnv -from dizoo.distar.policy.distar_policy import DIStarPolicy +from distar.diengine.dizoo.envs.distar_env import DIStarEnv +from distar.diengine.dizoo.policy.distar_policy import DIStarPolicy from ding.envs import BaseEnvManager import treetensor.torch as ttorch from ding.envs import BaseEnvTimestep -from dizoo.distar.envs.fake_data import rl_step_data +from distar.diengine.dizoo.envs.fake_data import rl_step_data if TYPE_CHECKING: from ding.framework import BattleContext diff --git a/ding/framework/middleware/tests/test_distar_config.yaml b/ding/framework/middleware/tests/test_distar_config.yaml deleted file mode 100644 index 18247e5a54..0000000000 --- a/ding/framework/middleware/tests/test_distar_config.yaml +++ /dev/null @@ -1,16 +0,0 @@ -actor: - job_type: 'train' # ['train', 'eval', 'train_test', 'eval_test'] -env: - map_name: 'KingsCove' - player_ids: ['agent1', 'agent2'] - races: ['zerg', 'zerg'] - map_size_resolutions: [True, True] # if True, ignore minimap_resolutions - minimap_resolutions: [[160, 152], [160, 152]] - realtime: False - replay_dir: '.' - random_seed: 'none' - game_steps_per_episode: 100000 - update_bot_obs: False - save_replay_episodes: 1 - update_both_obs: False - version: '4.10.0' \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py b/ding/framework/middleware/tests/test_league_actor_distar_one_process.py deleted file mode 100644 index b77e427297..0000000000 --- a/ding/framework/middleware/tests/test_league_actor_distar_one_process.py +++ /dev/null @@ -1,150 +0,0 @@ -from time import sleep -import pytest -from copy import deepcopy -from unittest.mock import patch -from easydict import EasyDict - -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs.distar_env import DIStarEnv - -from ding.envs import EnvSupervisor -from ding.league.player import PlayerMeta -from ding.league.v2.base_league import Job -from ding.framework import EventEnum -from ding.framework.storage import FileStorage -from ding.framework.task import task -from ding.framework.context import BattleContext - -from ding.framework.supervisor import ChildType -from ding.framework.middleware import StepLeagueActor -from ding.framework.middleware.functional import ActorData -from ding.framework.middleware.tests import DIStarMockPolicy -from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar - -env_cfg = dict( - actor=dict(job_type='train', ), - env=dict( - map_name='KingsCove', - player_ids=['agent1', 'agent2'], - races=['zerg', 'zerg'], - map_size_resolutions=[True, True], # if True, ignore minimap_resolutions - minimap_resolutions=[[160, 152], [160, 152]], - realtime=False, - replay_dir='.', - random_seed='none', - game_steps_per_episode=100000, - update_bot_obs=False, - save_replay_episodes=1, - update_both_obs=False, - version='4.10.0', - ), -) -env_cfg = EasyDict(env_cfg) -cfg = deepcopy(distar_cfg) - - -class PrepareTest(): - - @classmethod - def get_env_fn(cls): - return DIStarEnv(env_cfg) - - @classmethod - def get_env_supervisor(cls): - for _ in range(10): - try: - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env - except Exception as e: - print(e) - continue - - @classmethod - def learn_policy_fn(cls): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) - return policy - - @classmethod - def collect_policy_fn(cls): - # policy = DIStarMockPolicyCollect() - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['collect']) - return policy - - -@pytest.mark.unittest -def test_league_actor(): - with task.start(async_mode=True, ctx=BattleContext()): - policy = PrepareTest.learn_policy_fn().learn_mode - - def test_actor(): - job = Job( - launch_player='main_player_default_0', - players=[ - PlayerMeta( - player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 - ), - PlayerMeta( - player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0 - ) - ] - ) - testcases = { - "on_actor_greeting": False, - "on_actor_job": False, - "on_actor_data": False, - } - - def on_actor_greeting(actor_id): - assert actor_id == task.router.node_id - testcases["on_actor_greeting"] = True - - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - print(job) - testcases["on_actor_job"] = True - - def on_actor_data(actor_data): - print('got actor_data') - assert isinstance(actor_data, ActorData) - testcases["on_actor_data"] = True - - task.on(EventEnum.ACTOR_GREETING, on_actor_greeting) - task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) - task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) - - def _test_actor(ctx): - sleep(0.3) - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) - sleep(0.3) - - task.emit( - EventEnum.LEARNER_SEND_MODEL, - LearnerModel(player_id='main_player_default_0', state_dict=policy.state_dict(), train_iter=0) - ) - # sleep(100) - # try: - # print(testcases) - # assert all(testcases.values()) - # finally: - # task.finish = True - - return _test_actor - - with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): - with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - league_actor = StepLeagueActor( - cfg=cfg, env_fn=PrepareTest.get_env_supervisor, policy_fn=PrepareTest.collect_policy_fn - ) - task.use(test_actor()) - task.use(league_actor) - task.run() - - -if __name__ == '__main__': - test_league_actor() diff --git a/ding/framework/middleware/tests/test_league_actor_one_process.py b/ding/framework/middleware/tests/test_league_actor_one_process.py deleted file mode 100644 index cce7fb97f3..0000000000 --- a/ding/framework/middleware/tests/test_league_actor_one_process.py +++ /dev/null @@ -1,107 +0,0 @@ -from time import sleep -import pytest -from copy import deepcopy -from ding.envs import BaseEnvManager -from ding.framework.context import BattleContext -from ding.framework.middleware.league_learner import LearnerModel -from dizoo.distar.config import distar_cfg -from ding.framework.middleware import StepLeagueActor -from ding.framework.middleware.functional import ActorData -from ding.league.player import PlayerMeta -from ding.framework.storage import FileStorage - -from ding.framework.task import task -from ding.league.v2.base_league import Job -from ding.model import VAC -from ding.policy.ppo import PPOPolicy -from dizoo.league_demo.game_env import GameEnv - -from ding.framework import EventEnum - - -def prepare_test(): - global distar_cfg - cfg = deepcopy(distar_cfg) - - def env_fn(): - env = BaseEnvManager( - env_fn=[lambda: GameEnv(cfg.env.env_type) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - ) - env.seed(cfg.seed) - return env - - def policy_fn(): - model = VAC(**cfg.policy.model) - policy = PPOPolicy(cfg.policy, model=model) - return policy - - return cfg, env_fn, policy_fn - - -@pytest.mark.unittest -def test_league_actor(): - cfg, env_fn, policy_fn = prepare_test() - policy = policy_fn() - with task.start(async_mode=True, ctx=BattleContext()): - league_actor = StepLeagueActor(cfg=cfg, env_fn=env_fn, policy_fn=policy_fn) - - def test_actor(): - job = Job( - launch_player='main_player_default_0', - players=[ - PlayerMeta( - player_id='main_player_default_0', checkpoint=FileStorage(path=None), total_agent_step=0 - ), - PlayerMeta( - player_id='main_player_default_1', checkpoint=FileStorage(path=None), total_agent_step=0 - ) - ] - ) - testcases = { - "on_actor_greeting": False, - "on_actor_job": False, - "on_actor_data": False, - } - - def on_actor_greeting(actor_id): - assert actor_id == task.router.node_id - testcases["on_actor_greeting"] = True - - def on_actor_job(job_: Job): - assert job_.launch_player == job.launch_player - testcases["on_actor_job"] = True - - def on_actor_data(actor_data): - assert isinstance(actor_data, ActorData) - testcases["on_actor_data"] = True - - task.on(EventEnum.ACTOR_GREETING, on_actor_greeting) - task.on(EventEnum.ACTOR_FINISH_JOB, on_actor_job) - task.on(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), on_actor_data) - - def _test_actor(ctx): - sleep(0.3) - task.emit(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), job) - sleep(5) - - task.emit( - EventEnum.LEARNER_SEND_MODEL, - LearnerModel( - player_id='main_player_default_0', state_dict=policy.learn_mode.state_dict(), train_iter=0 - ) - ) - try: - print(testcases) - assert all(testcases.values()) - finally: - task.finish = True - - return _test_actor - - task.use(test_actor()) - task.use(league_actor) - task.run() - - -if __name__ == '__main__': - test_league_actor() diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py deleted file mode 100644 index 0410201715..0000000000 --- a/ding/framework/middleware/tests/test_league_learner.py +++ /dev/null @@ -1,106 +0,0 @@ -from copy import deepcopy -from dataclasses import dataclass -from time import sleep -import time -import pytest -import logging -from typing import Any - -from ding.data import DequeBuffer -from ding.envs import BaseEnvManager -from ding.framework.context import BattleContext -from ding.framework import EventEnum -from ding.framework.task import task, Parallel -from ding.framework.middleware import data_pusher, OffPolicyLearner, LeagueLearnerCommunicator -from ding.framework.middleware.functional.actor_data import * -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy -from ding.league.v2 import BaseLeague -from ding.utils import log_every_sec -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs import fake_rl_traj_with_last -from dizoo.distar.envs.distar_env import DIStarEnv -from distar.ctools.utils import read_config - - -def prepare_test(): - global distar_cfg - cfg = deepcopy(distar_cfg) - env_cfg = read_config('./test_distar_config.yaml') - - def env_fn(): - # subprocess env manager - env = BaseEnvManager( - env_fn=[lambda: DIStarEnv(env_cfg) for _ in range(cfg.env.collector_env_num)], cfg=cfg.env.manager - ) - env.seed(cfg.seed) - return env - - def policy_fn(): - policy = DIStarMockPolicy(DIStarMockPolicy.default_config(), enable_field=['learn']) - return policy - - return cfg, env_fn, policy_fn - - -def coordinator_mocker(): - task.on(EventEnum.LEARNER_SEND_META, lambda x: logging.info("test: {}".format(x))) - task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: logging.info("test: send model success")) - - def _coordinator_mocker(ctx): - sleep(10) - - return _coordinator_mocker - - -@dataclass -class TestActorData: - env_step: int - train_data: Any - - -def actor_mocker(league): - - def _actor_mocker(ctx): - n_players = len(league.active_players_ids) - player = league.active_players[(task.router.node_id + 2) % n_players] - log_every_sec(logging.INFO, 5, "Actor: actor player: {}".format(player.player_id)) - for _ in range(24): - meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) - data = fake_rl_traj_with_last() - actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) - task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) - sleep(9) - - return _actor_mocker - - -def _main(): - logging.getLogger().setLevel(logging.INFO) - cfg, env_fn, policy_fn = prepare_test() - league = BaseLeague(cfg.policy.other.league) - n_players = len(league.active_players_ids) - print("League: n_players: ", n_players) - - with task.start(async_mode=True, ctx=BattleContext()): - if task.router.node_id == 0: - task.use(coordinator_mocker()) - elif task.router.node_id <= 1: - task.use(actor_mocker(league)) - else: - cfg.policy.collect.unroll_len = 1 - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - player = league.active_players[task.router.node_id % n_players] - policy = policy_fn() - task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) - task.use(data_pusher(cfg, buffer_)) - task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) - task.run(max_step=30) - - -@pytest.mark.unittest -def test_league_learner(): - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(_main) - - -if __name__ == '__main__': - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_pipeline.py b/ding/framework/middleware/tests/test_league_pipeline.py deleted file mode 100644 index 63ce241237..0000000000 --- a/ding/framework/middleware/tests/test_league_pipeline.py +++ /dev/null @@ -1,126 +0,0 @@ -import logging -import pytest -from easydict import EasyDict -from copy import deepcopy -from ding.data import DequeBuffer -from ding.envs import BaseEnvManager, EnvSupervisor -from ding.framework.supervisor import ChildType -from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar -from ding.framework.task import task, Parallel -from ding.league.v2 import BaseLeague -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs.distar_env import DIStarEnv -from unittest.mock import patch -from dizoo.distar.policy.distar_policy import DIStarPolicy -from ding.data.buffer.middleware import use_time_check - -env_cfg = dict( - actor=dict(job_type='train', ), - env=dict( - map_name='KingsCove', - player_ids=['agent1', 'agent2'], - races=['zerg', 'zerg'], - map_size_resolutions=[True, True], # if True, ignore minimap_resolutions - minimap_resolutions=[[160, 152], [160, 152]], - realtime=False, - replay_dir='.', - random_seed='none', - game_steps_per_episode=100000, - update_bot_obs=False, - save_replay_episodes=1, - update_both_obs=False, - version='4.10.0', - ), -) -env_cfg = EasyDict(env_cfg) -cfg = deepcopy(distar_cfg) - - -class PrepareTest(): - - @classmethod - def get_env_fn(cls): - return DIStarEnv(env_cfg) - - @classmethod - def get_env_supervisor(cls): - for _ in range(10): - try: - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env - except Exception as e: - print(e) - continue - - @classmethod - def policy_fn(cls): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) - return policy - - @classmethod - def collect_policy_fn(cls): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['collect']) - return policy - - -def coordinator(): - coordinator_league = BaseLeague(cfg.policy.other.league) - task.use(LeagueCoordinator(cfg, coordinator_league)) - - -def learner(): - league = BaseLeague(cfg.policy.other.league) - N_PLAYERS = len(league.active_players_ids) - - cfg.policy.collect.unroll_len = 1 - player = league.active_players[task.router.node_id % N_PLAYERS] - del league - - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - buffer_.use(use_time_check(buffer_, max_use=cfg.policy.other.replay_buffer.max_use)) - policy = PrepareTest.policy_fn() - - task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) - task.use(data_pusher(cfg, buffer_)) - task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) - - -def actor(): - task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) - - -def main(): - logging.getLogger().setLevel(logging.INFO) - league = BaseLeague(cfg.policy.other.league) - N_PLAYERS = len(league.active_players_ids) - del league - print("League: n_players =", N_PLAYERS) - - with task.start(async_mode=False, ctx=BattleContext()),\ - patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ - patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - print("node id:", task.router.node_id) - if task.router.node_id == 0: - coordinator() - elif task.router.node_id <= N_PLAYERS: - learner() - else: - actor() - task.run() - - -@pytest.mark.unittest -def test_league_pipeline(): - Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) - - -if __name__ == "__main__": - Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) diff --git a/ding/framework/middleware/tests/test_league_pipeline_fake_data.py b/ding/framework/middleware/tests/test_league_pipeline_fake_data.py deleted file mode 100644 index a9eabe4d02..0000000000 --- a/ding/framework/middleware/tests/test_league_pipeline_fake_data.py +++ /dev/null @@ -1,110 +0,0 @@ -import logging -import pytest -from easydict import EasyDict -from copy import deepcopy -from ding.data import DequeBuffer -from ding.envs import BaseEnvManager, EnvSupervisor -from ding.framework.supervisor import ChildType -from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator, LeagueLearnerCommunicator, data_pusher, OffPolicyLearner -from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy, DIStarMockPolicyCollect -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar -from ding.framework.task import task, Parallel -from ding.league.v2 import BaseLeague -from dizoo.distar.config import distar_cfg -from dizoo.distar.envs.distar_env import DIStarEnv -from unittest.mock import patch -from dizoo.distar.policy.distar_policy import DIStarPolicy -from ding.data.buffer.middleware import use_time_check - -env_cfg = dict( - actor=dict(job_type='train', ), - env=dict( - map_name='KingsCove', - player_ids=['agent1', 'agent2'], - races=['zerg', 'zerg'], - map_size_resolutions=[True, True], # if True, ignore minimap_resolutions - minimap_resolutions=[[160, 152], [160, 152]], - realtime=False, - replay_dir='.', - random_seed='none', - game_steps_per_episode=100000, - update_bot_obs=False, - save_replay_episodes=1, - update_both_obs=False, - version='4.10.0', - ), -) -env_cfg = EasyDict(env_cfg) -cfg = deepcopy(distar_cfg) - - -class PrepareTest(): - - @classmethod - def get_env_fn(cls): - return DIStarEnv(env_cfg) - - @classmethod - def get_env_supervisor(cls): - for _ in range(10): - try: - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env - except Exception as e: - print(e) - continue - - @classmethod - def policy_fn(cls): - policy = DIStarPolicy(DIStarPolicy.default_config(), enable_field=['learn']) - return policy - - @classmethod - def collect_policy_fn(cls): - policy = DIStarMockPolicyCollect() - return policy - - -def main(): - logging.getLogger().setLevel(logging.INFO) - league = BaseLeague(cfg.policy.other.league) - N_PLAYERS = len(league.active_players_ids) - print("League: n_players =", N_PLAYERS) - - with task.start(async_mode=True, ctx=BattleContext()),\ - patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar),\ - patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - print("node id:", task.router.node_id) - if task.router.node_id == 0: - coordinator_league = BaseLeague(cfg.policy.other.league) - task.use(LeagueCoordinator(cfg, coordinator_league)) - elif task.router.node_id <= N_PLAYERS: - cfg.policy.collect.unroll_len = 1 - player = league.active_players[task.router.node_id % N_PLAYERS] - - buffer_ = DequeBuffer(size=cfg.policy.other.replay_buffer.replay_buffer_size) - buffer_.use(use_time_check(buffer_, max_use=cfg.policy.other.replay_buffer.max_use)) - policy = PrepareTest.policy_fn() - - task.use(LeagueLearnerCommunicator(cfg, policy.learn_mode, player)) - task.use(data_pusher(cfg, buffer_)) - task.use(OffPolicyLearner(cfg, policy.learn_mode, buffer_)) - else: - task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) - - task.run() - - -@pytest.mark.unittest -def test_league_pipeline(): - Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) - - -if __name__ == "__main__": - Parallel.runner(n_parallel_workers=7, protocol="tcp", topology="mesh")(main) diff --git a/ding/framework/middleware/tests/test_league_pipeline_one_process.py b/ding/framework/middleware/tests/test_league_pipeline_one_process.py deleted file mode 100644 index 919562d4cf..0000000000 --- a/ding/framework/middleware/tests/test_league_pipeline_one_process.py +++ /dev/null @@ -1,80 +0,0 @@ -from copy import deepcopy -import pytest -from ding.envs import BaseEnvManager, EnvSupervisor -from ding.framework.context import BattleContext -from ding.framework.middleware import StepLeagueActor, LeagueCoordinator -from ding.framework.supervisor import ChildType - -from ding.model import VAC -from ding.framework.task import task -from ding.framework.middleware.tests import cfg, MockLeague, MockLogger -from dizoo.distar.envs.distar_env import DIStarEnv -from ding.framework.middleware.tests import DIStarMockPolicy, DIStarMockPolicyCollect -from ding.framework.middleware.functional.collector import battle_inferencer_for_distar, battle_rolloutor_for_distar -from distar.ctools.utils import read_config -from unittest.mock import patch -import os - -cfg = deepcopy(cfg) -env_cfg = read_config('./test_distar_config.yaml') - - -class PrepareTest(): - - @classmethod - def get_env_fn(cls): - return DIStarEnv(env_cfg) - - @classmethod - def get_env_supervisor(cls): - env = EnvSupervisor( - type_=ChildType.THREAD, - env_fn=[cls.get_env_fn for _ in range(cfg.env.collector_env_num)], - **cfg.env.manager - ) - env.seed(cfg.seed) - return env - - @classmethod - def policy_fn(cls): - model = VAC(**cfg.policy.model) - policy = DIStarMockPolicy(cfg.policy, model=model) - return policy - - @classmethod - def collect_policy_fn(cls): - policy = DIStarMockPolicyCollect() - return policy - - -def _main(): - league = MockLeague(cfg.policy.other.league) - n_players = len(league.active_players_ids) - print(n_players) - - with task.start(async_mode=True, ctx=BattleContext()): - with patch("ding.framework.middleware.collector.battle_inferencer", battle_inferencer_for_distar): - with patch("ding.framework.middleware.collector.battle_rolloutor", battle_rolloutor_for_distar): - player_0 = league.active_players[0] - learner_0 = LeagueLearner(cfg, PrepareTest.policy_fn, player_0) - learner_0._learner._tb_logger = MockLogger() - - player_1 = league.active_players[1] - learner_1 = LeagueLearner(cfg, PrepareTest.policy_fn, player_1) - learner_1._learner._tb_logger = MockLogger() - - task.use(LeagueCoordinator(league)) - task.use(StepLeagueActor(cfg, PrepareTest.get_env_supervisor, PrepareTest.collect_policy_fn)) - task.use(learner_0) - task.use(learner_1) - - task.run(max_step=300) - - -@pytest.mark.unittest -def test_league_actor(): - _main() - - -if __name__ == '__main__': - _main() From 3f21d3cb910a67b999b73f600748cfbfa5d26c77 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 11:02:03 +0000 Subject: [PATCH 208/229] change import of collector.py --- ding/framework/middleware/functional/collector.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index 532348f419..da13c4a7af 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -2,7 +2,7 @@ from easydict import EasyDict from functools import reduce import treetensor.torch as ttorch -from ding.envs import BaseEnvManager +from ding.envs.env_manager.base_env_manager import BaseEnvManager from ding.envs.env.base_env import BaseEnvTimestep from ding.policy import Policy import torch @@ -14,7 +14,6 @@ from ding.framework import OnlineRLContext, BattleContext from collections import deque from ding.framework.middleware.functional.actor_data import ActorEnvTrajectories -from dizoo.distar.envs.fake_data import rl_step_data from copy import deepcopy from ditk import logging From 37b6bc7f5fc79ae0dc8236ebbc7052887006858c Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Wed, 24 Aug 2022 18:32:19 +0000 Subject: [PATCH 209/229] drop out useless mocks --- .../middleware/tests/mock_for_test.py | 72 ------------------- 1 file changed, 72 deletions(-) diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 07d46b1330..03c0827d60 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -10,16 +10,6 @@ from ding.league.player import PlayerMeta from ding.league.v2 import BaseLeague, Job from ding.framework.storage import FileStorage -from ding.policy import PPOPolicy -from distar.diengine.dizoo.envs.distar_env import DIStarEnv -from distar.diengine.dizoo.policy.distar_policy import DIStarPolicy -from ding.envs import BaseEnvManager -import treetensor.torch as ttorch -from ding.envs import BaseEnvTimestep -from distar.diengine.dizoo.envs.fake_data import rl_step_data - -if TYPE_CHECKING: - from ding.framework import BattleContext obs_dim = [2, 2] action_space = 1 @@ -175,65 +165,3 @@ def close(*args): def flush(*args): pass - - -class DIStarMockPolicy(DIStarPolicy): - - def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: - print("Call forward_learn:", flush=True) - return super()._forward_learn(data) - - def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: - print("Call forward_collect:", flush=True) - return super()._forward_collect(data) - - -class DIStarMockPPOPolicy(PPOPolicy): - - def _forward_learn(self, data: Dict[str, Any]) -> Dict[str, Any]: - pass - - def _forward_collect(self, data: Dict[int, Any]) -> Dict[int, Any]: - return DIStarEnv.random_action(data) - - -class DIstarCollectMode: - - def __init__(self) -> None: - self._cfg = EasyDict(dict(collect=dict(n_episode=1))) - self._race = 'zerg' - - def load_state_dict(self, state_dict): - return - - def get_attribute(self, name: str) -> Any: - if hasattr(self, '_get_' + name): - return getattr(self, '_get_' + name)() - elif hasattr(self, '_' + name): - return getattr(self, '_' + name) - else: - raise NotImplementedError - - def reset(self, data_id: Optional[List[int]] = None) -> None: - pass - - def forward(self, policy_obs: Dict[int, Any]) -> Dict[int, Any]: - # print("Call forward_collect:") - return_data = {} - return_data['action'] = DIStarEnv.random_action(policy_obs) - return_data['logit'] = [1] - return_data['value'] = [0] - - return return_data - - def process_transition(self, obs, model_output, timestep) -> dict: - step_data = rl_step_data() - step_data['done'] = timestep.done - return step_data - - -class DIStarMockPolicyCollect: - - def __init__(self): - - self.collect_mode = DIstarCollectMode() From de8b6eba55150ddc909b4e0f7baf799188b2b6d9 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 06:58:37 +0000 Subject: [PATCH 210/229] make test of coordinator pass --- ding/framework/middleware/functional/trainer.py | 3 ++- ding/framework/middleware/league_coordinator.py | 5 +++++ .../middleware/tests/test_league_coordinator.py | 15 ++++++--------- 3 files changed, 13 insertions(+), 10 deletions(-) diff --git a/ding/framework/middleware/functional/trainer.py b/ding/framework/middleware/functional/trainer.py index 27be583dd1..a54c9c0a83 100644 --- a/ding/framework/middleware/functional/trainer.py +++ b/ding/framework/middleware/functional/trainer.py @@ -5,7 +5,8 @@ from ding.policy import Policy from ding.framework import task -from ding.framework import OnlineRLContext, OfflineRLContext, BattleContext +if TYPE_CHECKING: + from ding.framework import OnlineRLContext, OfflineRLContext, BattleContext def trainer(cfg: EasyDict, policy: Policy) -> Callable: """ diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 0cd1b7b69c..95b5ada20b 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -59,6 +59,11 @@ def _on_learner_meta(self, player_meta: "PlayerMeta"): self.league.create_historical_player(player_meta) def _on_actor_job(self, job: "Job"): + if self._last_collect_time is None: + self._last_collect_time = time() + if self._total_collect_time is None: + self._total_collect_time = 0 + self._total_recv_jobs += 1 old_time = self._last_collect_time self._last_collect_time = time() diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 8a95ca1278..8abe2599df 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -2,10 +2,10 @@ import time from unittest.mock import patch from ding.framework import task, Parallel -from ding.framework.context import OnlineRLContext from ding.framework.middleware import LeagueCoordinator -from ding.league.v2 import BaseLeague, Job +from ding.league.v2 import Job from ding.framework import EventEnum +from ding.league.player import PlayerMeta class MockLeague: @@ -36,7 +36,7 @@ def _main(): if task.router.node_id == 0: with patch("ding.league.BaseLeague", MockLeague): league = MockLeague() - coordinator = LeagueCoordinator(league) + coordinator = LeagueCoordinator(None, league) time.sleep(3) assert league.update_payoff_cnt == 3 assert league.update_active_player_cnt == 3 @@ -55,8 +55,9 @@ def _main(): assert task.router.node_id == res[-1].actor_id elif task.router.node_id == 2: # test LEARNER_SEND_META - for _ in range(3): - task.emit(EventEnum.LEARNER_SEND_META, {"meta": task.router.node_id}) + for i in range(3): + player_meta = PlayerMeta(player_id="test_player_{}".format(i), checkpoint=None) + task.emit(EventEnum.LEARNER_SEND_META, player_meta) time.sleep(3) elif task.router.node_id == 3: # test ACTOR_FINISH_JOB @@ -71,7 +72,3 @@ def _main(): @pytest.mark.unittest def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) - - -if __name__ == "__main__": - Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) From e63d710ff6ddde2957617c969c55293239f5a2be Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 21:02:22 +0000 Subject: [PATCH 211/229] feature(zms): add test_league_learner_communicator.py --- ding/framework/middleware/league_learner.py | 111 +----------- .../middleware/tests/mock_for_test.py | 165 ++++++++++++++++++ .../middleware/tests/test_league_actor.py | 2 +- .../tests/test_league_learner_communicator.py | 135 ++++++++++++++ 4 files changed, 304 insertions(+), 109 deletions(-) create mode 100644 ding/framework/middleware/tests/test_league_learner_communicator.py diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner.py index 409e68647d..c9c5cb7654 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner.py @@ -2,21 +2,17 @@ import os from dataclasses import dataclass from collections import deque -from threading import Lock from time import sleep -from typing import TYPE_CHECKING, Callable, Optional -from ding.data.buffer.deque_buffer import DequeBuffer +from typing import TYPE_CHECKING from ding.framework import task, EventEnum -from ding.framework.middleware import OffPolicyLearner, CkptSaver, data_pusher -from ding.framework.storage import Storage, FileStorage +from ding.framework.storage import FileStorage from ding.league.player import PlayerMeta from ding.utils.sparse_logging import log_every_sec -from ding.worker.learner.base_learner import BaseLearner if TYPE_CHECKING: from ding.policy import Policy - from ding.framework import Context, BattleContext + from ding.framework import BattleContext from ding.framework.middleware.league_actor import ActorData from ding.league import ActivePlayer @@ -77,104 +73,3 @@ def __call__(self, ctx: "BattleContext"): player_id=self.player_id, state_dict=self.policy.state_dict(), train_iter=ctx.train_iter ) task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) - - -# class OffPolicyLeagueLearner: - -# def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: -# self._buffer = DequeBuffer(size=10000) -# self._policy = policy_fn().learn_mode -# self.player_id = player.player_id -# task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._push_data) -# self._learner = OffPolicyLearner(cfg, self._policy, self._buffer) -# # self._ckpt_handler = CkptSaver(cfg, self._policy, train_freq=100) - -# def _push_data(self, data: "ActorData"): -# print("push data into the buffer!") -# self._buffer.push(data.train_data) - -# def __call__(self, ctx: "Context"): -# print("num of objects in buffer:", self._buffer.count()) -# self._learner(ctx) -# checkpoint = None - -# sleep(2) -# print('learner send player meta\n', flush=True) -# task.emit( -# EventEnum.LEARNER_SEND_META, -# PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=0) -# ) - -# learner_model = LearnerModel( -# player_id=self.player_id, -# state_dict=self._policy.state_dict(), -# train_iter=ctx.train_iter # self._policy.state_dict() -# ) -# print('learner send model\n', flush=True) -# task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) - -# class LeagueLearner: - -# def __init__(self, cfg: dict, policy_fn: Callable, player: "ActivePlayer") -> None: -# self.cfg = cfg -# self.policy_fn = policy_fn -# self.player = player -# self.player_id = player.player_id -# self.checkpoint_prefix = cfg.policy.other.league.path_policy -# self._learner = self._get_learner() -# self._lock = Lock() -# task.on(EventEnum.ACTOR_SEND_DATA.format(player=self.player_id), self._on_actor_send_data) -# self._step = 0 - -# def _on_actor_send_data(self, actor_data: "ActorData"): -# logging.info("learner {} receive data from actor! \n".format(task.router.node_id), flush=True) -# with self._lock: -# cfg = self.cfg -# for _ in range(cfg.policy.learn.update_per_collect): -# pass -# # print("train model") -# # print(actor_data.train_data) -# # self._learner.train(actor_data.train_data, actor_data.env_step) - -# self.player.total_agent_step = self._learner.train_iter -# # print("save checkpoint") -# checkpoint = self._save_checkpoint() if self.player.is_trained_enough() else None - -# print('learner {} send player meta {}\n'.format(task.router.node_id, self.player_id), flush=True) -# task.emit( -# EventEnum.LEARNER_SEND_META, -# PlayerMeta(player_id=self.player_id, checkpoint=checkpoint, total_agent_step=self._learner.train_iter) -# ) - -# # print("pack model") -# learner_model = LearnerModel( -# player_id=self.player_id, state_dict=self._learner.policy.state_dict(), train_iter=self._learner.train_iter -# ) -# print('learner {} send model\n'.format(task.router.node_id), flush=True) -# task.emit(EventEnum.LEARNER_SEND_MODEL, learner_model) - -# def _get_learner(self) -> BaseLearner: -# policy = self.policy_fn().learn_mode -# learner = BaseLearner( -# self.cfg.policy.learn.learner, -# policy, -# exp_name=self.cfg.exp_name, -# instance_name=self.player_id + '_learner' -# ) -# return learner - -# def _save_checkpoint(self) -> Optional[Storage]: -# if not os.path.exists(self.checkpoint_prefix): -# os.makedirs(self.checkpoint_prefix) -# storage = FileStorage( -# path=os.path. -# join(self.checkpoint_prefix, "{}_{}_ckpt.pth".format(self.player_id, self._learner.train_iter)) -# ) -# storage.save(self._learner.policy.state_dict()) -# return storage - -# def __del__(self): -# print('task finished, learner {} closed\n'.format(task.router.node_id), flush=True) - -# def __call__(self, _: "Context") -> None: -# sleep(1) diff --git a/ding/framework/middleware/tests/mock_for_test.py b/ding/framework/middleware/tests/mock_for_test.py index 03c0827d60..cfb937bf09 100644 --- a/ding/framework/middleware/tests/mock_for_test.py +++ b/ding/framework/middleware/tests/mock_for_test.py @@ -165,3 +165,168 @@ def close(*args): def flush(*args): pass + + +league_cfg = EasyDict( + { + 'env': { + 'manager': { + 'episode_num': 100000, + 'max_retry': 1000, + 'retry_type': 'renew', + 'auto_reset': True, + 'step_timeout': None, + 'reset_timeout': None, + 'retry_waiting_time': 0.1, + 'cfg_type': 'BaseEnvManagerDict', + 'shared_memory': False, + 'return_original_data': True + }, + 'collector_env_num': 1, + 'evaluator_env_num': 1, + 'n_evaluator_episode': 100, + 'env_type': 'prisoner_dilemma', + 'stop_value': [-10.1, -5.05] + }, + 'policy': { + 'model': { + 'obs_shape': 2, + 'action_shape': 2, + 'action_space': 'discrete', + 'encoder_hidden_size_list': [32, 32], + 'critic_head_hidden_size': 32, + 'actor_head_hidden_size': 32, + 'share_encoder': False + }, + 'learn': { + 'learner': { + 'train_iterations': 1000000000, + 'dataloader': { + 'num_workers': 0 + }, + 'log_policy': False, + 'hook': { + 'load_ckpt_before_run': '', + 'log_show_after_iter': 100, + 'save_ckpt_after_iter': 10000, + 'save_ckpt_after_run': True + }, + 'cfg_type': 'BaseLearnerDict' + }, + 'multi_gpu': False, + 'epoch_per_collect': 10, + 'batch_size': 16, + 'learning_rate': 1e-05, + 'value_weight': 0.5, + 'entropy_weight': 0.0, + 'clip_ratio': 0.2, + 'adv_norm': True, + 'value_norm': True, + 'ppo_param_init': True, + 'grad_clip_type': 'clip_norm', + 'grad_clip_value': 0.5, + 'ignore_done': False, + 'update_per_collect': 3, + 'scheduler': { + 'schedule_flag': False, + 'schedule_mode': 'reduce', + 'factor': 0.005, + 'change_range': [0, 1], + 'threshold': 0.5, + 'patience': 50 + } + }, + 'collect': { + 'collector': { + 'deepcopy_obs': False, + 'transform_obs': False, + 'collect_print_freq': 100, + 'get_train_sample': True, + 'cfg_type': 'BattleEpisodeSerialCollectorDict' + }, + 'discount_factor': 1.0, + 'gae_lambda': 1.0, + 'n_episode': 1, + 'n_rollout_samples': 64, + 'n_sample': 64, + 'unroll_len': 1 + }, + 'eval': { + 'evaluator': { + 'eval_freq': 50, + 'cfg_type': 'BattleInteractionSerialEvaluatorDict', + 'stop_value': [-10.1, -5.05], + 'n_episode': 100 + } + }, + 'other': { + 'replay_buffer': { + 'type': 'naive', + 'replay_buffer_size': 10000, + 'deepcopy': False, + 'enable_track_used_data': False, + 'periodic_thruput_seconds': 60, + 'cfg_type': 'NaiveReplayBufferDict' + }, + 'league': { + 'player_category': ['default'], + 'path_policy': 'league_demo/ckpt', + 'active_players': { + 'main_player': 2 + }, + 'main_player': { + 'one_phase_step': 10, # 20 + 'branch_probs': { + 'pfsp': 0.0, + 'sp': 1.0 + }, + 'strong_win_rate': 0.7 + }, + 'main_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'main_players': 1.0 + }, + 'strong_win_rate': 0.7, + 'min_valid_win_rate': 0.3 + }, + 'league_exploiter': { + 'one_phase_step': 200, + 'branch_probs': { + 'pfsp': 1.0 + }, + 'strong_win_rate': 0.7, + 'mutate_prob': 0.5 + }, + 'use_pretrain': False, + 'use_pretrain_init_historical': False, + 'payoff': { + 'type': 'battle', + 'decay': 0.99, + 'min_win_rate_games': 8 + }, + 'metric': { + 'mu': 0, + 'sigma': 8.333333333333334, + 'beta': 4.166666666666667, + 'tau': 0.0, + 'draw_probability': 0.02 + } + } + }, + 'type': 'ppo', + 'cuda': False, + 'on_policy': True, + 'priority': False, + 'priority_IS_weight': False, + 'recompute_adv': True, + 'action_space': 'discrete', + 'nstep_return': False, + 'multi_agent': False, + 'transition_with_policy_data': True, + 'cfg_type': 'PPOPolicyDict' + }, + 'exp_name': 'league_demo', + 'seed': 0 + } +) diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 6d5416a554..c1c9823707 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -4,7 +4,7 @@ from ding.envs import BaseEnvManager from ding.framework.context import BattleContext from ding.framework.middleware.league_learner import LearnerModel -from ding.framework.middleware.tests.league_config import cfg +from ding.framework.middleware.tests.mock_for_test import league_cfg from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py new file mode 100644 index 0000000000..d2c4f5cfa4 --- /dev/null +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -0,0 +1,135 @@ +from copy import deepcopy +from dataclasses import dataclass +from time import sleep +import time +import pytest +import logging +from typing import Any +from unittest.mock import patch +from typing import Callable, Optional + +from ding.framework.context import BattleContext +from ding.framework import EventEnum +from ding.framework.task import task, Parallel +from ding.framework.middleware import LeagueLearnerCommunicator, LearnerModel +from ding.framework.middleware.functional.actor_data import * +from ding.framework.middleware.tests.mock_for_test import league_cfg + +from ding.model import VAC +from ding.policy.ppo import PPOPolicy + +PLAYER_ID = "test_player" + +def prepare_test(): + global league_cfg + cfg = deepcopy(league_cfg) + + def policy_fn(): + model = VAC(**cfg.policy.model) + policy = PPOPolicy(cfg.policy, model=model) + return policy + + return cfg, policy_fn + + +@dataclass +class TestActorData: + env_step: int + train_data: Any + + +class MockFileStorage: + + def __init__(self, path: str) -> None: + self.path = path + + def save(self, data: Any) -> bool: + assert isinstance(data, dict) + + +class MockPlayer: + + def __init__(self) -> None: + self.player_id = PLAYER_ID + self.total_agent_step = 0 + + def is_trained_enough(self) -> bool: + return True + + +def coordinator_mocker(): + + test_cases = { + "on_learner_meta": False + } + + def on_learner_meta(player_meta): + assert player_meta.player_id == PLAYER_ID + test_cases["on_learner_meta"] = True + + + task.on(EventEnum.LEARNER_SEND_META.format(player=PLAYER_ID), on_learner_meta) + + def _coordinator_mocker(ctx): + sleep(0.8) + assert all(test_cases.values()) + + return _coordinator_mocker + + +def actor_mocker(): + + test_cases = { + "on_learner_model": False + } + + def on_learner_model(learner_model): + assert isinstance(learner_model, LearnerModel) + assert learner_model.player_id == PLAYER_ID + test_cases["on_learner_model"] = True + + task.on(EventEnum.LEARNER_SEND_MODEL.format(player=PLAYER_ID), on_learner_model) + + def _actor_mocker(ctx): + sleep(0.2) + player = MockPlayer() + for _ in range(10): + meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) + data = [] + actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) + task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) + + sleep(0.8) + assert all(test_cases.values()) + + return _actor_mocker + + +def _main(): + logging.getLogger().setLevel(logging.INFO) + cfg, policy_fn = prepare_test() + + with task.start(async_mode=False, ctx=BattleContext()): + if task.router.node_id == 0: + task.use(coordinator_mocker()) + elif task.router.node_id <= 1: + task.use(actor_mocker()) + else: + player = MockPlayer() + policy = policy_fn() + with patch("ding.framework.storage.FileStorage", MockFileStorage): + learner_communicator = LeagueLearnerCommunicator(cfg, policy.learn_mode, player) + sleep(0.5) + assert len(learner_communicator._cache) == 10 + task.use(learner_communicator) + sleep(0.1) + task.run(max_step=1) + + +@pytest.mark.unittest +def test_league_learner(): + Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(_main) + + +if __name__ == '__main__': + Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(_main) From 30e6249002bca333def4f9018efc901a99f0b44d Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 21:08:13 +0000 Subject: [PATCH 212/229] change a bit --- ding/framework/middleware/__init__.py | 2 +- .../{league_learner.py => league_learner_communicator.py} | 5 ----- .../middleware/tests/test_league_learner_communicator.py | 4 ---- 3 files changed, 1 insertion(+), 10 deletions(-) rename ding/framework/middleware/{league_learner.py => league_learner_communicator.py} (88%) diff --git a/ding/framework/middleware/__init__.py b/ding/framework/middleware/__init__.py index f2a68c64bf..12484568c6 100644 --- a/ding/framework/middleware/__init__.py +++ b/ding/framework/middleware/__init__.py @@ -4,4 +4,4 @@ from .ckpt_handler import CkptSaver from .league_actor import StepLeagueActor from .league_coordinator import LeagueCoordinator -from .league_learner import * +from .league_learner_communicator import LeagueLearnerCommunicator, LearnerModel diff --git a/ding/framework/middleware/league_learner.py b/ding/framework/middleware/league_learner_communicator.py similarity index 88% rename from ding/framework/middleware/league_learner.py rename to ding/framework/middleware/league_learner_communicator.py index c9c5cb7654..1e437bfd74 100644 --- a/ding/framework/middleware/league_learner.py +++ b/ding/framework/middleware/league_learner_communicator.py @@ -45,13 +45,8 @@ def _push_data(self, data: "ActorData"): for env_trajectories in data.train_data: for traj in env_trajectories.trajectories: self._cache.append(traj) - # if isinstance(data.train_data, list): - # self._cache.extend(data.train_data) - # else: - # self._cache.append(data.train_data) def __call__(self, ctx: "BattleContext"): - # log_every_sec(logging.INFO, 5, "[Learner {}] pour data into the ctx".format(task.router.node_id)) ctx.trajectories = list(self._cache) self._cache.clear() sleep(0.0001) diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py index d2c4f5cfa4..6399ad09a4 100644 --- a/ding/framework/middleware/tests/test_league_learner_communicator.py +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -129,7 +129,3 @@ def _main(): @pytest.mark.unittest def test_league_learner(): Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(_main) - - -if __name__ == '__main__': - Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(_main) From 9dc8770a9af2df92b6bd149cc3d6a11e266cbd38 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 21:09:43 +0000 Subject: [PATCH 213/229] change file name --- ding/framework/middleware/league_actor.py | 2 +- ding/framework/middleware/tests/test_league_actor.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 02a202c709..cc080ddf1d 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -17,7 +17,7 @@ if TYPE_CHECKING: from ding.league.v2.base_league import Job from ding.framework import BattleContext - from ding.framework.middleware.league_learner import LearnerModel + from ding.framework.middleware.league_learner_communicator import LearnerModel class StepLeagueActor: diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index c1c9823707..71d4b53425 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -3,7 +3,7 @@ from copy import deepcopy from ding.envs import BaseEnvManager from ding.framework.context import BattleContext -from ding.framework.middleware.league_learner import LearnerModel +from ding.framework.middleware.league_learner_communicator import LearnerModel from ding.framework.middleware.tests.mock_for_test import league_cfg from ding.framework.middleware import LeagueActor, StepLeagueActor from ding.framework.middleware.functional import ActorData From 117ae79cdc79b335b919ee3e7ca98b2bc0c8bfe4 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 21:58:02 +0000 Subject: [PATCH 214/229] update test_handle_step_exception.py --- .../tests/test_handle_step_exception.py | 31 +++++++++++++------ 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py index 0ebbd460fc..7466e27b9b 100644 --- a/ding/framework/middleware/tests/test_handle_step_exception.py +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -1,37 +1,48 @@ from ding.framework.context import BattleContext -from ding.framework.middleware.functional.collector import TransitionList -from ding.framework.middleware.tests import battle_rolloutor_for_distar +from ding.framework.middleware.functional.collector import BattleTransitionList +from ding.framework.middleware.functional import battle_rolloutor_for_distar import pytest from unittest.mock import Mock from ding.envs import BaseEnvTimestep from easydict import EasyDict -class MockEnvManager(Mock): +class MockEnvManager: + + def __init__(self) -> None: + self.ready_obs = [[[]]] def step(self, actions): timesteps = {} for env_id in actions.keys(): - timesteps[env_id] = BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={'step_error': True}) + timesteps[env_id] = BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={'abnormal': True}) return timesteps +class MockPolicy: + + def __init__(self) -> None: + pass + + def reset(self, data): + pass + + @pytest.mark.unittest def test_handle_step_exception(): ctx = BattleContext() ctx.total_envstep_count = 10 ctx.env_step = 20 - transitions_list = [TransitionList(env_num=2)] + transitions_list = [BattleTransitionList(env_num=2, unroll_len=5)] + ctx.current_policies = [MockPolicy()] for _ in range(5): transitions_list[0].append(env_id=0, transition=BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={})) transitions_list[0].append(env_id=1, transition=BaseEnvTimestep(obs=[1], reward=[1, 1], done=False, info={})) ctx.actions = {0: {}} ctx.obs = {0: {0: {}}} - rolloutor = battle_rolloutor_for_distar(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list) + rolloutor = battle_rolloutor_for_distar(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list, model_info_dict=None) rolloutor(ctx) - assert ctx.total_envstep_count == 5 - assert ctx.env_step == 15 - assert transitions_list[0].length(0) == 0 - assert transitions_list[0].length(1) == 5 + assert len(transitions_list[0]._transitions[0]) == 0 + assert len(transitions_list[0]._transitions[1]) == 1 From f66248dee1d6ecb3d927c89830adf4f077e57ffa Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Thu, 25 Aug 2022 22:22:20 +0000 Subject: [PATCH 215/229] update test of BattleTransitionList, and add last_step_fn in BattleTransitionList, make battle_rolloutor_for_distar run in dict and list cases --- .../middleware/tests/test_collector.py | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 6d231afa09..81cd1db608 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -89,8 +89,7 @@ def test_episode_collector(): assert len(ctx.episodes) == 16 -@pytest.mark.unittest -def test_battle_transition_list(): +def test_battle_transition(): env_num = 2 unroll_len = 32 transition_list = BattleTransitionList(env_num, unroll_len) @@ -182,17 +181,13 @@ def test_battle_transition_list(): assert transition.obs == i i += 1 - # print(env_0_result) - # print(env_1_result) - # print(transition_list._transitions[0]) - # print(transition_list._transitions[1]) - - transition_list_2.clear_newest_episode(env_id=0) - transition_list_2.clear_newest_episode(env_id=1) - + transition_list_2.clear_newest_episode(env_id=0, before_append=True) + transition_list_2.clear_newest_episode(env_id=1, before_append=True) assert len(transition_list_2._transitions[0]) == 2 assert len(transition_list_2._transitions[1]) == 1 -if __name__ == '__main__': - test_battle_transition_list() \ No newline at end of file +@pytest.mark.unittest +def test_battle_transition_list(): + with task.start(): + test_battle_transition() From 8cf4a820a1402dbfc1f6af1920037f946e8ce367 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 06:31:50 +0000 Subject: [PATCH 216/229] uupdate tests; actor, collector, functional collector --- ding/framework/middleware/collector.py | 320 +++++++----------- .../middleware/functional/__init__.py | 2 +- .../middleware/functional/collector.py | 126 ++----- ding/framework/middleware/league_actor.py | 186 +--------- .../tests/test_handle_step_exception.py | 4 +- .../middleware/tests/test_league_actor.py | 12 +- .../tests/test_league_coordinator.py | 3 + .../tests/test_league_learner_communicator.py | 2 +- 8 files changed, 165 insertions(+), 490 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 02ed30d403..b2f1494cca 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -14,6 +14,110 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext, BattleContext + +class StepCollector: + """ + Overview: + The class of the collector running by steps, including model inference and transition \ + process. Use the `__call__` method to execute the whole collection process. + """ + + def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager, random_collect_size: int = 0) -> None: + """ + Arguments: + - cfg (:obj:`EasyDict`): Config. + - policy (:obj:`Policy`): The policy to be collected. + - env (:obj:`BaseEnvManager`): The env for the collection, the BaseEnvManager object or \ + its derivatives are supported. + - random_collect_size (:obj:`int`): The count of samples that will be collected randomly, \ + typically used in initial runs. + """ + self.cfg = cfg + self.env = env + self.policy = policy + self.random_collect_size = random_collect_size + self._transitions = TransitionList(self.env.env_num) + self._inferencer = task.wrap(inferencer(cfg, policy, env)) + self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) + + def __call__(self, ctx: "OnlineRLContext") -> None: + """ + Overview: + An encapsulation of inference and rollout middleware. Stop when completing \ + the target number of steps. + Input of ctx: + - env_step (:obj:`int`): The env steps which will increase during collection. + """ + old = ctx.env_step + if self.random_collect_size > 0 and old < self.random_collect_size: + target_size = self.random_collect_size - old + random_policy = get_random_policy(self.cfg, self.policy, self.env) + current_inferencer = task.wrap(inferencer(self.cfg, random_policy, self.env)) + else: + # compatible with old config, a train sample = unroll_len step + target_size = self.cfg.policy.collect.n_sample * self.cfg.policy.collect.unroll_len + current_inferencer = self._inferencer + + while True: + current_inferencer(ctx) + self._rolloutor(ctx) + if ctx.env_step - old >= target_size: + ctx.trajectories, ctx.trajectory_end_idx = self._transitions.to_trajectories() + self._transitions.clear() + break + + +class EpisodeCollector: + """ + Overview: + The class of the collector running by episodes, including model inference and transition \ + process. Use the `__call__` method to execute the whole collection process. + """ + + def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager, random_collect_size: int = 0) -> None: + """ + Arguments: + - cfg (:obj:`EasyDict`): Config. + - policy (:obj:`Policy`): The policy to be collected. + - env (:obj:`BaseEnvManager`): The env for the collection, the BaseEnvManager object or \ + its derivatives are supported. + - random_collect_size (:obj:`int`): The count of samples that will be collected randomly, \ + typically used in initial runs. + """ + self.cfg = cfg + self.env = env + self.policy = policy + self.random_collect_size = random_collect_size + self._transitions = TransitionList(self.env.env_num) + self._inferencer = task.wrap(inferencer(cfg, policy, env)) + self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) + + def __call__(self, ctx: "OnlineRLContext") -> None: + """ + Overview: + An encapsulation of inference and rollout middleware. Stop when completing the \ + target number of episodes. + Input of ctx: + - env_episode (:obj:`int`): The env env_episode which will increase during collection. + """ + old = ctx.env_episode + if self.random_collect_size > 0 and old < self.random_collect_size: + target_size = self.random_collect_size - old + random_policy = get_random_policy(self.cfg, self.policy, self.env) + current_inferencer = task.wrap(inferencer(self.cfg, random_policy, self.env)) + else: + target_size = self.cfg.policy.collect.n_episode + current_inferencer = self._inferencer + + while True: + current_inferencer(ctx) + self._rolloutor(ctx) + if ctx.env_episode - old >= target_size: + ctx.episodes = self._transitions.to_episodes() + self._transitions.clear() + break + + WAIT_MODEL_TIME = float('inf') @@ -57,7 +161,8 @@ def __del__(self) -> None: def _update_policies(self, player_id_set) -> None: for player_id in player_id_set: - # for this player, in the beginning of actor's lifetime, actor didn't recieve any new model, use initial model instead. + # for this player, if in the beginning of actor's lifetime, + # actor didn't recieve any new model, use initial model instead. if self.model_info_dict.get(player_id) is None: self.model_info_dict[player_id] = PlayerModelInfo( get_new_model_time=time.time(), update_new_model_time=None @@ -73,7 +178,6 @@ def _update_policies(self, player_id_set) -> None: if any(x >= WAIT_MODEL_TIME for x in time_list): for index, player_id in enumerate(update_player_id_set): if time_list[index] >= WAIT_MODEL_TIME: - #TODO: log_every_sec can only print the first model that not updated log_every_sec( logging.WARNING, 5, 'In actor {}, model for {} is not updated for {} senconds, and need new model'.format( @@ -98,36 +202,19 @@ def _update_policies(self, player_id_set) -> None: self.model_dict[player_id] = None def __call__(self, ctx: "BattleContext") -> None: - """ - Input of ctx: - - n_episode (:obj:`int`): the number of collecting data episode - - train_iter (:obj:`int`): the number of training iteration - - collect_kwargs (:obj:`dict`): the keyword args for policy forward - Output of ctx: - - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ - the former is a list containing collected episodes if not get_train_sample, \ - otherwise, return train_samples split by unroll_len. - """ + ctx.total_envstep_count = self.total_envstep_count old = ctx.env_step while True: if self.env.closed: self.env.launch() - # TODO(zms): only runnable when 1 actor has exactly one env, need to write more general - for policy_id, policy in enumerate(ctx.current_policies): - policy.reset(self.env.ready_obs[0][policy_id]) - self._update_policies(set(ctx.player_id_list)) - try: - self._battle_inferencer(ctx) - self._battle_rolloutor(ctx) - except Exception as e: - # TODO(zms): need to handle the exception cleaner - logging.error("[Actor {}] got an exception: {} when collect data".format(task.router.node_id, e)) - self.env.close() for env_id in range(self.env_num): - for policy_id, policy in enumerate(ctx.current_policies): - self._transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) + for policy in ctx.current_policies: + policy.reset([env_id]) + self._update_policies(set(ctx.player_id_list)) + self._battle_inferencer(ctx) + self._battle_rolloutor(ctx) self.total_envstep_count = ctx.total_envstep_count @@ -144,185 +231,4 @@ def __call__(self, ctx: "BattleContext") -> None: break -# class BattleEpisodeCollector: - -# def __init__( -# self, cfg: EasyDict, env: BaseEnvManager, n_rollout_samples: int, model_dict: Dict, player_policy_collect_dict: Dict, -# agent_num: int -# ): -# self.cfg = cfg -# self.end_flag = False -# # self._reset(env) -# self.env = env -# self.env_num = self.env.env_num - -# self.total_envstep_count = 0 -# self.n_rollout_samples = n_rollout_samples -# self.model_dict = model_dict -# self.player_policy_collect_dict = player_policy_collect_dict -# self.agent_num = agent_num - -# self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) -# self._transitions_list = [TransitionList(self.env.env_num) for _ in range(self.agent_num)] -# self._battle_rolloutor = task.wrap(battle_rolloutor(self.cfg, self.env, self._transitions_list)) - -# def __del__(self) -> None: -# """ -# Overview: -# Execute the close command and close the collector. __del__ is automatically called to \ -# destroy the collector instance when the collector finishes its work -# """ -# if self.end_flag: -# return -# self.end_flag = True -# self.env.close() - -# def _update_policies(self, player_id_list) -> None: -# for player_id in player_id_list: -# if self.model_dict.get(player_id) is None: -# continue -# else: -# learner_model = self.model_dict.get(player_id) -# policy = self.player_policy_collect_dict.get(player_id) -# assert policy, "for player {}, policy should have been initialized already".format(player_id) -# # update policy model -# policy.load_state_dict(learner_model.state_dict) -# self.model_dict[player_id] = None - -# def __call__(self, ctx: "BattleContext") -> None: -# """ -# Input of ctx: -# - n_episode (:obj:`int`): the number of collecting data episode -# - train_iter (:obj:`int`): the number of training iteration -# - collect_kwargs (:obj:`dict`): the keyword args for policy forward -# Output of ctx: -# - ctx.train_data (:obj:`Tuple[List, List]`): A tuple with training sample(data) and episode info, \ -# the former is a list containing collected episodes if not get_train_sample, \ -# otherwise, return train_samples split by unroll_len. -# """ -# ctx.total_envstep_count = self.total_envstep_count -# old = ctx.env_episode -# while True: -# if self.env.closed: -# self.env.launch() -# self._update_policies(ctx.player_id_list) -# self._battle_inferencer(ctx) -# self._battle_rolloutor(ctx) - -# self.total_envstep_count = ctx.total_envstep_count - -# if (self.n_rollout_samples > 0 -# and ctx.env_episode - old >= self.n_rollout_samples) or ctx.env_episode >= ctx.n_episode: -# for transitions in self._transitions_list: -# ctx.episodes.append(transitions.to_episodes()) -# transitions.clear() -# if ctx.env_episode >= ctx.n_episode: -# self.env.close() -# ctx.job_finish = True -# break - - -class StepCollector: - """ - Overview: - The class of the collector running by steps, including model inference and transition \ - process. Use the `__call__` method to execute the whole collection process. - """ - - def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager, random_collect_size: int = 0) -> None: - """ - Arguments: - - cfg (:obj:`EasyDict`): Config. - - policy (:obj:`Policy`): The policy to be collected. - - env (:obj:`BaseEnvManager`): The env for the collection, the BaseEnvManager object or \ - its derivatives are supported. - - random_collect_size (:obj:`int`): The count of samples that will be collected randomly, \ - typically used in initial runs. - """ - self.cfg = cfg - self.env = env - self.policy = policy - self.random_collect_size = random_collect_size - self._transitions = TransitionList(self.env.env_num) - self._inferencer = task.wrap(inferencer(cfg, policy, env)) - self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) - - def __call__(self, ctx: "OnlineRLContext") -> None: - """ - Overview: - An encapsulation of inference and rollout middleware. Stop when completing \ - the target number of steps. - Input of ctx: - - env_step (:obj:`int`): The env steps which will increase during collection. - """ - old = ctx.env_step - if self.random_collect_size > 0 and old < self.random_collect_size: - target_size = self.random_collect_size - old - random_policy = get_random_policy(self.cfg, self.policy, self.env) - current_inferencer = task.wrap(inferencer(self.cfg, random_policy, self.env)) - else: - # compatible with old config, a train sample = unroll_len step - target_size = self.cfg.policy.collect.n_sample * self.cfg.policy.collect.unroll_len - current_inferencer = self._inferencer - - while True: - current_inferencer(ctx) - self._rolloutor(ctx) - if ctx.env_step - old >= target_size: - ctx.trajectories, ctx.trajectory_end_idx = self._transitions.to_trajectories() - self._transitions.clear() - break - - -class EpisodeCollector: - """ - Overview: - The class of the collector running by episodes, including model inference and transition \ - process. Use the `__call__` method to execute the whole collection process. - """ - - def __init__(self, cfg: EasyDict, policy, env: BaseEnvManager, random_collect_size: int = 0) -> None: - """ - Arguments: - - cfg (:obj:`EasyDict`): Config. - - policy (:obj:`Policy`): The policy to be collected. - - env (:obj:`BaseEnvManager`): The env for the collection, the BaseEnvManager object or \ - its derivatives are supported. - - random_collect_size (:obj:`int`): The count of samples that will be collected randomly, \ - typically used in initial runs. - """ - self.cfg = cfg - self.env = env - self.policy = policy - self.random_collect_size = random_collect_size - self._transitions = TransitionList(self.env.env_num) - self._inferencer = task.wrap(inferencer(cfg, policy, env)) - self._rolloutor = task.wrap(rolloutor(cfg, policy, env, self._transitions)) - - def __call__(self, ctx: "OnlineRLContext") -> None: - """ - Overview: - An encapsulation of inference and rollout middleware. Stop when completing the \ - target number of episodes. - Input of ctx: - - env_episode (:obj:`int`): The env env_episode which will increase during collection. - """ - old = ctx.env_episode - if self.random_collect_size > 0 and old < self.random_collect_size: - target_size = self.random_collect_size - old - random_policy = get_random_policy(self.cfg, self.policy, self.env) - current_inferencer = task.wrap(inferencer(self.cfg, random_policy, self.env)) - else: - target_size = self.cfg.policy.collect.n_episode - current_inferencer = self._inferencer - - while True: - current_inferencer(ctx) - self._rolloutor(ctx) - if ctx.env_episode - old >= target_size: - ctx.episodes = self._transitions.to_episodes() - self._transitions.clear() - break - - -# TODO battle collector +# TODO BattleEpisodeCollector diff --git a/ding/framework/middleware/functional/__init__.py b/ding/framework/middleware/functional/__init__.py index c67dec4777..d3e124d2c3 100644 --- a/ding/framework/middleware/functional/__init__.py +++ b/ding/framework/middleware/functional/__init__.py @@ -2,7 +2,7 @@ from .data_processor import offpolicy_data_fetcher, data_pusher, offline_data_fetcher, offline_data_saver, \ sqil_data_pusher from .collector import inferencer, rolloutor, TransitionList, BattleTransitionList, \ - battle_inferencer, battle_rolloutor, battle_inferencer_for_distar, battle_rolloutor_for_distar + battle_inferencer, battle_rolloutor from .evaluator import interaction_evaluator from .termination_checker import termination_checker from .ctx_helper import final_ctx_saver diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index da13c4a7af..aa9570e2ce 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -56,13 +56,14 @@ def clear(self): class BattleTransitionList: - def __init__(self, env_num: int, unroll_len: int) -> None: + def __init__(self, env_num: int, unroll_len: int, last_step_fn: Callable = None) -> None: # for each env, we have a deque to buffer episodes, # and a deque to tell each episode is finished or not self.env_num = env_num self._transitions = [deque() for _ in range(env_num)] self._done_episode = [deque() for _ in range(env_num)] self._unroll_len = unroll_len + self._last_step_fn = last_step_fn # TODO(zms): last transition + 1 def get_env_trajectories(self, env_id: int, only_finished: bool = False) -> List[List]: @@ -110,11 +111,10 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: num_complele_trajectory, num_tail_transitions = divmod(len(episode), self._unroll_len) for i in range(num_complele_trajectory): trajectory = episode[i * self._unroll_len:(i + 1) * self._unroll_len] - # TODO(zms): 测试专用,之后去掉 - last_step = deepcopy(trajectory[-1]) - for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: - last_step.pop(k) - trajectory.append(last_step) + if self._last_step_fn: + last_step = deepcopy(trajectory[-1]) + last_step = self._last_step_fn(last_step) + trajectory.append(last_step) return_episode.append(trajectory) if num_tail_transitions > 0: @@ -124,11 +124,10 @@ def _cut_trajectory_from_episode(self, episode: list) -> List[List]: for _ in range(self._unroll_len - len(trajectory)): initial_elements.append(trajectory[0]) trajectory = initial_elements + trajectory - # TODO(zms): 测试专用,之后去掉 - last_step = deepcopy(trajectory[-1]) - for k in ['mask', 'action_info', 'teacher_logit', 'behaviour_logp', 'selected_units_num', 'reward', 'step']: - last_step.pop(k) - trajectory.append(last_step) + if self._last_step_fn: + last_step = deepcopy(trajectory[-1]) + last_step = self._last_step_fn(last_step) + trajectory.append(last_step) return_episode.append(trajectory) return return_episode # list of trajectories @@ -267,11 +266,6 @@ def battle_inferencer(cfg: EasyDict, env: BaseEnvManager): def _battle_inferencer(ctx: "BattleContext"): # Get current env obs. obs = env.ready_obs - # the role of remain_episode is to mask necessary rollouts, avoid processing unnecessary data - # new_available_env_id = set(obs.keys()).difference(ctx.ready_env_id) - # ctx.ready_env_id = ctx.ready_env_id.union(set(list(new_available_env_id)[:ctx.remain_episode])) - # ctx.remain_episode -= min(len(new_available_env_id), ctx.remain_episode) - # obs = {env_id: obs[env_id] for env_id in ctx.ready_env_id} # Policy forward. if cfg.transform_obs: @@ -297,7 +291,21 @@ def _battle_rolloutor(ctx: "BattleContext"): timesteps = env.step(ctx.actions) ctx.total_envstep_count += len(timesteps) ctx.env_step += len(timesteps) + + if isinstance(timesteps, list): + new_time_steps = {} + for env_id, timestep in enumerate(timesteps): + new_time_steps[env_id] = timestep + timesteps = new_time_steps + for env_id, timestep in timesteps.items(): + if isinstance(timestep.info, dict) and timestep.info.get('abnormal'): + for policy_id, policy in enumerate(ctx.current_policies): + transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) + policy.reset([env_id]) + continue + + episode_long_enough = True for policy_id, policy in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] policy_timestep = type(timestep)(*policy_timestep_data) @@ -308,92 +316,12 @@ def _battle_rolloutor(ctx: "BattleContext"): transition.collect_train_iter = ttorch.as_tensor( [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] ) - transitions_list[policy_id].append(env_id, transition) - if timestep.done: - policy.reset([env_id]) - ctx.episode_info[policy_id].append(timestep.info[policy_id]) - - if timestep.done: - # ctx.ready_env_id.remove(env_id) - ctx.env_episode += 1 - - return _battle_rolloutor - - -def battle_inferencer_for_distar(cfg: EasyDict, env: BaseEnvManager): - - def _battle_inferencer(ctx: "BattleContext"): - # Get current env obs. - obs = env.ready_obs - assert isinstance(obs, dict) - - ctx.obs = obs - - # Policy forward. - inference_output = {} - actions = {} - for env_id in ctx.obs.keys(): - observations = obs[env_id] - inference_output[env_id] = {} - actions[env_id] = {} - for policy_id, policy_obs in observations.items(): - # policy.forward - output = ctx.current_policies[policy_id].forward(policy_obs) - inference_output[env_id][policy_id] = output - actions[env_id][policy_id] = output['action'] - ctx.inference_output = inference_output - ctx.actions = actions - - return _battle_inferencer - - -def battle_rolloutor_for_distar(cfg: EasyDict, env: BaseEnvManager, transitions_list: List, model_info_dict: Dict): - - def _battle_rolloutor(ctx: "BattleContext"): - timesteps = env.step(ctx.actions) - - ctx.total_envstep_count += len(timesteps) - ctx.env_step += len(timesteps) - - # for env_id, timestep in timesteps.items(): - # TODO(zms): make sure a standard - # If for each step, the env manager can't get the obs of all envs, we need to use dict here. - for env_id, timestep in enumerate(timesteps): - if timestep.info.get('abnormal'): - # TODO(zms): cannot get exact env_step of a episode because for each observation, - # in most cases only one of two policies has a obs. - # ctx.total_envstep_count -= transitions_list[0].length(env_id) - # ctx.env_step -= transitions_list[0].length(env_id) - - # 1st case when env step has bug and need to reset. - - # TODO(zms): if it is first step of the episode, do not delete the last episode in the TransitionList - for policy_id, policy in enumerate(ctx.current_policies): - transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) - policy.reset(env.ready_obs[0][policy_id]) - continue - - episode_long_enough = True - for policy_id, policy in enumerate(ctx.current_policies): - if timestep.obs.get(policy_id): - policy_timestep = BaseEnvTimestep( - obs=timestep.obs.get(policy_id), - reward=timestep.reward[policy_id], - done=timestep.done, - info=timestep.info[policy_id] - ) - transition = policy.process_transition(obs=None, model_output=None, timestep=policy_timestep) - transition = EasyDict(transition) - transition.collect_train_iter = ttorch.as_tensor( - [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] - ) - - # 2nd case when the number of transitions in one of all the episodes is shorter than unroll_len - episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) + + episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) if timestep.done: for policy_id, policy in enumerate(ctx.current_policies): - policy.reset(env.ready_obs[0][policy_id]) + policy.reset([env_id]) ctx.episode_info[policy_id].append(timestep.info[policy_id]) if not episode_long_enough: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index cc080ddf1d..f582ed9a03 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -39,17 +39,12 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict = {} self.model_dict_lock = Lock() self.model_info_dict = {} + self.agent_num = 2 self.traj_num = 0 self.total_time = 0 self.total_episode_num = 0 - self.agent_num = 2 - - self.collect_time = {} - - # self._gae_estimator = gae_estimator(cfg, policy_fn().collect_mode) - def _on_learner_model(self, learner_model: "LearnerModel"): """ If get newest learner model, put it inside model_queue. @@ -85,7 +80,6 @@ def _get_collector(self, player_id: str): ) ) self._collectors[player_id] = collector - self.collect_time[player_id] = 0 return collector def _get_policy(self, player: "PlayerMeta", duplicate: bool = False) -> "Policy.collect_function": @@ -99,9 +93,10 @@ def _get_policy(self, player: "PlayerMeta", duplicate: bool = False) -> "Policy. player_policy = self.player_policy_dict.get(player_id) duplicate_policy: "Policy.collect_function" = self.policy_fn() del duplicate_policy._collect_model - del duplicate_policy.teacher_model duplicate_policy._collect_model = player_policy._collect_model - duplicate_policy.teacher_model = player_policy.teacher_model + if getattr(player_policy, 'teacher_model') and getattr(duplicate_policy, 'teacher_model'): + del duplicate_policy.teacher_model + duplicate_policy.teacher_model = player_policy.teacher_model return duplicate_policy.collect_mode else: policy: "Policy.collect_function" = self.policy_fn() @@ -109,12 +104,9 @@ def _get_policy(self, player: "PlayerMeta", duplicate: bool = False) -> "Policy. policy_collect_mode = policy.collect_mode self.player_policy_collect_dict[player_id] = policy_collect_mode + # TODO(zms): not only historical players, but also other players should + # update the policies to the checkpoint in job if "historical" in player.player_id: - print( - '[Actor {}] recieved historical player {}, checkpoint.path is {}'.format( - task.router.node_id, player.player_id, player.checkpoint.path - ) - ) policy_collect_mode.load_state_dict(player.checkpoint.load()) return policy_collect_mode @@ -143,16 +135,10 @@ def _get_current_policies(self, job): current_policies.append(self._get_policy(player, duplicate=True)) if player.player_id == job.launch_player: main_player = player - assert main_player, "[Actor {}] can not find active player.".format(task.router.node_id) - - if current_policies is not None: - #TODO(zms): make it more general, should we have the restriction of 1 policies - # assert len(current_policies) > 1, "[Actor {}] battle collector needs more than 1 policies".format( - # task.router.node_id - # ) - pass - else: - raise RuntimeError('[Actor {}] current_policies should not be None'.format(task.router.node_id)) + assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) + assert current_policies, "[Actor {}] current_policies should not be None".format( + task.router.node_id + ) return main_player, current_policies @@ -165,13 +151,13 @@ def __call__(self, ctx: "BattleContext"): log_every_sec( logging.INFO, 5, '[Actor {}] job of player {} begins.'.format(task.router.node_id, job.launch_player) ) - # TODO(zms): when get job, update the policies to the checkpoint in job + ctx.player_id_list = [player.player_id for player in job.players] main_player_idx = [idx for idx, player in enumerate(job.players) if player.player_id == job.launch_player] self.agent_num = len(job.players) collector = self._get_collector(job.launch_player) - main_player, ctx.current_policies = self._get_current_policies(job) + _, ctx.current_policies = self._get_current_policies(job) ctx.n_episode = self.cfg.policy.collect.n_episode assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( @@ -185,7 +171,6 @@ def __call__(self, ctx: "BattleContext"): while True: time_begin = time.time() - old_envstep = ctx.total_envstep_count collector(ctx) if ctx.job_finish is True: @@ -216,11 +201,6 @@ def __call__(self, ctx: "BattleContext"): ) ) - self.collect_time[job.launch_player] += time_end - time_begin - total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ - job.launch_player] != 0 else 0 - envstep_passed = ctx.total_envstep_count - old_envstep - real_time_speed = envstep_passed / (time_end - time_begin) gc.collect() if ctx.job_finish is True: @@ -232,6 +212,7 @@ def __call__(self, ctx: "BattleContext"): ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) break + self.total_episode_num += ctx.env_episode logging.info( '[Actor {}] finish {} episodes till now, speed is {} episode/s'.format( @@ -244,143 +225,4 @@ def __call__(self, ctx: "BattleContext"): ) ) - -# class LeagueActor: - -# def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): -# self.cfg = cfg -# self.env_fn = env_fn -# self.env_num = env_fn().env_num -# self.policy_fn = policy_fn -# self.n_rollout_samples = self.cfg.policy.collect.n_rollout_samples -# self._collectors: Dict[str, BattleEpisodeCollector] = {} -# self.player_policy_collect_dict: Dict[str, "Policy.collect_function"] = {} -# task.on(EventEnum.COORDINATOR_DISPATCH_ACTOR_JOB.format(actor_id=task.router.node_id), self._on_league_job) -# task.on(EventEnum.LEARNER_SEND_MODEL, self._on_learner_model) -# self.job_queue = queue.Queue() -# self.model_dict = {} -# self.model_dict_lock = Lock() - -# self.agent_num = 2 -# self.collect_time = {} - -# def _on_learner_model(self, learner_model: "LearnerModel"): -# """ -# If get newest learner model, put it inside model_queue. -# """ -# log_every_sec(logging.INFO, 5, "[Actor {}] receive model from learner \n".format(task.router.node_id)) -# with self.model_dict_lock: -# self.model_dict[learner_model.player_id] = learner_model - -# def _on_league_job(self, job: "Job"): -# """ -# Deal with job distributed by coordinator, put it inside job_queue. -# """ -# self.job_queue.put(job) - -# def _get_collector(self, player_id: str): -# if self._collectors.get(player_id): -# return self._collectors.get(player_id) -# cfg = self.cfg -# env = self.env_fn() -# collector = task.wrap( -# BattleEpisodeCollector( -# cfg.policy.collect.collector, env, self.n_rollout_samples, self.model_dict, self.player_policy_collect_dict, -# self.agent_num -# ) -# ) -# self._collectors[player_id] = collector -# self.collect_time[player_id] = 0 -# return collector - -# def _get_policy(self, player: "PlayerMeta") -> "Policy.collect_function": -# player_id = player.player_id -# if self.player_policy_collect_dict.get(player_id): -# return self.player_policy_collect_dict.get(player_id) -# policy: "Policy.collect_function" = self.policy_fn().collect_mode -# self.player_policy_collect_dict[player_id] = policy -# if "historical" in player.player_id: -# policy.load_state_dict(player.checkpoint.load()) - -# return policy - -# def _get_job(self): -# if self.job_queue.empty(): -# task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) -# job = None - -# try: -# job = self.job_queue.get(timeout=10) -# except queue.Empty: -# logging.warning("[Actor {}] no Job got from coordinator".format(task.router.node_id)) - -# return job - -# def _get_current_policies(self, job): -# current_policies = [] -# main_player: "PlayerMeta" = None -# for player in job.players: -# current_policies.append(self._get_policy(player)) -# if player.player_id == job.launch_player: -# main_player = player -# assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) - -# if current_policies is not None: -# assert len(current_policies) > 1, "battle collector needs more than 1 policies" -# for p in current_policies: -# p.reset() -# else: -# raise RuntimeError('current_policies should not be None') - -# return main_player, current_policies - -# def __call__(self, ctx: "BattleContext"): - -# job = self._get_job() -# if job is None: -# return - -# ctx.player_id_list = [player.player_id for player in job.players] -# self.agent_num = len(job.players) -# collector = self._get_collector(job.launch_player) - -# main_player, ctx.current_policies = self._get_current_policies(job) - -# ctx.n_episode = self.cfg.policy.collect.n_episode -# assert ctx.n_episode >= self.env_num, "[Actor {}] Please make sure n_episode >= env_num".format( -# task.router.node_id -# ) - -# ctx.episode_info = [[] for _ in range(self.agent_num)] -# ctx.remain_episode = ctx.n_episode -# while True: -# old_envstep = ctx.total_envstep_count -# time_begin = time.time() -# collector(ctx) -# meta_data = ActorDataMeta( -# player_total_env_step=ctx.total_envstep_count, actor_id=task.router.node_id, send_wall_time=time.time() -# ) - -# if not job.is_eval and len(ctx.episodes[0]) > 0: -# actor_data = ActorData(meta=meta_data, train_data=ctx.episodes[0]) -# task.emit(EventEnum.ACTOR_SEND_DATA.format(player=job.launch_player), actor_data) -# ctx.episodes = [] -# time_end = time.time() -# self.collect_time[job.launch_player] += time_end - time_begin -# total_collect_speed = ctx.total_envstep_count / self.collect_time[job.launch_player] if self.collect_time[ -# job.launch_player] != 0 else 0 -# envstep_passed = ctx.total_envstep_count - old_envstep -# real_time_speed = envstep_passed / (time_end - time_begin) -# log_every_sec( -# logging.INFO, 5, -# '[Actor {}] total_env_step:{}, current job env_step: {}, total_collect_speed: {} env_step/s, real-time collect speed: {} env_step/s' -# .format( -# task.router.node_id, ctx.total_envstep_count, ctx.env_step, total_collect_speed, real_time_speed -# ) -# ) - -# if ctx.job_finish is True: -# job.result = [e['result'] for e in ctx.episode_info[0]] -# task.emit(EventEnum.ACTOR_FINISH_JOB, job) -# ctx.episode_info = [[] for _ in range(self.agent_num)] -# break +#TODO: EpisodeLeagueActor \ No newline at end of file diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py index 7466e27b9b..3cf3bc12d6 100644 --- a/ding/framework/middleware/tests/test_handle_step_exception.py +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -1,6 +1,6 @@ from ding.framework.context import BattleContext from ding.framework.middleware.functional.collector import BattleTransitionList -from ding.framework.middleware.functional import battle_rolloutor_for_distar +from ding.framework.middleware.functional import battle_rolloutor import pytest from unittest.mock import Mock from ding.envs import BaseEnvTimestep @@ -41,7 +41,7 @@ def test_handle_step_exception(): ctx.actions = {0: {}} ctx.obs = {0: {0: {}}} - rolloutor = battle_rolloutor_for_distar(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list, model_info_dict=None) + rolloutor = battle_rolloutor(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list, model_info_dict=None) rolloutor(ctx) assert len(transitions_list[0]._transitions[0]) == 0 diff --git a/ding/framework/middleware/tests/test_league_actor.py b/ding/framework/middleware/tests/test_league_actor.py index 71d4b53425..3cd005530c 100644 --- a/ding/framework/middleware/tests/test_league_actor.py +++ b/ding/framework/middleware/tests/test_league_actor.py @@ -5,7 +5,7 @@ from ding.framework.context import BattleContext from ding.framework.middleware.league_learner_communicator import LearnerModel from ding.framework.middleware.tests.mock_for_test import league_cfg -from ding.framework.middleware import LeagueActor, StepLeagueActor +from ding.framework.middleware import StepLeagueActor from ding.framework.middleware.functional import ActorData from ding.league.player import PlayerMeta from ding.framework.storage import FileStorage @@ -20,8 +20,8 @@ def prepare_test(): - global cfg - cfg = deepcopy(cfg) + global league_cfg + cfg = deepcopy(league_cfg) def env_fn(): env = BaseEnvManager( @@ -51,7 +51,7 @@ def _main(): ACTOR_ID = 0 with task.start(async_mode=True, ctx=BattleContext()): - league_actor = LeagueActor(cfg, env_fn, policy_fn) + league_actor = StepLeagueActor(cfg, env_fn, policy_fn) def test_actor(): testcases = { @@ -106,7 +106,3 @@ def _test_actor(ctx): @pytest.mark.unittest def test_league_actor(): Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) - - -if __name__ == '__main__': - Parallel.runner(n_parallel_workers=2, protocol="tcp", topology="mesh")(_main) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 8abe2599df..429ebde796 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -72,3 +72,6 @@ def _main(): @pytest.mark.unittest def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) + +if __name__ == "__main__": + test_coordinator() diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py index 6399ad09a4..f41dcb55c0 100644 --- a/ding/framework/middleware/tests/test_league_learner_communicator.py +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -127,5 +127,5 @@ def _main(): @pytest.mark.unittest -def test_league_learner(): +def test_league_learner_communicator(): Parallel.runner(n_parallel_workers=3, protocol="tcp", topology="mesh")(_main) From 9af816867445e24b48503d35419e189036bb3143 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 07:26:51 +0000 Subject: [PATCH 217/229] remove one todo --- ding/framework/middleware/functional/collector.py | 1 - 1 file changed, 1 deletion(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index aa9570e2ce..d19f6b1d83 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -64,7 +64,6 @@ def __init__(self, env_num: int, unroll_len: int, last_step_fn: Callable = None) self._done_episode = [deque() for _ in range(env_num)] self._unroll_len = unroll_len self._last_step_fn = last_step_fn - # TODO(zms): last transition + 1 def get_env_trajectories(self, env_id: int, only_finished: bool = False) -> List[List]: trajectories = [] From 6221024640eb1bf48ea2525d3c22ac49a25ded33 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 07:46:54 +0000 Subject: [PATCH 218/229] reformat --- ding/framework/middleware/collector.py | 6 ++++-- .../framework/middleware/functional/collector.py | 4 ++-- ding/framework/middleware/functional/trainer.py | 1 + ding/framework/middleware/league_actor.py | 11 +++++------ ding/framework/middleware/league_coordinator.py | 2 +- .../tests/test_handle_step_exception.py | 4 +++- .../middleware/tests/test_league_coordinator.py | 1 + .../tests/test_league_learner_communicator.py | 16 ++++++---------- ding/torch_utils/network/transformer.py | 6 ++++-- 9 files changed, 27 insertions(+), 24 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index b2f1494cca..50cf496b9d 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -161,7 +161,7 @@ def __del__(self) -> None: def _update_policies(self, player_id_set) -> None: for player_id in player_id_set: - # for this player, if in the beginning of actor's lifetime, + # for this player, if in the beginning of actor's lifetime, # actor didn't recieve any new model, use initial model instead. if self.model_info_dict.get(player_id) is None: self.model_info_dict[player_id] = PlayerModelInfo( @@ -174,7 +174,9 @@ def _update_policies(self, player_id_set) -> None: update_player_id_set.add(player_id) while True: time_now = time.time() - time_list = [time_now - self.model_info_dict[player_id].get_new_model_time for player_id in update_player_id_set] + time_list = [ + time_now - self.model_info_dict[player_id].get_new_model_time for player_id in update_player_id_set + ] if any(x >= WAIT_MODEL_TIME for x in time_list): for index, player_id in enumerate(update_player_id_set): if time_list[index] >= WAIT_MODEL_TIME: diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index d19f6b1d83..dfa8e58018 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -303,7 +303,7 @@ def _battle_rolloutor(ctx: "BattleContext"): transitions_list[policy_id].clear_newest_episode(env_id, before_append=True) policy.reset([env_id]) continue - + episode_long_enough = True for policy_id, policy in enumerate(ctx.current_policies): policy_timestep_data = [d[policy_id] if not isinstance(d, bool) else d for d in timestep] @@ -315,7 +315,7 @@ def _battle_rolloutor(ctx: "BattleContext"): transition.collect_train_iter = ttorch.as_tensor( [model_info_dict[ctx.player_id_list[policy_id]].update_train_iter] ) - + episode_long_enough = episode_long_enough and transitions_list[policy_id].append(env_id, transition) if timestep.done: diff --git a/ding/framework/middleware/functional/trainer.py b/ding/framework/middleware/functional/trainer.py index a54c9c0a83..2965a6dcaf 100644 --- a/ding/framework/middleware/functional/trainer.py +++ b/ding/framework/middleware/functional/trainer.py @@ -8,6 +8,7 @@ if TYPE_CHECKING: from ding.framework import OnlineRLContext, OfflineRLContext, BattleContext + def trainer(cfg: EasyDict, policy: Policy) -> Callable: """ Overview: diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index f582ed9a03..61afb03583 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -136,9 +136,7 @@ def _get_current_policies(self, job): if player.player_id == job.launch_player: main_player = player assert main_player, "[Actor {}] cannot find active player.".format(task.router.node_id) - assert current_policies, "[Actor {}] current_policies should not be None".format( - task.router.node_id - ) + assert current_policies, "[Actor {}] current_policies should not be None".format(task.router.node_id) return main_player, current_policies @@ -151,7 +149,7 @@ def __call__(self, ctx: "BattleContext"): log_every_sec( logging.INFO, 5, '[Actor {}] job of player {} begins.'.format(task.router.node_id, job.launch_player) ) - + ctx.player_id_list = [player.player_id for player in job.players] main_player_idx = [idx for idx, player in enumerate(job.players) if player.player_id == job.launch_player] self.agent_num = len(job.players) @@ -212,7 +210,7 @@ def __call__(self, ctx: "BattleContext"): ctx.episode_info = [[] for _ in range(self.agent_num)] logging.info('[Actor {}] job finish, send job\n'.format(task.router.node_id)) break - + self.total_episode_num += ctx.env_episode logging.info( '[Actor {}] finish {} episodes till now, speed is {} episode/s'.format( @@ -225,4 +223,5 @@ def __call__(self, ctx: "BattleContext"): ) ) -#TODO: EpisodeLeagueActor \ No newline at end of file + +#TODO: EpisodeLeagueActor diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 95b5ada20b..d4a9f1e4d1 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -63,7 +63,7 @@ def _on_actor_job(self, job: "Job"): self._last_collect_time = time() if self._total_collect_time is None: self._total_collect_time = 0 - + self._total_recv_jobs += 1 old_time = self._last_collect_time self._last_collect_time = time() diff --git a/ding/framework/middleware/tests/test_handle_step_exception.py b/ding/framework/middleware/tests/test_handle_step_exception.py index 3cf3bc12d6..240f280be4 100644 --- a/ding/framework/middleware/tests/test_handle_step_exception.py +++ b/ding/framework/middleware/tests/test_handle_step_exception.py @@ -41,7 +41,9 @@ def test_handle_step_exception(): ctx.actions = {0: {}} ctx.obs = {0: {0: {}}} - rolloutor = battle_rolloutor(cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list, model_info_dict=None) + rolloutor = battle_rolloutor( + cfg=EasyDict(), env=MockEnvManager(), transitions_list=transitions_list, model_info_dict=None + ) rolloutor(ctx) assert len(transitions_list[0]._transitions[0]) == 0 diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index 429ebde796..ceb34770ad 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -73,5 +73,6 @@ def _main(): def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) + if __name__ == "__main__": test_coordinator() diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py index f41dcb55c0..56b5b07d28 100644 --- a/ding/framework/middleware/tests/test_league_learner_communicator.py +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -20,6 +20,7 @@ PLAYER_ID = "test_player" + def prepare_test(): global league_cfg cfg = deepcopy(league_cfg) @@ -42,7 +43,7 @@ class MockFileStorage: def __init__(self, path: str) -> None: self.path = path - + def save(self, data: Any) -> bool: assert isinstance(data, dict) @@ -59,15 +60,12 @@ def is_trained_enough(self) -> bool: def coordinator_mocker(): - test_cases = { - "on_learner_meta": False - } + test_cases = {"on_learner_meta": False} def on_learner_meta(player_meta): assert player_meta.player_id == PLAYER_ID test_cases["on_learner_meta"] = True - task.on(EventEnum.LEARNER_SEND_META.format(player=PLAYER_ID), on_learner_meta) def _coordinator_mocker(ctx): @@ -79,15 +77,13 @@ def _coordinator_mocker(ctx): def actor_mocker(): - test_cases = { - "on_learner_model": False - } + test_cases = {"on_learner_model": False} def on_learner_model(learner_model): assert isinstance(learner_model, LearnerModel) assert learner_model.player_id == PLAYER_ID test_cases["on_learner_model"] = True - + task.on(EventEnum.LEARNER_SEND_MODEL.format(player=PLAYER_ID), on_learner_model) def _actor_mocker(ctx): @@ -98,7 +94,7 @@ def _actor_mocker(ctx): data = [] actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) - + sleep(0.8) assert all(test_cases.values()) diff --git a/ding/torch_utils/network/transformer.py b/ding/torch_utils/network/transformer.py index 49e0a67a2f..f7f31653c9 100644 --- a/ding/torch_utils/network/transformer.py +++ b/ding/torch_utils/network/transformer.py @@ -169,7 +169,7 @@ def __init__( layer_num: int = 3, dropout_ratio: float = 0., activation: nn.Module = nn.ReLU(), - ln_type = 'pre' + ln_type='pre' ): r""" Overview: @@ -193,7 +193,9 @@ def __init__( self.dropout = nn.Dropout(dropout_ratio) for i in range(layer_num): layers.append( - TransformerLayer(dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act, ln_type) + TransformerLayer( + dims[i], head_dim, hidden_dim, dims[i + 1], head_num, mlp_num, self.dropout, self.act, ln_type + ) ) self.main = nn.Sequential(*layers) From 16281d9068d05aeb68e5e6b8bfcff56d19eddb05 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 08:19:42 +0000 Subject: [PATCH 219/229] reformat --- ding/framework/middleware/functional/collector.py | 12 +++++++----- ding/framework/middleware/league_coordinator.py | 3 ++- ding/framework/middleware/tests/test_collector.py | 1 - .../tests/test_league_learner_communicator.py | 2 +- ding/league/player.py | 2 +- ding/rl_utils/__init__.py | 1 - ding/torch_utils/network/nn_module.py | 1 - 7 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index dfa8e58018..d4918a2f6f 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -102,9 +102,10 @@ def to_trajectories(self, only_finished: bool = False) -> List[ActorEnvTrajector def _cut_trajectory_from_episode(self, episode: list) -> List[List]: # first we cut complete trajectories (list of transitions whose length equal to unroll_len) - # then we gather the transitions in the tail of episode, and fill up the trajectory with the tail transitions in Trajectory(t-1) - # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, we fill up the trajectory - # with the first element of episode. + # then we gather the transitions in the tail of episode, + # and fill up the trajectory with the tail transitions in Trajectory(t-1) + # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, + # we fill up the trajectory with the first element of episode. return_episode = [] i = 0 num_complele_trajectory, num_tail_transitions = divmod(len(episode), self._unroll_len) @@ -137,7 +138,7 @@ def clear_newest_episode(self, env_id: int, before_append=False) -> None: # If call this method before append, and the last episode of this env is done, # it means that the env had some error at the first step of the newest episode, # and we should not delete the last episode because it is a normal episode. - if before_append == True and len(self._done_episode[env_id]) > 0 and self._done_episode[env_id][-1] == True: + if before_append is True and len(self._done_episode[env_id]) > 0 and self._done_episode[env_id][-1] == True: return 0 if len(self._transitions[env_id]) > 0: newest_episode = self._transitions[env_id].pop() @@ -158,7 +159,8 @@ def append(self, env_id: int, transition: Any) -> bool: self._done_episode[env_id][-1] = True if len(self._transitions[env_id][-1]) < self._unroll_len: logging.warning( - 'The length of the newest finished episode in node {}, env {}, is {}, which is shorter than unroll_len: {}, and need to be dropped' + 'The length of the newest finished episode in node {}, env {}, is {}, '\ + 'which is shorter than unroll_len: {}, and need to be dropped' .format(task.router.node_id, env_id, len(self._transitions[env_id][-1]), self._unroll_len) ) return False diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index d4a9f1e4d1..206aff2a01 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -69,7 +69,8 @@ def _on_actor_job(self, job: "Job"): self._last_collect_time = time() self._total_collect_time += self._last_collect_time - old_time logging.info( - "[Coordinator {}] recieve actor finished job, player {}, recieve {} jobs in total, collect job speed is {} s/job" + "[Coordinator {}] recieve finished job of player {}, "\ + "recieve {} jobs in total, collect job speed is {} s/job" .format( task.router.node_id, job.launch_player, self._total_recv_jobs, self._total_collect_time / self._total_recv_jobs diff --git a/ding/framework/middleware/tests/test_collector.py b/ding/framework/middleware/tests/test_collector.py index 81cd1db608..bfb1eaf9e0 100644 --- a/ding/framework/middleware/tests/test_collector.py +++ b/ding/framework/middleware/tests/test_collector.py @@ -8,7 +8,6 @@ from ding.framework.middleware.tests import MockPolicy, MockEnv, CONFIG from ding.framework.middleware import BattleTransitionList from easydict import EasyDict -import copy @pytest.mark.unittest diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py index 56b5b07d28..7769f91cc3 100644 --- a/ding/framework/middleware/tests/test_league_learner_communicator.py +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -12,7 +12,7 @@ from ding.framework import EventEnum from ding.framework.task import task, Parallel from ding.framework.middleware import LeagueLearnerCommunicator, LearnerModel -from ding.framework.middleware.functional.actor_data import * +from ding.framework.middleware.functional.actor_data import ActorData, ActorDataMeta, ActorEnvTrajectories from ding.framework.middleware.tests.mock_for_test import league_cfg from ding.model import VAC diff --git a/ding/league/player.py b/ding/league/player.py index 61b1916a9a..7e2e031be2 100644 --- a/ding/league/player.py +++ b/ding/league/player.py @@ -369,4 +369,4 @@ def create_player(cfg: EasyDict, player_type: str, *args, **kwargs) -> Player: player_mapping's values """ import_module(cfg.get('import_names', [])) - return PLAYER_REGISTRY.build(player_type, *args, **kwargs) \ No newline at end of file + return PLAYER_REGISTRY.build(player_type, *args, **kwargs) diff --git a/ding/rl_utils/__init__.py b/ding/rl_utils/__init__.py index f0eb990a52..673ce2da19 100644 --- a/ding/rl_utils/__init__.py +++ b/ding/rl_utils/__init__.py @@ -12,7 +12,6 @@ fqf_nstep_td_data, fqf_nstep_td_error, fqf_calculate_fraction_loss, evaluate_quantile_at_action, \ q_nstep_sql_td_error, dqfd_nstep_td_error, dqfd_nstep_td_data, q_v_1step_td_error, q_v_1step_td_data,\ dqfd_nstep_td_error_with_rescale, discount_cumsum -from .vtrace import vtrace_loss, compute_importance_weights from .upgo import upgo_data, upgo_error from .adder import get_gae, get_gae_with_default_last_value, get_nstep_return_data, get_train_sample from .value_rescale import value_transform, value_inv_transform diff --git a/ding/torch_utils/network/nn_module.py b/ding/torch_utils/network/nn_module.py index 833262a697..719607d3ed 100644 --- a/ding/torch_utils/network/nn_module.py +++ b/ding/torch_utils/network/nn_module.py @@ -4,7 +4,6 @@ import torch.nn as nn import torch.nn.functional as F from torch.nn.init import xavier_normal_, kaiming_normal_, orthogonal_ -from typing import Union, Tuple, List, Callable from ding.compatibility import torch_ge_131 from .normalization import build_normalization From fb83c8e4ec5716c9ae80c35d926e72d4707bd026 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 08:37:51 +0000 Subject: [PATCH 220/229] fix bug --- ding/framework/middleware/league_coordinator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ding/framework/middleware/league_coordinator.py b/ding/framework/middleware/league_coordinator.py index 206aff2a01..209de2f267 100644 --- a/ding/framework/middleware/league_coordinator.py +++ b/ding/framework/middleware/league_coordinator.py @@ -69,7 +69,7 @@ def _on_actor_job(self, job: "Job"): self._last_collect_time = time() self._total_collect_time += self._last_collect_time - old_time logging.info( - "[Coordinator {}] recieve finished job of player {}, "\ + "[Coordinator {}] recieve finished job of player {}, "\ "recieve {} jobs in total, collect job speed is {} s/job" .format( task.router.node_id, job.launch_player, self._total_recv_jobs, From bc7b47785bf801d21cafa80b8121057772c10d79 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 09:27:11 +0000 Subject: [PATCH 221/229] reformat; add last_step_fn in entry of LeagueActor and BattleStepCollector --- ding/framework/middleware/collector.py | 15 +++++++++++---- ding/framework/middleware/functional/collector.py | 4 ++-- ding/framework/middleware/league_actor.py | 5 +++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/ding/framework/middleware/collector.py b/ding/framework/middleware/collector.py index 50cf496b9d..8d16000bef 100644 --- a/ding/framework/middleware/collector.py +++ b/ding/framework/middleware/collector.py @@ -1,5 +1,5 @@ from easydict import EasyDict -from typing import Dict, TYPE_CHECKING +from typing import Dict, TYPE_CHECKING, Callable import time from ditk import logging @@ -124,8 +124,15 @@ def __call__(self, ctx: "OnlineRLContext") -> None: class BattleStepCollector: def __init__( - self, cfg: EasyDict, env: BaseEnvManager, unroll_len: int, model_dict: Dict, model_info_dict: Dict, - player_policy_collect_dict: Dict, agent_num: int + self, + cfg: EasyDict, + env: BaseEnvManager, + unroll_len: int, + model_dict: Dict, + model_info_dict: Dict, + player_policy_collect_dict: Dict, + agent_num: int, + last_step_fn: Callable = None ): self.cfg = cfg self.end_flag = False @@ -142,7 +149,7 @@ def __init__( self._battle_inferencer = task.wrap(battle_inferencer(self.cfg, self.env)) self._transitions_list = [ - BattleTransitionList(self.env.env_num, self.unroll_len) for _ in range(self.agent_num) + BattleTransitionList(self.env.env_num, self.unroll_len, last_step_fn) for _ in range(self.agent_num) ] self._battle_rolloutor = task.wrap( battle_rolloutor(self.cfg, self.env, self._transitions_list, self.model_info_dict) diff --git a/ding/framework/middleware/functional/collector.py b/ding/framework/middleware/functional/collector.py index d4918a2f6f..ab59b3c02b 100644 --- a/ding/framework/middleware/functional/collector.py +++ b/ding/framework/middleware/functional/collector.py @@ -102,9 +102,9 @@ def to_trajectories(self, only_finished: bool = False) -> List[ActorEnvTrajector def _cut_trajectory_from_episode(self, episode: list) -> List[List]: # first we cut complete trajectories (list of transitions whose length equal to unroll_len) - # then we gather the transitions in the tail of episode, + # then we gather the transitions in the tail of episode, # and fill up the trajectory with the tail transitions in Trajectory(t-1) - # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, + # If we don't have Trajectory(t-1), i.e. the length of the whole episode is smaller than unroll_len, # we fill up the trajectory with the first element of episode. return_episode = [] i = 0 diff --git a/ding/framework/middleware/league_actor.py b/ding/framework/middleware/league_actor.py index 61afb03583..84b0832157 100644 --- a/ding/framework/middleware/league_actor.py +++ b/ding/framework/middleware/league_actor.py @@ -22,7 +22,7 @@ class StepLeagueActor: - def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): + def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable, last_step_fn: Callable = None): self.cfg = cfg self.env_fn = env_fn self.env_num = env_fn().env_num @@ -40,6 +40,7 @@ def __init__(self, cfg: EasyDict, env_fn: Callable, policy_fn: Callable): self.model_dict_lock = Lock() self.model_info_dict = {} self.agent_num = 2 + self.last_step_fn = last_step_fn self.traj_num = 0 self.total_time = 0 @@ -76,7 +77,7 @@ def _get_collector(self, player_id: str): collector = task.wrap( BattleStepCollector( cfg.policy.collect.collector, env, self.unroll_len, self.model_dict, self.model_info_dict, - self.player_policy_collect_dict, self.agent_num + self.player_policy_collect_dict, self.agent_num, self.last_step_fn ) ) self._collectors[player_id] = collector From 7fc8354b263bc4592f233f329418a2b2d0be69c7 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 26 Aug 2022 09:44:25 +0000 Subject: [PATCH 222/229] update tests --- ding/framework/middleware/tests/test_league_coordinator.py | 6 +----- .../middleware/tests/test_league_learner_communicator.py | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/ding/framework/middleware/tests/test_league_coordinator.py b/ding/framework/middleware/tests/test_league_coordinator.py index ceb34770ad..fee2713850 100644 --- a/ding/framework/middleware/tests/test_league_coordinator.py +++ b/ding/framework/middleware/tests/test_league_coordinator.py @@ -51,7 +51,7 @@ def _main(): ) for _ in range(3): task.emit(EventEnum.ACTOR_GREETING, task.router.node_id) - time.sleep(3) + time.sleep(5) assert task.router.node_id == res[-1].actor_id elif task.router.node_id == 2: # test LEARNER_SEND_META @@ -72,7 +72,3 @@ def _main(): @pytest.mark.unittest def test_coordinator(): Parallel.runner(n_parallel_workers=4, protocol="tcp", topology="star")(_main) - - -if __name__ == "__main__": - test_coordinator() diff --git a/ding/framework/middleware/tests/test_league_learner_communicator.py b/ding/framework/middleware/tests/test_league_learner_communicator.py index 7769f91cc3..7207eb3c14 100644 --- a/ding/framework/middleware/tests/test_league_learner_communicator.py +++ b/ding/framework/middleware/tests/test_league_learner_communicator.py @@ -116,10 +116,9 @@ def _main(): with patch("ding.framework.storage.FileStorage", MockFileStorage): learner_communicator = LeagueLearnerCommunicator(cfg, policy.learn_mode, player) sleep(0.5) - assert len(learner_communicator._cache) == 10 task.use(learner_communicator) sleep(0.1) - task.run(max_step=1) + task.run(max_step=5) @pytest.mark.unittest From 3e0121395b92491360bb912a9ac3724645281985 Mon Sep 17 00:00:00 2001 From: zhumengshen Date: Fri, 2 Sep 2022 08:42:32 +0000 Subject: [PATCH 223/229] delete useless files --- ding/rl_utils/steve.py | 74 ------------------------------------- ding/rl_utils/test_steve.py | 42 --------------------- 2 files changed, 116 deletions(-) delete mode 100644 ding/rl_utils/steve.py delete mode 100644 ding/rl_utils/test_steve.py diff --git a/ding/rl_utils/steve.py b/ding/rl_utils/steve.py deleted file mode 100644 index 23077bda63..0000000000 --- a/ding/rl_utils/steve.py +++ /dev/null @@ -1,74 +0,0 @@ -from typing import List, Callable -import torch - - -def steve_target( - obs, reward, done, q_fn, rew_fn, policy_fn, transition_fn, done_fn, rollout_step, discount_factor, ensemble_num -) -> torch.Tensor: - """ - Shapes: - - obs (:obj:`torch.Tensor`): :math:`(B, N1)`, where N1 is obs shape - - reward (:obj:`torch.Tensor`): :math:`(B, )` - - done (:obj:`torch.Tensor`): :math:`(B, )` - - return_ (:obj:`torch.Tensor`): :math:`(B, )` - """ - # tile first data - ensemble_q_num, ensemble_r_num, ensemble_d_num = ensemble_num - obs = obs.unsqueeze(1).repeat(1, ensemble_q_num, 1) - reward = reward.unsqueeze(1).repeat(1, ensemble_r_num) - done = done.unsqueeze(1).repeat(1, ensemble_d_num) - - with torch.no_grad(): - device = reward.device - # real data - action = policy_fn(obs) - q_value = q_fn(obs, action) - q_list, r_list, d_list = [q_value], [reward], [done] - # imagination data - for i in range(rollout_step): - next_obs = transition_fn(obs, action) - reward = rew_fn(obs, action, next_obs) - done = done_fn(obs, action, next_obs) - obs = next_obs - action = policy_fn(obs) - q_value = q_fn(obs, action) - - q_list.append(q_value) - r_list.append(reward) - d_list.append(done) - - q_value = torch.stack(q_list, dim=1) # B, H, M - reward = torch.stack(r_list, dim=1) # B, H, N - done = torch.stack(d_list, dim=1) # B, H, L - - H = rollout_step + 1 - - time_factor = torch.full((1, H), discount_factor).to(device) ** torch.arange(float(H)) - upper_tri = torch.triu(torch.randn(H, H)).to(device) - reward_coeff = (upper_tri * time_factor).unsqueeze(0).unsqueeze(-1).unsqueeze(-1) # 1, H, H, 1, 1 - value_coeff = (time_factor ** discount_factor).unsqueeze(-1).unsqueeze(-1) # 1, H, 1, 1 - - # (B, 1, L) cat (B, H-1, L) - reward_done = torch.cat([torch.ones_like(done[:, 0]).unsqueeze(1), torch.cumprod(done[:, :-1], dim=1)], dim=1) - reward_done = reward_done.unsqueeze(1).unsqueeze(-2) - value_done = done.unsqueeze(-2) - - # (B, 1, H, N, 1) x (1, H, H, 1, 1) x (B, 1, H, 1, L) - reward = reward.unsqueeze(1).unsqueeze(-1) * reward_coeff * reward_done - # (B, H, N, L) - cum_reward = torch.sum(reward, dim=2) # sum in the second H - # (B, H, M, 1) x (1, H, 1, 1) x (B, H, 1, L) = B, H, M, L - q_value = q_value.unsqueeze(-1) * value_coeff * value_done - # (B, H, 1, N, L) + (B, H, M, 1, L) = B, H, M, N, L - target = cum_reward.unsqueeze(-3) + q_value.unsqueeze(-2) - - target = target.view(target.shape[0], H, -1) # B, H, MxNxL - target_mean = target.mean(-1) - target_var = target.var(-1) - target_confidence = 1. / (target_var + 1e-8) # B, H - target_confidence = torch.clamp(target_confidence, 0, 100) # for some special case - # norm - target_confidence /= target_confidence.sum(dim=1, keepdim=True) - - return_ = (target_mean * target_confidence).sum(dim=1) - return return_ diff --git a/ding/rl_utils/test_steve.py b/ding/rl_utils/test_steve.py deleted file mode 100644 index acfa74f7d0..0000000000 --- a/ding/rl_utils/test_steve.py +++ /dev/null @@ -1,42 +0,0 @@ -import pytest -import torch -from .steve import steve_target - - -@pytest.mark.unittest -def test_steve_target(): - B = 2 - M, N, L = 3, 4, 5 - obs_tplus1 = torch.randn(B, 16) - reward_t = torch.randn(B, ) - done_t = torch.randint(0, 2, size=(B, )).float() - - def q_fn(obs, action): - return torch.randn(obs.shape[0], M) - - def rew_fn(obs, action, next_obs): - return torch.randn(obs.shape[0], N) - - def policy_fn(obs): - return torch.randn(obs.shape[0], ) - - def transition_fn(obs, action): - return torch.randn(obs.shape[0], L, obs.shape[1]) - - def done_fn(obs, action, next_obs): - return torch.randint(0, 2, size=(obs.shape[0], L)).float() - - return_ = steve_target( - obs_tplus1, - reward_t, - done_t, - q_fn, - rew_fn, - policy_fn, - transition_fn, - done_fn, - rollout_step=6, - discount_factor=0.99, - ensemble_num=(M, N, L) - ) - assert return_.shape == (B, ) From 0a8be2e5815806be08aa407f4541bb6881244cd5 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Thu, 22 Sep 2022 07:49:49 +0000 Subject: [PATCH 224/229] add unittest of flatten and detach_grad --- ding/torch_utils/tests/test_data_helper.py | 36 +++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/ding/torch_utils/tests/test_data_helper.py b/ding/torch_utils/tests/test_data_helper.py index 218ce59ba7..11ba45184c 100644 --- a/ding/torch_utils/tests/test_data_helper.py +++ b/ding/torch_utils/tests/test_data_helper.py @@ -6,7 +6,7 @@ from torch.utils.data import DataLoader from ding.torch_utils import CudaFetcher, to_device, to_dtype, to_tensor, to_ndarray, to_list, \ - tensor_to_list, same_shape, build_log_buffer, get_tensor_data + tensor_to_list, same_shape, build_log_buffer, get_tensor_data, detach_grad, flatten from ding.utils import EasyTimer @@ -217,3 +217,37 @@ def test_to_device_cpu(setup_data_dict): other = EasyTimer() with pytest.raises(TypeError): to_device(other) + + +@pytest.mark.unittest +def test_detach_grad(): + tensor_list = [torch.tensor(1., requires_grad=True) for _ in range(4)] + tensor_dict = {'a': torch.tensor(1., requires_grad=True), 'b': torch.tensor(2., requires_grad=True)} + assert all(t.requires_grad is True for t in tensor_list) + assert all(t.requires_grad is True for _, t in tensor_dict.items()) + tensor_list = detach_grad(tensor_list) + tensor_dict = detach_grad(tensor_dict) + assert all(t.requires_grad is False for t in tensor_list) + assert all(t.requires_grad is False for _, t in tensor_dict.items()) + + with pytest.raises(TypeError): + detach_grad(1) + + +@pytest.mark.unittest +def test_flatten(): + + def test_tensor(): + return torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) + + tensor_list = [test_tensor() for _ in range(4)] + tensor_dict = {'a': test_tensor(), 'b': test_tensor()} + assert all(t.shape == torch.Size([2, 2, 2]) for t in tensor_list) + assert all(t.shape == torch.Size([2, 2, 2]) for _, t in tensor_dict.items()) + tensor_list = flatten(tensor_list) + tensor_dict = flatten(tensor_dict) + assert all(t.shape == torch.Size([4, 2]) for t in tensor_list) + assert all(t.shape == torch.Size([4, 2]) for t in tensor_list) + + with pytest.raises(TypeError): + flatten(1) From b3d39f9247645d023764bfffdaf7f8cf3742eb8b Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Thu, 22 Sep 2022 11:09:13 +0000 Subject: [PATCH 225/229] add comments about the difference between GLU2 and GLU --- ding/torch_utils/network/activation.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/ding/torch_utils/network/activation.py b/ding/torch_utils/network/activation.py index c1a9110758..b6a6517e25 100644 --- a/ding/torch_utils/network/activation.py +++ b/ding/torch_utils/network/activation.py @@ -95,6 +95,12 @@ def build_activation(activation: str, inplace: bool = None) -> nn.Module: class GLU2(nn.Module): + r""" + Overview: + Gating Linear Unit different from GLU defined above, + Which uses fc_block instead of nn.Linear if input_type is 'fc', + and uses conv2d_block instead of nn.Conv2d if input_type is 'conv2d' + """ def __init__(self, input_dim, output_dim, context_dim, input_type='fc'): super(GLU2, self).__init__() From 4f09857375ada4094d13bb5178354a92023e6551 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Fri, 23 Sep 2022 03:26:06 +0000 Subject: [PATCH 226/229] add unittest of parameter "dim" in default_collate; remove dim from cat because it is useless --- ding/utils/data/collate_fn.py | 3 +-- ding/utils/data/tests/test_collate_fn.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/ding/utils/data/collate_fn.py b/ding/utils/data/collate_fn.py index 27262d7a5c..7f27b38491 100644 --- a/ding/utils/data/collate_fn.py +++ b/ding/utils/data/collate_fn.py @@ -84,8 +84,7 @@ def default_collate( out = elem.new(storage) if elem.shape == (1, ) and cat_1dim: # reshape (B, 1) -> (B) - return torch.cat(batch, dim, out=out) - # return torch.stack(batch, 0, out=out) + return torch.cat(batch, 0, out=out) else: return torch.stack(batch, dim, out=out) elif isinstance(elem, ttorch.Tensor): diff --git a/ding/utils/data/tests/test_collate_fn.py b/ding/utils/data/tests/test_collate_fn.py index 83611377c1..f4a1246813 100644 --- a/ding/utils/data/tests/test_collate_fn.py +++ b/ding/utils/data/tests/test_collate_fn.py @@ -104,6 +104,16 @@ def test_basic(self): data = default_collate(data) assert isinstance(data, dict) assert len(data['collate_ignore_data']) == 4 + + def test_dim_attirbute(self): + def test_tensor(): + return torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) + test_batch_tensor = [test_tensor() for _ in range(4)] + assert test_batch_tensor[0].shape == torch.Size([2,2,2]) + assert default_collate(test_batch_tensor,dim=0).shape == torch.Size([4,2,2,2]) + assert default_collate(test_batch_tensor,dim=1).shape == torch.Size([2,4,2,2]) + assert default_collate(test_batch_tensor,dim=2).shape == torch.Size([2,2,4,2]) + assert default_collate(test_batch_tensor,dim=3).shape == torch.Size([2,2,2,4]) @pytest.mark.unittest From 54ea00e6c8c66cc8e45547217e0076f5b5062874 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Fri, 23 Sep 2022 03:26:47 +0000 Subject: [PATCH 227/229] reformat --- ding/utils/data/tests/test_collate_fn.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ding/utils/data/tests/test_collate_fn.py b/ding/utils/data/tests/test_collate_fn.py index f4a1246813..97b4b96bd6 100644 --- a/ding/utils/data/tests/test_collate_fn.py +++ b/ding/utils/data/tests/test_collate_fn.py @@ -104,16 +104,18 @@ def test_basic(self): data = default_collate(data) assert isinstance(data, dict) assert len(data['collate_ignore_data']) == 4 - + def test_dim_attirbute(self): + def test_tensor(): return torch.tensor([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) + test_batch_tensor = [test_tensor() for _ in range(4)] - assert test_batch_tensor[0].shape == torch.Size([2,2,2]) - assert default_collate(test_batch_tensor,dim=0).shape == torch.Size([4,2,2,2]) - assert default_collate(test_batch_tensor,dim=1).shape == torch.Size([2,4,2,2]) - assert default_collate(test_batch_tensor,dim=2).shape == torch.Size([2,2,4,2]) - assert default_collate(test_batch_tensor,dim=3).shape == torch.Size([2,2,2,4]) + assert test_batch_tensor[0].shape == torch.Size([2, 2, 2]) + assert default_collate(test_batch_tensor, dim=0).shape == torch.Size([4, 2, 2, 2]) + assert default_collate(test_batch_tensor, dim=1).shape == torch.Size([2, 4, 2, 2]) + assert default_collate(test_batch_tensor, dim=2).shape == torch.Size([2, 2, 4, 2]) + assert default_collate(test_batch_tensor, dim=3).shape == torch.Size([2, 2, 2, 4]) @pytest.mark.unittest From ef64a7e5ce61f10af1b864c1db6f8c44bdc5513e Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Fri, 23 Sep 2022 03:29:46 +0000 Subject: [PATCH 228/229] usee pytest of test_sparse_logging --- ding/utils/tests/test_sparse_logging.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ding/utils/tests/test_sparse_logging.py b/ding/utils/tests/test_sparse_logging.py index 83294ccaa9..47b7085157 100644 --- a/ding/utils/tests/test_sparse_logging.py +++ b/ding/utils/tests/test_sparse_logging.py @@ -3,7 +3,9 @@ import time from ding.utils import log_every_n, log_every_sec -if __name__ == "__main__": + +@pytest.mark.unittest +def test_sparse_logging(): logging.getLogger().setLevel(logging.INFO) for i in range(30): log_every_n(logging.INFO, 5, "abc_{}".format(i)) From 543f1ecbd385f511236845038846ab87ddab4975 Mon Sep 17 00:00:00 2001 From: zhumengshen <744762298@qq.com> Date: Fri, 23 Sep 2022 07:33:52 +0000 Subject: [PATCH 229/229] change format of comment of sparse_logging --- ding/utils/sparse_logging.py | 68 ++++++++++++++++++++---------------- 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/ding/utils/sparse_logging.py b/ding/utils/sparse_logging.py index cd7fb20c9a..d54f77d7c5 100644 --- a/ding/utils/sparse_logging.py +++ b/ding/utils/sparse_logging.py @@ -7,12 +7,14 @@ def _get_next_log_count_per_token(token): - """Wrapper for _log_counter_per_token. Thread-safe. - Args: - token: The token for which to look up the count. + """ + Overview: + Wrapper for _log_counter_per_token. Thread-safe. + Arguments: + - token: The token for which to look up the count. Returns: - The number of times this function has been called with - *token* as an argument (starting at 0). + - ret: The number of times this function has been called + with *token* as an argument (starting at 0). """ # Can't use a defaultdict because defaultdict isn't atomic, whereas # setdefault is. @@ -20,16 +22,18 @@ def _get_next_log_count_per_token(token): def _seconds_have_elapsed(token, num_seconds): - """Tests if 'num_seconds' have passed since 'token' was requested. - Not strictly thread-safe - may log with the wrong frequency if called - concurrently from multiple threads. Accuracy depends on resolution of - 'timeit.default_timer()'. - Always returns True on the first call for a given 'token'. - Args: - token: The token for which to look up the count. - num_seconds: The number of seconds to test for. + """ + Overview: + Tests if 'num_seconds' have passed since 'token' was requested. + Not strictly thread-safe - may log with the wrong frequency if called + concurrently from multiple threads. Accuracy depends on resolution of + 'timeit.default_timer()'. + Always returns True on the first call for a given 'token'. + Arguments: + - token: The token for which to look up the count. + - num_seconds: The number of seconds to test for. Returns: - Whether it has been >= 'num_seconds' since 'token' was last requested. + - ret: Whether it has been >= 'num_seconds' since 'token' was last requested. """ now = timeit.default_timer() then = _log_timer_per_token.get(token, None) @@ -41,14 +45,16 @@ def _seconds_have_elapsed(token, num_seconds): def log_every_n(level, n, msg, *args): - """Logs 'msg % args' at level 'level' once per 'n' times. - Logs the 1st call, (N+1)st call, (2N+1)st call, etc. - Not threadsafe. - Args: - level: int, the absl logging level at which to log. - msg: str, the message to be logged. - n: int, the number of times this should be called before it is logged. - *args: The args to be substituted into the msg. + """ + Overview: + Logs 'msg % args' at level 'level' once per 'n' times. + Logs the 1st call, (N+1)st call, (2N+1)st call, etc. + Not threadsafe. + Arguments: + - level (:obj:`int`): the absl logging level at which to log. + - msg (:obj:`str`): the message to be logged. + - n (:obj:`int`): the number of times this should be called before it is logged. + - *args: The args to be substituted into the msg. """ count = _get_next_log_count_per_token(logging.getLogger().findCaller()) if count % n == 0: @@ -56,14 +62,16 @@ def log_every_n(level, n, msg, *args): def log_every_sec(level, n_seconds, msg, *args): - """Logs 'msg % args' at level 'level' iff 'n_seconds' elapsed since last call. - Logs the first call, logs subsequent calls if 'n' seconds have elapsed since - the last logging call from the same call site (file + line). Not thread-safe. - Args: - level: int, the absl logging level at which to log. - msg: str, the message to be logged. - n_seconds: float or int, seconds which should elapse before logging again. - *args: The args to be substituted into the msg. + """ + Overview: + Logs 'msg % args' at level 'level' iff 'n_seconds' elapsed since last call. + Logs the first call, logs subsequent calls if 'n' seconds have elapsed since + the last logging call from the same call site (file + line). Not thread-safe. + Arguments: + - level (:obj:`int`): the absl logging level at which to log. + - msg (:obj:`str`): the message to be logged. + - n_seconds (:obj:`Union[int, float]`): seconds which should elapse before logging again. + - *args: The args to be substituted into the msg. """ should_log = _seconds_have_elapsed(logging.getLogger().findCaller(), n_seconds) if should_log:

    >t^yk0iVjw+NE;ps8sZ$}!nd^6SJTW+$;u+P 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 literal 0 HcmV?d00001 diff --git a/ding/framework/middleware/tests/test_league_learner.py b/ding/framework/middleware/tests/test_league_learner.py index 2a8bee0d30..1d79847dac 100644 --- a/ding/framework/middleware/tests/test_league_learner.py +++ b/ding/framework/middleware/tests/test_league_learner.py @@ -15,7 +15,7 @@ from ding.framework.middleware.functional.actor_data import * from ding.framework.middleware.tests.mock_for_test import DIStarMockPolicy from ding.league.v2 import BaseLeague -from ding.utils import run_every_s +from ding.utils import log_every_sec from dizoo.distar.config import distar_cfg from dizoo.distar.envs import fake_rl_data_batch_with_last from dizoo.distar.envs.distar_env import DIStarEnv @@ -43,8 +43,8 @@ def policy_fn(): def coordinator_mocker(): - task.on(EventEnum.LEARNER_SEND_META, lambda x: run_every_s("test:", x)) - task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: run_every_s("test: send model success")) + task.on(EventEnum.LEARNER_SEND_META, lambda x: logging.info("test: {}".format(x))) + task.on(EventEnum.LEARNER_SEND_MODEL, lambda x: logging.info("test: send model success")) def _coordinator_mocker(ctx): sleep(10) @@ -63,12 +63,11 @@ def actor_mocker(league): def _actor_mocker(ctx): n_players = len(league.active_players_ids) player = league.active_players[(task.router.node_id + 2) % n_players] - run_every_s(5, "Actor: actor player:", player.player_id) + log_every_sec(logging.INFO, 5, "Actor: actor player: {}".format(player.player_id)) for _ in range(24): meta = ActorDataMeta(player_total_env_step=0, actor_id=0, send_wall_time=time.time()) data = fake_rl_data_batch_with_last() actor_data = ActorData(meta=meta, train_data=[ActorEnvTrajectories(env_id=0, trajectories=[data])]) - # actor_data = TestActorData(env_step=0, train_data=data) task.emit(EventEnum.ACTOR_SEND_DATA.format(player=player.player_id), actor_data) sleep(9) @@ -76,7 +75,7 @@ def _actor_mocker(ctx): def _main(): - logging.getLogger().setLevel(logging.DEBUG) + logging.getLogger().setLevel(logging.INFO) cfg, env_fn, policy_fn = prepare_test() league = BaseLeague(cfg.policy.other.league) n_players = len(league.active_players_ids) diff --git a/ding/utils/data/collate_fn.py b/ding/utils/data/collate_fn.py index dd41637016..a6c61f8d1b 100644 --- a/ding/utils/data/collate_fn.py +++ b/ding/utils/data/collate_fn.py @@ -7,7 +7,6 @@ from torch._six import string_classes import collections.abc as container_abcs from ding.compatibility import torch_ge_131 -from easydict import EasyDict int_classes = int np_str_obj_array_pattern = re.compile(r'[SaUO]') @@ -63,13 +62,6 @@ def default_collate( """ elem = batch[0] - # if isinstance(elem, dict): - # for key, val in elem.items(): - # if isinstance(val, torch.Tensor): - # print("{}: {}".format(key, print(val.size()))) - # elif isinstance(val, EasyDict): - # print("{}: {}".format(key, val.keys())) - elem_type = type(elem) if isinstance(batch, ttorch.Tensor): return batch.json() @@ -83,9 +75,6 @@ def default_collate( out = elem.new(storage) if elem.shape == (1, ) and cat_1dim: # reshape (B, 1) -> (B) - # print("debug:", batch) - # print("debug:", len(batch)) - # print("debug:", len(batch[0])) return torch.cat(batch, dim, out=out) # return torch.stack(batch, 0, out=out) else: diff --git a/ding/utils/log_helper.py b/ding/utils/log_helper.py index 904b0f88e7..9ba7e0cddf 100644 --- a/ding/utils/log_helper.py +++ b/ding/utils/log_helper.py @@ -1,7 +1,7 @@ import json from ditk import logging import os -from typing import Callable, Optional, Tuple, Union, Dict, Any +from typing import Optional, Tuple, Union, Dict, Any import ditk.logging import numpy as np From 723cbcc4b450e22494ce0e61f4eb3419ada99494 Mon Sep 17 00:00:00 2001 From: hiha3456 <744762298@qq.com> Date: Thu, 23 Jun 2022 19:45:42 +0800 Subject: [PATCH 158/229] remove rep --- ...81c120-f2e7-11ec-99fe-4649caa90281.SC2Replay | Bin 28538 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay diff --git a/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay b/ding/framework/middleware/tests/2022-06-23-19/KingsCove_agent1_vs_agent2_[0, 0]_2022-06-23-11-30-12_d881c120-f2e7-11ec-99fe-4649caa90281.SC2Replay deleted file mode 100644 index 5ea1a57f5f8a500ef178f23dc70f4cd7033e1b95..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28538 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